import { expect } from 'chai' ; import { sha1 } from '@shared/extra-utils' ; import { makeGetRequest } from '@shared/server-commands' ; async function hlsInfohashExist ( serverUrl , masterPlaylistUrl , fileNumber ) { const path = '/tracker/announce' ; const infohash = sha1 ( `2${ masterPlaylistUrl }+V${ fileNumber }` ) ; const infohashBinary = escape ( Buffer . from ( infohash , 'hex' ) . toString ( 'binary' ) ) . replace ( /[@*/+]/g , function ( char ) { return '%' + char . charCodeAt ( 0 ) . toString ( 16 ) . toUpperCase ( ) ; } ) ; const res = await makeGetRequest ( { url : serverUrl , path , rawQuery : `peer_id=-WW0105-NkvYO/egUAr4&info_hash=${ infohashBinary }&port=42100` , expectedStatus : 200 } ) ; expect ( res . text ) . to . not . contain ( 'failure' ) ; } export { hlsInfohashExist } ;