This commit is contained in:
Aleksandr Statciuk 2022-01-09 19:07:14 +03:00
parent 12340986d8
commit 957ccff392
6 changed files with 13 additions and 32 deletions

View file

@ -1,7 +1,7 @@
const { logger, db } = require('../core') const { logger, db } = require('../core')
async function main() { async function main() {
const docs = await db.find({}).sort({ cluster_id: 1 }) const docs = await db.channels.find({}).sort({ cluster_id: 1 })
const cluster_id = docs.reduce((acc, curr) => { const cluster_id = docs.reduce((acc, curr) => {
if (!acc.includes(curr.cluster_id)) acc.push(curr.cluster_id) if (!acc.includes(curr.cluster_id)) acc.push(curr.cluster_id)
return acc return acc

2
tests/__data__/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
output/
temp/

View file

@ -1,23 +0,0 @@
{"title":"InfoNeu ","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641711600,"stop":1641715200,"site":"andorradifusio.ad","_id":"Czo0zIdYrsfHATEA"}
{"title":"Club Piolet","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641715200,"stop":1641718800,"site":"andorradifusio.ad","_id":"jK8LgrQHZexlil5M"}
{"title":"InfoNeu ","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641718800,"stop":1641729600,"site":"andorradifusio.ad","_id":"xkYPkw7uMwUAPPdQ"}
{"title":"Andorra Actualitat (RNA)","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641729600,"stop":1641730800,"site":"andorradifusio.ad","_id":"8ZebixBGwckUKrVT"}
{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641730800,"stop":1641732000,"site":"andorradifusio.ad","_id":"wCJWTvsbEnzD0y1H"}
{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641732000,"stop":1641732300,"site":"andorradifusio.ad","_id":"kIj0yBlQ2YetsYun"}
{"title":"Informatiu migdia","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641732300,"stop":1641733800,"site":"andorradifusio.ad","_id":"EJBpVjgZN6UWYrqP"}
{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641733800,"stop":1641736200,"site":"andorradifusio.ad","_id":"J7tjjteUqJP4yDXx"}
{"title":"La Terre vue du Sport","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641736200,"stop":1641736800,"site":"andorradifusio.ad","_id":"hyOUkB44vVcZ5nPk"}
{"title":"Informatiu migdia","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641736800,"stop":1641738300,"site":"andorradifusio.ad","_id":"elucjLRZR8pxylcs"}
{"title":"Club Piolet","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641738300,"stop":1641741900,"site":"andorradifusio.ad","_id":"syoQz7lwpbDejZST"}
{"title":"Informatiu migdia","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641741900,"stop":1641743400,"site":"andorradifusio.ad","_id":"SiLs10F2H3faC5xq"}
{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641743400,"stop":1641750900,"site":"andorradifusio.ad","_id":"KT7kLsm8FMrrsgSR"}
{"title":"La rotonda","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641750900,"stop":1641753600,"site":"andorradifusio.ad","_id":"G4d7rxRcvntxxCm5"}
{"title":"Club Piolet","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641753600,"stop":1641757200,"site":"andorradifusio.ad","_id":"P3IUABcu4YyuuiP4"}
{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641757200,"stop":1641757500,"site":"andorradifusio.ad","_id":"ochZkWutq5siOWpF"}
{"title":"Informatiu vespre","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641757500,"stop":1641759000,"site":"andorradifusio.ad","_id":"gHStHJq1DxzRvi0x"}
{"title":"Recull setmanal","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641759000,"stop":1641761100,"site":"andorradifusio.ad","_id":"wPVhjqPA3hIAO7KK"}
{"title":"Memòries d'arxiu: 10 anys d'ATV","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641761100,"stop":1641763800,"site":"andorradifusio.ad","_id":"MtirOJrueW1dMQu3"}
{"title":"El cafè dels matins","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641763800,"stop":1641766800,"site":"andorradifusio.ad","_id":"PIf4dMXXQEv6Y3f4"}
{"title":"La Terre vue du Sport","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641766800,"stop":1641767400,"site":"andorradifusio.ad","_id":"XXIucdLlkIQC2gag"}
{"title":"Informatiu vespre","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641767400,"stop":1641772800,"site":"andorradifusio.ad","_id":"CN2y2KN43yH7LTuO"}
{"title":"Àrea Andorra Difusió","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641772800,"stop":1641776400,"site":"andorradifusio.ad","_id":"9Jyfeq7phYAkkZ8E"}

View file

@ -3,7 +3,9 @@ const path = require('path')
const { execSync } = require('child_process') const { execSync } = require('child_process')
beforeEach(() => { beforeEach(() => {
fs.copyFileSync('tests/__data__/input/test.db', 'tests/__data__/temp/test.db') fs.rmdirSync('tests/__data__/output', { recursive: true })
fs.mkdirSync('tests/__data__/output')
fs.copyFileSync('tests/__data__/input/channels.db', 'tests/__data__/temp/channels.db')
}) })
afterEach(() => { afterEach(() => {
@ -12,9 +14,8 @@ afterEach(() => {
}) })
it('can create valid matrix', () => { it('can create valid matrix', () => {
const result = execSync( const result = execSync('DB_DIR=tests/__data__/temp node scripts/commands/create-matrix.js', {
'DB_FILEPATH=tests/__data__/temp/test.db node scripts/commands/create-matrix.js', encoding: 'utf8'
{ encoding: 'utf8' } })
)
expect(result).toBe('::set-output name=matrix::{"cluster_id":[1]}\n') expect(result).toBe('::set-output name=matrix::{"cluster_id":[1]}\n')
}) })

View file

@ -5,15 +5,16 @@ const { execSync } = require('child_process')
beforeEach(() => { beforeEach(() => {
fs.rmdirSync('tests/__data__/output', { recursive: true }) fs.rmdirSync('tests/__data__/output', { recursive: true })
fs.mkdirSync('tests/__data__/output') fs.mkdirSync('tests/__data__/output')
fs.copyFileSync('tests/__data__/input/programs.db', 'tests/__data__/output/programs.db') fs.mkdirSync('tests/__data__/output/database')
fs.copyFileSync('tests/__data__/input/programs.db', 'tests/__data__/output/database/programs.db')
}) })
it('can save results', () => { it('can save results', () => {
const result = execSync( const result = execSync(
'DB_DIR=tests/__data__/output LOGS_PATH=tests/__data__/input/logs node scripts/commands/save-results.js', 'DB_DIR=tests/__data__/output/database LOGS_PATH=tests/__data__/input/logs node scripts/commands/save-results.js',
{ encoding: 'utf8' } { encoding: 'utf8' }
) )
const logs = fs.readFileSync(path.resolve('tests/__data__/output/programs.db'), { const logs = fs.readFileSync(path.resolve('tests/__data__/output/database/programs.db'), {
encoding: 'utf8' encoding: 'utf8'
}) })
const lines = logs.split('\n') const lines = logs.split('\n')