diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2014-10-22 09:59:43 +0400 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2014-10-22 09:59:43 +0400 |
commit | f5e70ef4ef248149298c6498c48cb0dfad34cd9b (patch) | |
tree | b0392c464be991ae4f257c5dbf5fc0eaa4cd9414 /test/server.js | |
parent | 3211e141863ecfe641f4412312b4c7193e066990 (diff) |
Add failing test for programmatic torrent http server
Diffstat (limited to 'test/server.js')
-rw-r--r-- | test/server.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/server.js b/test/server.js new file mode 100644 index 0000000..27239d5 --- /dev/null +++ b/test/server.js @@ -0,0 +1,37 @@ +var concat = require('concat-stream') +var fs = require('fs') +var http = require('http') +var portfinder = require('portfinder') +var test = require('tape') +var WebTorrent = require('../') + +var leavesFile = __dirname + '/torrents/Leaves of Grass by Walt Whitman.epub' +var leavesTorrent = fs.readFileSync(__dirname + '/torrents/leaves.torrent') + +test('start http server programmatically', function (t) { + var client = new WebTorrent() + var torrent = client.add(leavesTorrent, { dht: false, tracker: false }, function (torrent) { + portfinder.getPort(function (err, port) { + if (err) throw err + + // create HTTP server for this torrent + var server = torrent.createServer() + server.listen(port) + + http.get('http://localhost:' + port + '/0', function (res) { + res.pipe(concat(function (data) { + + // Verify data for first (and only file) + t.deepEqual(data, fs.readFileSync(leavesFile)) + + server.close() + client.destroy() + t.end() + })) + }) + }) + }) + torrent.on('ready', function () { + torrent.storage.load(fs.createReadStream(leavesFile)) + }) +}) |