@@ -3,7 +3,7 @@ import Client from '../index.js'
33import common from './common.js'
44import commonLib from '../lib/common.js'
55import fixtures from 'webtorrent-fixtures'
6- import get from 'simple-get '
6+ import fetch from 'cross-fetch-ponyfill '
77import test from 'tape'
88
99const peerId = Buffer . from ( '01234567890123456789' )
@@ -150,44 +150,47 @@ test('udp: MULTI scrape using Client.scrape static method', t => {
150150} )
151151
152152test ( 'server: multiple info_hash scrape (manual http request)' , t => {
153- t . plan ( 13 )
153+ t . plan ( 12 )
154154
155155 const binaryInfoHash1 = commonLib . hexToBinary ( fixtures . leaves . parsedTorrent . infoHash )
156156 const binaryInfoHash2 = commonLib . hexToBinary ( fixtures . alice . parsedTorrent . infoHash )
157157
158- common . createServer ( t , 'http' , ( server , announceUrl ) => {
158+ common . createServer ( t , 'http' , async ( server , announceUrl ) => {
159159 const scrapeUrl = announceUrl . replace ( '/announce' , '/scrape' )
160160
161161 const url = `${ scrapeUrl } ?${ commonLib . querystringStringify ( {
162162 info_hash : [ binaryInfoHash1 , binaryInfoHash2 ]
163163} ) } `
164-
165- get . concat ( url , ( err , res , data ) => {
164+ let res
165+ try {
166+ res = await fetch ( url )
167+ } catch ( err ) {
166168 t . error ( err )
169+ }
170+ let data = Buffer . from ( await res . arrayBuffer ( ) )
167171
168- t . equal ( res . statusCode , 200 )
172+ t . equal ( res . status , 200 )
169173
170- data = bencode . decode ( data )
171- t . ok ( data . files )
172- t . equal ( Object . keys ( data . files ) . length , 2 )
174+ data = bencode . decode ( data )
175+ t . ok ( data . files )
176+ t . equal ( Object . keys ( data . files ) . length , 2 )
173177
174- t . ok ( data . files [ binaryInfoHash1 ] )
175- t . equal ( typeof data . files [ binaryInfoHash1 ] . complete , 'number' )
176- t . equal ( typeof data . files [ binaryInfoHash1 ] . incomplete , 'number' )
177- t . equal ( typeof data . files [ binaryInfoHash1 ] . downloaded , 'number' )
178+ t . ok ( data . files [ binaryInfoHash1 ] )
179+ t . equal ( typeof data . files [ binaryInfoHash1 ] . complete , 'number' )
180+ t . equal ( typeof data . files [ binaryInfoHash1 ] . incomplete , 'number' )
181+ t . equal ( typeof data . files [ binaryInfoHash1 ] . downloaded , 'number' )
178182
179- t . ok ( data . files [ binaryInfoHash2 ] )
180- t . equal ( typeof data . files [ binaryInfoHash2 ] . complete , 'number' )
181- t . equal ( typeof data . files [ binaryInfoHash2 ] . incomplete , 'number' )
182- t . equal ( typeof data . files [ binaryInfoHash2 ] . downloaded , 'number' )
183+ t . ok ( data . files [ binaryInfoHash2 ] )
184+ t . equal ( typeof data . files [ binaryInfoHash2 ] . complete , 'number' )
185+ t . equal ( typeof data . files [ binaryInfoHash2 ] . incomplete , 'number' )
186+ t . equal ( typeof data . files [ binaryInfoHash2 ] . downloaded , 'number' )
183187
184- server . close ( ( ) => { t . pass ( 'server closed' ) } )
185- } )
188+ server . close ( ( ) => { t . pass ( 'server closed' ) } )
186189 } )
187190} )
188191
189192test ( 'server: all info_hash scrape (manual http request)' , t => {
190- t . plan ( 10 )
193+ t . plan ( 9 )
191194
192195 const binaryInfoHash = commonLib . hexToBinary ( fixtures . leaves . parsedTorrent . infoHash )
193196
@@ -206,24 +209,28 @@ test('server: all info_hash scrape (manual http request)', t => {
206209
207210 client . start ( )
208211
209- server . once ( 'start' , ( ) => {
212+ server . once ( 'start' , async ( ) => {
210213 // now do a scrape of everything by omitting the info_hash param
211- get . concat ( scrapeUrl , ( err , res , data ) => {
214+ let res
215+ try {
216+ res = await fetch ( scrapeUrl )
217+ } catch ( err ) {
212218 t . error ( err )
219+ }
220+ let data = Buffer . from ( await res . arrayBuffer ( ) )
213221
214- t . equal ( res . statusCode , 200 )
215- data = bencode . decode ( data )
216- t . ok ( data . files )
217- t . equal ( Object . keys ( data . files ) . length , 1 )
222+ t . equal ( res . status , 200 )
223+ data = bencode . decode ( data )
224+ t . ok ( data . files )
225+ t . equal ( Object . keys ( data . files ) . length , 1 )
218226
219- t . ok ( data . files [ binaryInfoHash ] )
220- t . equal ( typeof data . files [ binaryInfoHash ] . complete , 'number' )
221- t . equal ( typeof data . files [ binaryInfoHash ] . incomplete , 'number' )
222- t . equal ( typeof data . files [ binaryInfoHash ] . downloaded , 'number' )
227+ t . ok ( data . files [ binaryInfoHash ] )
228+ t . equal ( typeof data . files [ binaryInfoHash ] . complete , 'number' )
229+ t . equal ( typeof data . files [ binaryInfoHash ] . incomplete , 'number' )
230+ t . equal ( typeof data . files [ binaryInfoHash ] . downloaded , 'number' )
223231
224- client . destroy ( ( ) => { t . pass ( 'client destroyed' ) } )
225- server . close ( ( ) => { t . pass ( 'server closed' ) } )
226- } )
232+ client . destroy ( ( ) => { t . pass ( 'client destroyed' ) } )
233+ server . close ( ( ) => { t . pass ( 'server closed' ) } )
227234 } )
228235 } )
229236} )
0 commit comments