Skip to content

Commit 2abab6c

Browse files
committed
test: test http/ws trackers in magnet test
1 parent fe4a672 commit 2abab6c

File tree

1 file changed

+22
-30
lines changed

1 file changed

+22
-30
lines changed

test/client-magnet.js

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,39 @@
11
var Client = require('../')
2+
var common = require('./common')
23
var magnet = require('magnet-uri')
3-
var Server = require('../').Server
44
var test = require('tape')
55

66
var uri = 'magnet:?xt=urn:btih:d2474e86c95b19b8bcfdb92bc12c9d44667cfa36&dn=Leaves+of+Grass+by+Walt+Whitman.epub'
77
var parsedTorrent = magnet(uri)
88
var peerId = new Buffer('01234567890123456789')
99

10-
test('magnet + udp: client.start/update/stop()', function (t) {
11-
t.plan(10)
10+
function testMagnet (t, serverType) {
11+
t.plan(9)
1212

13-
var server = new Server({ http: false, ws: false })
14-
15-
server.on('error', function (err) {
16-
t.fail(err.message)
17-
})
18-
19-
server.on('warning', function (err) {
20-
t.fail(err.message)
21-
})
22-
23-
server.listen(0, function () {
24-
var port = server.udp.address().port
25-
var announceUrl = 'udp://127.0.0.1:' + port
26-
27-
// remove all tracker servers except a single UDP one
13+
common.createServer(t, serverType, function (server, announceUrl) {
2814
parsedTorrent.announce = [ announceUrl ]
2915

30-
var client = new Client(peerId, 6881, parsedTorrent)
16+
var client = new Client(peerId, 6881, parsedTorrent, { wrtc: {} })
3117

32-
client.on('error', function (err) {
33-
t.error(err)
34-
})
18+
if (serverType === 'ws') common.mockWebsocketTracker(client)
19+
client.on('error', function (err) { t.error(err) })
20+
client.on('warning', function (err) { t.error(err) })
3521

3622
client.once('update', function (data) {
3723
t.equal(data.announce, announceUrl)
3824
t.equal(typeof data.complete, 'number')
3925
t.equal(typeof data.incomplete, 'number')
40-
})
41-
42-
client.start()
43-
44-
client.once('peer', function () {
45-
t.pass('there is at least one peer')
4626

4727
client.update()
4828

4929
client.once('update', function (data) {
50-
// receive one final update after calling stop
5130
t.equal(data.announce, announceUrl)
5231
t.equal(typeof data.complete, 'number')
5332
t.equal(typeof data.incomplete, 'number')
5433

5534
client.stop()
5635

5736
client.once('update', function (data) {
58-
// received an update!
5937
t.equal(data.announce, announceUrl)
6038
t.equal(typeof data.complete, 'number')
6139
t.equal(typeof data.incomplete, 'number')
@@ -65,5 +43,19 @@ test('magnet + udp: client.start/update/stop()', function (t) {
6543
})
6644
})
6745
})
46+
47+
client.start()
6848
})
49+
}
50+
51+
test('http: magnet: client.start/update/stop()', function (t) {
52+
testMagnet(t, 'http')
53+
})
54+
55+
test('udp: magnet: client.start/update/stop()', function (t) {
56+
testMagnet(t, 'udp')
57+
})
58+
59+
test('ws: magnet: client.start/update/stop()', function (t) {
60+
testMagnet(t, 'ws')
6961
})

0 commit comments

Comments
 (0)