Update save-results.js

This commit is contained in:
Aleksandr Statciuk 2022-01-16 15:31:06 +03:00
parent c034f001e8
commit 76d2b10b5c
2 changed files with 19 additions and 0 deletions

View file

@ -4,6 +4,8 @@ const _ = require('lodash')
const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs' const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs'
async function main() { async function main() {
await db.channels.load()
await db.programs.load() await db.programs.load()
await db.programs.reset() await db.programs.reset()
const files = await file.list(`${LOGS_DIR}/load-cluster/cluster_*.log`) const files = await file.list(`${LOGS_DIR}/load-cluster/cluster_*.log`)
@ -11,6 +13,8 @@ async function main() {
logger.info(`Parsing "${filepath}"...`) logger.info(`Parsing "${filepath}"...`)
const results = await parser.parseLogs(filepath) const results = await parser.parseLogs(filepath)
for (const result of results) { for (const result of results) {
await db.channels.update({ _id: result._id }, { $set: { logo: result.logo } })
const programs = result.programs.map(program => { const programs = result.programs.map(program => {
program.site = result.site program.site = result.site
program.country = result.country program.country = result.country
@ -22,6 +26,8 @@ async function main() {
await db.programs.insert(programs) await db.programs.insert(programs)
} }
} }
await db.channels.compact()
} }
main() main()

View file

@ -5,6 +5,12 @@ 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.mkdirSync('tests/__data__/output/database', { recursive: true })
fs.copyFileSync(
'tests/__data__/input/database/channels.db',
'tests/__data__/output/database/channels.db'
)
execSync( execSync(
'DB_DIR=tests/__data__/output/database LOGS_DIR=tests/__data__/input/logs node scripts/commands/save-results.js', 'DB_DIR=tests/__data__/output/database LOGS_DIR=tests/__data__/input/logs node scripts/commands/save-results.js',
@ -29,6 +35,13 @@ it('can save results to database', () => {
'stop', 'stop',
'title' 'title'
]) ])
const database = content('tests/__data__/output/database/channels.db')
expect(database[1]).toMatchObject({
_id: '0Wefq0oMR3feCcuY',
logo: 'https://example.com/logo.png'
})
}) })
function content(filepath) { function content(filepath) {