mirror of https://github.com/iptv-org/iptv
				
				
				
			Update load-streams.js
							parent
							
								
									d4ccef3719
								
							
						
					
					
						commit
						9a4aea7949
					
				@ -0,0 +1,2 @@
 | 
			
		||||
{"_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":[]}
 | 
			
		||||
{"_id":"I6cjG2xCBRFFP4sz","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/atv","http":{"referrer":"","user-agent":""},"error":"Operation timed out","streams":[],"requests":[]}
 | 
			
		||||
@ -1,44 +0,0 @@
 | 
			
		||||
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: []
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
@ -0,0 +1,34 @@
 | 
			
		||||
const fs = require('fs-extra')
 | 
			
		||||
const path = require('path')
 | 
			
		||||
const { execSync } = require('child_process')
 | 
			
		||||
 | 
			
		||||
beforeEach(() => {
 | 
			
		||||
  fs.emptyDirSync('tests/__data__/output')
 | 
			
		||||
  fs.emptyDirSync('tests/__data__/temp')
 | 
			
		||||
  fs.copyFileSync('tests/__data__/input/channels.db', 'tests/__data__/temp/channels.db')
 | 
			
		||||
 | 
			
		||||
  const stdout = execSync(
 | 
			
		||||
    'DB_FILEPATH=tests/__data__/temp/channels.db LOGS_PATH=tests/__data__/output/logs node scripts/commands/load-streams.js --cluster-id=1 --timeout=1',
 | 
			
		||||
    { encoding: 'utf8' }
 | 
			
		||||
  )
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
it('return results', () => {
 | 
			
		||||
  let output = content('tests/__data__/output/logs/load-streams/cluster_1.log')
 | 
			
		||||
  let expected = content('tests/__data__/expected/logs/load-streams/cluster_1.log')
 | 
			
		||||
 | 
			
		||||
  expect(output).toEqual(expected)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
function content(filepath) {
 | 
			
		||||
  const data = fs.readFileSync(path.resolve(filepath), {
 | 
			
		||||
    encoding: 'utf8'
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  return data
 | 
			
		||||
    .split('\n')
 | 
			
		||||
    .filter(l => l)
 | 
			
		||||
    .map(l => {
 | 
			
		||||
      return JSON.parse(l)
 | 
			
		||||
    })
 | 
			
		||||
}
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue