Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
module.exports = async function globalSetup (globalConfig) {
// global setup first
await setupPuppeteer(globalConfig)
// http server with webui build
await setupDevServer({
command: `ecstatic build --cache=0 --port=${webuiPort}`,
launchTimeout: 10000,
port: webuiPort,
debug: process.env.DEBUG === 'true'
})
const endpoint = process.env.E2E_API_URL
let ipfsd
let ipfs
if (endpoint) {
// create http client for endpoint passed via E2E_API_URL=
ipfs = ipfsClient({ apiAddr: endpoint })
} else {
// use ipfds-ctl to spawn daemon to expose http api used for e2e tests
const type = process.env.E2E_IPFSD_TYPE || 'go'
module.exports = async function globalTeardown (globalConfig) {
const teardown = []
// custom teardown
const ipfsd = global.__IPFSD__
if (ipfsd) teardown.push(ipfsd.stop())
// continue with global teardown
teardown.push(teardownDevServer())
teardown.push(teardownPuppeteer(globalConfig))
await Promise.all(teardown)
}
console.log('\n');
const revision =
process.env.PUPPETEER_CHROMIUM_REVISION ||
process.env.npm_config_puppeteer_chromium_revision ||
require(path.resolve(puppeteerConfigPath)).puppeteer.chromium_revision;
// set the version of Chromium to use based on Puppeteer
await dockerSetChromiumConfig({ revision, flags: chromiumFlags });
// launch Chromium in Docker ready for the first test suite
const endpointPath = path.join(__dirname, '../', 'wsEndpoint');
const webSocketUri = await dockerRunChromium();
fs.writeFileSync(endpointPath, webSocketUri);
await setupPuppeteer(jestConfig);
};
module.exports = async function globalTeardown(jestConfig) {
await teardownPuppeteer(jestConfig);
// shut down Docker container
await dockerShutdownChromium();
// delete websocket from file for next time we run test suites
const endpointPath = path.join(__dirname, '../', 'wsEndpoint');
fs.writeFileSync(endpointPath, '', { encoding: 'utf8' });
};