Create tests

This commit is contained in:
Aleksandr Statciuk 2021-12-12 07:13:02 +03:00
parent 42d8a670d2
commit 9bd944c2ff
21 changed files with 732 additions and 0 deletions

View file

@ -0,0 +1,44 @@
const fs = require('fs')
const path = require('path')
const { execSync } = require('child_process')
beforeEach(() => {
fs.rmdirSync('tests/__data__/output', { recursive: true })
fs.mkdirSync('tests/__data__/output')
fs.copyFileSync('tests/__data__/input/test.db', 'tests/__data__/temp/test.db')
})
afterEach(() => {
fs.rmdirSync('tests/__data__/temp', { recursive: true })
fs.mkdirSync('tests/__data__/temp')
})
it('return results if stream with error', () => {
const result = execSync(
'DB_FILEPATH=tests/__data__/temp/test.db LOGS_PATH=tests/__data__/output/logs node scripts/commands/check-streams.js --cluster-id=1 --timeout=1',
{ encoding: 'utf8' }
)
const logs = fs.readFileSync(
path.resolve('tests/__data__/output/logs/check-streams/cluster_1.log'),
{
encoding: 'utf8'
}
)
const lines = logs.split('\n')
expect(JSON.parse(lines[0])).toMatchObject({
_id: '2ST8btby3mmsgPF0',
url: 'http://46.46.143.222:1935/live/mp4:ldpr.stream/playlist.m3u8',
http: { referrer: '', 'user-agent': '' },
error: 'Operation timed out',
streams: [],
requests: []
})
expect(JSON.parse(lines[1])).toMatchObject({
_id: 'I6cjG2xCBRFFP4sz',
url: 'https://iptv-all.lanesh4d0w.repl.co/andorra/atv',
http: { referrer: '', 'user-agent': '' },
error: 'Operation timed out',
streams: [],
requests: []
})
})