mirror of
https://github.com/webtorrent/bittorrent-tracker.git
synced 2025-01-18 12:11:36 +00:00
test: change request handler test to new approach
This commit is contained in:
parent
51b57f66cf
commit
0c683dfe64
@ -3,26 +3,33 @@ var Client = require('../')
|
||||
var common = require('./common')
|
||||
var fixtures = require('webtorrent-fixtures')
|
||||
var test = require('tape')
|
||||
var Server = require('../server')
|
||||
|
||||
var peerId = Buffer.from('01234567890123456789')
|
||||
|
||||
function testRequestHandler (t, serverType) {
|
||||
t.plan(4)
|
||||
t.plan(5)
|
||||
|
||||
var opts = { serverType: serverType } // this is test-suite-only option
|
||||
opts.requestHandler = {
|
||||
getParams: function (params) {
|
||||
params.extra = 123
|
||||
return params
|
||||
},
|
||||
getResponse: function (params, cb) {
|
||||
return function (err, response) {
|
||||
response.complete = params.extra * 2
|
||||
cb(err, response)
|
||||
}
|
||||
|
||||
class Swarm extends Server.Swarm {
|
||||
announce (params, cb) {
|
||||
super.announce(params, function (err, response) {
|
||||
if (err) return cb(response)
|
||||
response.complete = 246
|
||||
response.extraData = 'hi'
|
||||
cb(null, response)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// Use a custom Swarm implementation for this test only
|
||||
var OldSwarm = Server.Swarm
|
||||
Server.Swarm = Swarm
|
||||
t.on('end', function () {
|
||||
Server.Swarm = OldSwarm
|
||||
})
|
||||
|
||||
common.createServer(t, opts, function (server, announceUrl) {
|
||||
var client1 = new Client({
|
||||
infoHash: fixtures.alice.parsedTorrent.infoHash,
|
||||
@ -41,6 +48,7 @@ function testRequestHandler (t, serverType) {
|
||||
|
||||
client1.once('update', function (data) {
|
||||
t.equal(data.complete, 246)
|
||||
t.equal(data.extraData.toString(), 'hi')
|
||||
|
||||
client1.destroy(function () {
|
||||
t.pass('client1 destroyed')
|
||||
|
Loading…
Reference in New Issue
Block a user