30 lines
777 B
JavaScript
30 lines
777 B
JavaScript
import path from 'path';
|
|
import { DockerComposeEnvironment, Wait } from 'testcontainers';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
import { setContainer } from './helpers/container.js';
|
|
|
|
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
|
|
let environment;
|
|
|
|
export const mochaHooks = {
|
|
async beforeAll() {
|
|
environment = await new DockerComposeEnvironment(
|
|
path.join(__dirname, 'docker'),
|
|
'docker-compose.yml'
|
|
)
|
|
.withBuild()
|
|
.withWaitStrategy('prosody-1', Wait.forListeningPorts())
|
|
.up();
|
|
|
|
setContainer(environment.getContainer('prosody-1'));
|
|
},
|
|
|
|
async afterAll() {
|
|
if (environment) {
|
|
await environment.down({ removeVolumes: true });
|
|
}
|
|
}
|
|
};
|