Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDC <dcposch@dcpos.ch>2016-09-15 08:37:59 +0300
committerDC <dcposch@dcpos.ch>2016-09-17 13:13:17 +0300
commit79484a5280a37221a6a31c3b1ea000dd52e77b40 (patch)
treedcc61aee4af5ec72f96debd29aeb27a4a8cd6cec /test
parent5bdc78c49c898bf0e35cdf8c3845a4e9017c9c23 (diff)
Test option to disable web seeds
Diffstat (limited to 'test')
-rw-r--r--test/node/download-webseed-torrent.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/node/download-webseed-torrent.js b/test/node/download-webseed-torrent.js
index 4c23319..39bec56 100644
--- a/test/node/download-webseed-torrent.js
+++ b/test/node/download-webseed-torrent.js
@@ -9,8 +9,12 @@ var serveStatic = require('serve-static')
var test = require('tape')
var WebTorrent = require('../../')
+// it should be fast to download a small torrent over local HTTP
+var WEB_SEED_TIMEOUT_MS = 500
+
test('Download using webseed (via .torrent file)', function (t) {
t.plan(6)
+ t.timeoutAfter(WEB_SEED_TIMEOUT_MS)
var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
@@ -72,3 +76,46 @@ test('Download using webseed (via .torrent file)', function (t) {
})
})
})
+
+test('Disable webseeds', function (t) {
+ var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
+
+ var httpServer = http.createServer(function (req, res) {
+ t.fail('webseed http server should not get any requests')
+ })
+ var client
+
+ httpServer.on('error', function (err) { t.fail(err) })
+
+ series([
+ function (cb) {
+ httpServer.listen(cb)
+ },
+
+ function (cb) {
+ parsedTorrent.urlList = [
+ 'http://localhost:' + httpServer.address().port + '/' + fixtures.leaves.parsedTorrent.name
+ ]
+
+ client = new WebTorrent({ dht: false, tracker: false, webSeeds: false })
+
+ client.on('error', function (err) { t.fail(err) })
+ client.on('warning', function (err) { t.fail(err) })
+
+ client.add(parsedTorrent, {store: MemoryChunkStore})
+
+ // The test above ensures that we can download the whole torrent over webseeds within a
+ // short time. Here, we wait the same amount of time and make sure no HTTP requests happen.
+ setTimeout(cb, WEB_SEED_TIMEOUT_MS)
+ }
+ ], function (err) {
+ t.error(err)
+ client.destroy(function (err) {
+ t.error(err, 'client destroyed')
+ })
+ httpServer.close(function () {
+ t.pass('http server closed')
+ t.end()
+ })
+ })
+})