PeerTube/server/tests/shared/directories.ts

44 lines
1.6 KiB
TypeScript
Raw Normal View History

2021-07-13 09:43:59 +02:00
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import { expect } from 'chai'
import { pathExists, readdir } from 'fs-extra'
import { homedir } from 'os'
import { join } from 'path'
import { PeerTubeServer } from '@shared/server-commands'
2023-05-19 14:35:03 +02:00
import { PeerTubeRunnerProcess } from './peertube-runner-process'
2021-07-13 09:43:59 +02:00
export async function checkTmpIsEmpty (server: PeerTubeServer) {
2021-07-13 09:43:59 +02:00
await checkDirectoryIsEmpty(server, 'tmp', [ 'plugins-global.css', 'hls', 'resumable-uploads' ])
if (await pathExists(server.getDirectoryPath('tmp/hls'))) {
2021-07-13 09:43:59 +02:00
await checkDirectoryIsEmpty(server, 'tmp/hls')
}
}
export async function checkPersistentTmpIsEmpty (server: PeerTubeServer) {
await checkDirectoryIsEmpty(server, 'tmp-persistent')
}
export async function checkDirectoryIsEmpty (server: PeerTubeServer, directory: string, exceptions: string[] = []) {
const directoryPath = server.getDirectoryPath(directory)
2021-07-13 09:43:59 +02:00
const directoryExists = await pathExists(directoryPath)
expect(directoryExists).to.be.true
const files = await readdir(directoryPath)
const filtered = files.filter(f => exceptions.includes(f) === false)
expect(filtered).to.have.lengthOf(0)
}
2023-05-19 14:35:03 +02:00
export async function checkPeerTubeRunnerCacheIsEmpty (runner: PeerTubeRunnerProcess) {
const directoryPath = join(homedir(), '.cache', 'peertube-runner-nodejs', runner.getId(), 'transcoding')
const directoryExists = await pathExists(directoryPath)
expect(directoryExists).to.be.true
const files = await readdir(directoryPath)
expect(files, 'Directory content: ' + files.join(', ')).to.have.lengthOf(0)
2021-07-13 09:43:59 +02:00
}