diff options
author | Feross Aboukhadijeh <feross@feross.org> | 2015-12-10 09:01:17 +0300 |
---|---|---|
committer | Feross Aboukhadijeh <feross@feross.org> | 2015-12-17 14:39:55 +0300 |
commit | 992caf9650a1f6821006387dfaf58f4004b17005 (patch) | |
tree | 7efa92e544da1317d85b38bb693480d384497af2 /test | |
parent | 4d6fa88a9ec5731fb649d14490123b0e421caa74 (diff) |
improve torrent.createServer() test
- check that index page works
- wait for destroy
Diffstat (limited to 'test')
-rw-r--r-- | test/server.js | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/test/server.js b/test/server.js index dfa1730..bc82cdc 100644 --- a/test/server.js +++ b/test/server.js @@ -1,41 +1,49 @@ -var path = require('path') var fs = require('fs') var get = require('simple-get') +var path = require('path') var test = require('tape') var WebTorrent = require('../') var leavesPath = path.resolve(__dirname, 'content', 'Leaves of Grass by Walt Whitman.epub') var leavesTorrent = fs.readFileSync(path.resolve(__dirname, 'torrents', 'leaves.torrent')) -test('start http server programmatically', function (t) { - t.plan(4) +test('torrent.createServer(): programmatic http server', function (t) { + t.plan(9) var client = new WebTorrent({ tracker: false, dht: false }) - client.on('error', function (err) { t.fail(err) }) client.on('warning', function (err) { t.fail(err) }) - var torrent = client.add(leavesTorrent, { dht: false, tracker: false }, function (torrent) { + client.add(leavesTorrent, function (torrent) { t.pass('got "torrent" event') - var server = torrent.createServer() + server.listen(0, function () { - t.pass('server is listening') var port = server.address().port - get.concat('http://localhost:' + port + '/0', function (err, data) { - if (err) throw err - // Verify data for first (and only file) - t.deepEqual(data, fs.readFileSync(leavesPath)) + t.pass('server is listening on ' + port) - server.close() - client.destroy() + // Seeding after server is created should work + torrent.load(fs.createReadStream(leavesPath), function (err) { + t.error(err, 'loaded seed content into torrent') + }) + + var host = 'http://localhost:' + port + + // Index page should list files in the torrent + get.concat(host + '/', function (err, data) { + t.error(err) + data = data.toString() + t.ok(data.indexOf('Leaves of Grass by Walt Whitman.epub') !== -1) + + // Verify file content for first (and only) file + get.concat(host + '/0', function (err, data) { + t.error(err) + t.deepEqual(data, fs.readFileSync(leavesPath)) + + server.close(function () { t.pass('server closed') }) + client.destroy(function () { t.pass('client destroyed') }) + }) }) - }) - }) - torrent.on('ready', function () { - torrent.load(fs.createReadStream(leavesPath), function (err) { - if (err) throw err - t.pass('loaded seed content into torrent') }) }) }) |