import { expect } from 'chai'
import { pathExists, readdir } from 'fs-extra'
+import { homedir } from 'os'
import { join } from 'path'
-import { root } from '@shared/core-utils'
import { PeerTubeServer } from '@shared/server-commands'
+import { PeerTubeRunnerProcess } from './peertube-runner-process'
-async function checkTmpIsEmpty (server: PeerTubeServer) {
+export async function checkTmpIsEmpty (server: PeerTubeServer) {
await checkDirectoryIsEmpty(server, 'tmp', [ 'plugins-global.css', 'hls', 'resumable-uploads' ])
- if (await pathExists(join('test' + server.internalServerNumber, 'tmp', 'hls'))) {
+ if (await pathExists(server.getDirectoryPath('tmp/hls'))) {
await checkDirectoryIsEmpty(server, 'tmp/hls')
}
}
-async function checkDirectoryIsEmpty (server: PeerTubeServer, directory: string, exceptions: string[] = []) {
- const testDirectory = 'test' + server.internalServerNumber
+export async function checkPersistentTmpIsEmpty (server: PeerTubeServer) {
+ await checkDirectoryIsEmpty(server, 'tmp-persistent')
+}
- const directoryPath = join(root(), testDirectory, directory)
+export async function checkDirectoryIsEmpty (server: PeerTubeServer, directory: string, exceptions: string[] = []) {
+ const directoryPath = server.getDirectoryPath(directory)
const directoryExists = await pathExists(directoryPath)
expect(directoryExists).to.be.true
expect(filtered).to.have.lengthOf(0)
}
-export {
- checkTmpIsEmpty,
- checkDirectoryIsEmpty
+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)
}