-
-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added test to check the right scraped multimedia files
- Loading branch information
1 parent
0018c9f
commit bd06c73
Showing
1 changed file
with
60 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
import * as mwoffliner from '../../src/mwoffliner.lib.js' | ||
import { execa } from 'execa' | ||
import rimraf from 'rimraf' | ||
import { zimcheckAvailable, zimcheck, zimdumpAvailable, zimdump } from '../util.js' | ||
import 'dotenv/config' | ||
import { jest } from '@jest/globals' | ||
|
||
jest.setTimeout(20000) | ||
|
||
describe('Multimedia', () => { | ||
const now = new Date() | ||
const testId = `mwo-test-${+now}` | ||
|
||
const parameters = { | ||
mwUrl: 'https://en.m.wikipedia.org', | ||
adminEmail: '[email protected]', | ||
articleList: 'User:Kelson/MWoffliner_CI_reference', | ||
outputDirectory: testId, | ||
redis: process.env.REDIS, | ||
customZimDescription: 'Example of the description', | ||
} | ||
|
||
test('check multimedia content from wikipedia test page', async () => { | ||
await execa('redis-cli flushall', { shell: true }) | ||
|
||
const [dump] = await mwoffliner.execute(parameters) | ||
|
||
expect(dump.status.articles.success).toEqual(1) | ||
expect(dump.status.articles.fail).toEqual(0) | ||
|
||
if (await zimcheckAvailable()) { | ||
await expect(zimcheck(dump.outFile)).resolves.not.toThrowError() | ||
} else { | ||
console.log('Zimcheck not installed, skipping test') | ||
} | ||
|
||
if (await zimdumpAvailable()) { | ||
const mediaFiles = await zimdump(`list --ns I ${dump.outFile}`) | ||
|
||
expect(mediaFiles.split('\n').sort()).toEqual( | ||
[ | ||
'I/Kiwix_-_WikiArabia_Cairo_2017.pdf', | ||
'I/Kiwix_Hackathon_2017_Florence_WikiFundi.webm.120p.vp9.webm', | ||
'I/Kiwix_Hackathon_2017_Florence_WikiFundi.webm.jpg', | ||
'I/Kiwix_icon.svg.png', | ||
'I/Local_Forecast_-_Elevator_(ISRC_USUAN1300012).mp3.ogg', | ||
'I/page1-120px-Kiwix_-_WikiArabia_Cairo_2017.pdf.jpg', | ||
'I/page1-1500px-Kiwix_-_WikiArabia_Cairo_2017.pdf.jpg', | ||
].sort(), | ||
) | ||
} else { | ||
console.log('Zimcheck not installed, skipping test') | ||
} | ||
|
||
rimraf.sync(`./${testId}`) | ||
const redisScan = await execa('redis-cli --scan', { shell: true }) | ||
// Redis has been cleared | ||
expect(redisScan.stdout).toEqual('') | ||
}) | ||
}) |