Skip to content

Commit 0c683df

Browse files
committed
test: change request handler test to new approach
1 parent 51b57f6 commit 0c683df

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

test/request-handler.js

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,33 @@ var Client = require('../')
33
var common = require('./common')
44
var fixtures = require('webtorrent-fixtures')
55
var test = require('tape')
6+
var Server = require('../server')
67

78
var peerId = Buffer.from('01234567890123456789')
89

910
function testRequestHandler (t, serverType) {
10-
t.plan(4)
11+
t.plan(5)
1112

1213
var opts = { serverType: serverType } // this is test-suite-only option
13-
opts.requestHandler = {
14-
getParams: function (params) {
15-
params.extra = 123
16-
return params
17-
},
18-
getResponse: function (params, cb) {
19-
return function (err, response) {
20-
response.complete = params.extra * 2
21-
cb(err, response)
22-
}
14+
15+
class Swarm extends Server.Swarm {
16+
announce (params, cb) {
17+
super.announce(params, function (err, response) {
18+
if (err) return cb(response)
19+
response.complete = 246
20+
response.extraData = 'hi'
21+
cb(null, response)
22+
})
2323
}
2424
}
2525

26+
// Use a custom Swarm implementation for this test only
27+
var OldSwarm = Server.Swarm
28+
Server.Swarm = Swarm
29+
t.on('end', function () {
30+
Server.Swarm = OldSwarm
31+
})
32+
2633
common.createServer(t, opts, function (server, announceUrl) {
2734
var client1 = new Client({
2835
infoHash: fixtures.alice.parsedTorrent.infoHash,
@@ -41,6 +48,7 @@ function testRequestHandler (t, serverType) {
4148

4249
client1.once('update', function (data) {
4350
t.equal(data.complete, 246)
51+
t.equal(data.extraData.toString(), 'hi')
4452

4553
client1.destroy(function () {
4654
t.pass('client1 destroyed')

0 commit comments

Comments
 (0)