🚀 Socket Launch Week 🚀 Day 5: Introducing Socket Fix.Learn More →

@applitools/docker-compose-mocha

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@applitools/docker-compose-mocha - npm Package Compare versions

Comparing version

to
2.0.6-npmFile.0

@@ -6,2 +6,3 @@ // @flow

const { Spinner } = require('cli-spinner');
const fs = require('fs');
const chance = require('./lib/setup-environment-names-seed');

@@ -63,3 +64,4 @@ const { cleanupContainersByEnvironmentName, cleanupOrphanEnvironments } = require('./lib/docker-utility-functions');

*/
dockerComposeTool: function dockerComposeTool(beforeFunction/* :Function */,
dockerComposeTool: function dockerComposeTool(
beforeFunction/* :Function */,
afterFunction/* :Function */,

@@ -80,3 +82,4 @@ pathToComposeFile/* : string */,

}
/* :DockerComposeToolOptions */ = {})/* : string */ {
/* :DockerComposeToolOptions */ = {},
)/* : string */ {
const randomComposeEnv = envName

@@ -127,5 +130,15 @@ ? extractEnvFromEnvName(envName)

}
await exec(`docker compose -p ${runNameSpecific} -f "${pathToComposeFile}" up -d ${onlyTheseServicesMessageCommandAddition}`,
envVars ? { env: { PATH: process.env.PATH, ...envVars }, shell: getShell() } : {});
let envVarsToUse = {};
if (envVars) {
// const npmFile = process.env.NPM_FILE || fs.readFileSync(`${process.env.HOME}/.npmrc`).toString().replace('\n', '');
envVarsToUse = { env: { PATH: process.env.PATH, /* NPM_FILE: npmFile, */ ...envVars }, shell: getShell() };
}
await exec(
`docker compose -p ${runNameSpecific} -f "${pathToComposeFile}" up -d ${onlyTheseServicesMessageCommandAddition}`,
envVarsToUse,
);
if (!process.env.NOSPIN) {

@@ -137,6 +150,8 @@ spinner.stop();

if (healthCheck !== null && typeof healthCheck === 'object' && healthCheck.state === true) {
await healthCheckMethods.verifyServicesReady(runNameSpecific,
await healthCheckMethods.verifyServicesReady(
runNameSpecific,
pathToComposeFile,
healthCheck.options || {},
startOnlyTheseServices);
startOnlyTheseServices,
);
}

@@ -143,0 +158,0 @@ });

@@ -7,5 +7,7 @@ const { exec } = require('child-process-promise');

*/
async function dockerCheckByServiceName(runName/* : Function */,
async function dockerCheckByServiceName(
runName/* : Function */,
pathToCompose/* : string */,
serviceName/* : string */) {
serviceName, /* : string */
) {
const command = `docker compose -p ${runName} -f "${pathToCompose}" ps`;

@@ -15,4 +17,4 @@ const result = await exec(command, { shell: getShell() });

const exist = lines.find((element) => {
const containerName = `${runName}_${serviceName}`;
return element.indexOf(containerName) > -1 && element.indexOf('Up') > -1;
const containerName = `${runName}-${serviceName}`;
return element.indexOf(containerName) > -1 && element.indexOf('Up') > -1 && element.indexOf('Paused') === -1;
});

@@ -19,0 +21,0 @@ return Boolean(exist);

@@ -8,3 +8,3 @@ // @flow

const { exec } = childProcess;
if (originalPort.toString().includes(':')) {
if (originalPort?.toString().includes(':')) {
// If the port is locked - we return it - no need to query for it with the code below

@@ -11,0 +11,0 @@ return `0.0.0.0:${originalPort.split(':')[0]}`;

{
"name": "@applitools/docker-compose-mocha",
"version": "2.0.5",
"version": "2.0.6-npmFile.0",
"description": "Tool used for setting up an isolated environment for end to end testing / integration testing using Docker Compose",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -100,14 +100,29 @@ const { expect } = require('chai');

const serviceName = 'dct_s1';
const checkBefore = await dockerCheckByServiceName(generatedEnvName,
pathToCompose, serviceName);
const checkBefore = await dockerCheckByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
expect(checkBefore).to.eql(true);
await dockerStopByServiceName(generatedEnvName,
pathToCompose, serviceName);
const checkAfterStop = await dockerCheckByServiceName(generatedEnvName,
pathToCompose, serviceName);
await dockerStopByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
const checkAfterStop = await dockerCheckByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
expect(checkAfterStop).to.eql(false);
await dockerStartByServiceName(generatedEnvName,
pathToCompose, serviceName);
const checkAfterRestart = await dockerCheckByServiceName(generatedEnvName,
pathToCompose, serviceName);
await dockerStartByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
const checkAfterRestart = await dockerCheckByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
expect(checkAfterRestart).to.eql(true);

@@ -129,18 +144,37 @@ } catch (err) {

const serviceName = 'dct_s1';
const checkBefore = await dockerCheckByServiceName(generatedEnvName,
pathToCompose, serviceName);
const checkBefore = await dockerCheckByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
expect(checkBefore).to.eql(true);
const address = await getAddressForService(generatedEnvName, pathToCompose, serviceName);
await dockerPauseByServiceName(generatedEnvName,
pathToCompose, serviceName);
const checkAfterStop = await dockerCheckByServiceName(generatedEnvName,
pathToCompose, serviceName);
const address = await getAddressForService(generatedEnvName, pathToCompose, serviceName, '3001');
await dockerPauseByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
const checkAfterStop = await dockerCheckByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
expect(checkAfterStop).to.eql(false);
await dockerUnpauseByServiceName(generatedEnvName,
pathToCompose, serviceName);
const checkAfterRestart = await dockerCheckByServiceName(generatedEnvName,
pathToCompose, serviceName);
await dockerUnpauseByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
const checkAfterRestart = await dockerCheckByServiceName(
generatedEnvName,
pathToCompose,
serviceName,
);
expect(checkAfterRestart).to.eql(true);
const addressAfterPause = await getAddressForService(generatedEnvName,
pathToCompose, serviceName);
const addressAfterPause = await getAddressForService(
generatedEnvName,
pathToCompose,
serviceName,
'3001',
);
expect(address).to.eql(addressAfterPause);

@@ -147,0 +181,0 @@ } catch (err) {

Sorry, the diff of this file is not supported yet