2023-09-15 18:40:14 +03:00
import { execSync } from 'child_process'
2023-10-07 07:05:12 +03:00
type ExecError = {
status : number
stdout : string
}
2023-09-15 18:40:14 +03:00
it ( 'show an error if channel name in the blocklist' , () => {
try {
2023-10-07 07:05:12 +03:00
execSync (
2023-09-17 04:07:27 +03:00
'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_validate npm run playlist:validate -- us_blocked.m3u' ,
2023-09-15 18:40:14 +03:00
{
encoding : 'utf8'
}
)
process . exit ( 1 )
2023-10-07 07:05:12 +03:00
} catch ( error ) {
expect (( error as ExecError ). status ). toBe ( 1 )
expect (( error as ExecError ). stdout ). toContain (
2024-02-01 19:05:18 +03:00
'us_blocked.m3u\n 2 error "Fox Sports 2 Asia (Thai)" is on the blocklist due to claims of copyright holders or NSFW content (https://github.com/iptv-org/iptv/issues/0000)\n\n1 problems (1 errors, 0 warnings)\n'
2023-10-07 07:05:12 +03:00
)
2023-09-15 18:40:14 +03:00
}
})
it ( 'show a warning if channel has wrong id' , () => {
const stdout = execSync (
2023-09-17 04:07:27 +03:00
'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_validate npm run playlist:validate -- wrong_id.m3u' ,
2023-09-15 18:40:14 +03:00
{
encoding : 'utf8'
}
)
2023-10-07 07:05:12 +03:00
expect ( stdout ). toContain (
'wrong_id.m3u\n 2 warning "qib22lAq1L.us" is not in the database\n\n1 problems (0 errors, 1 warnings)\n'
)
2023-09-15 18:40:14 +03:00
})