New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

exframe-testing

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

exframe-testing - npm Package Compare versions

Comparing version 3.3.6 to 3.3.7

129

cli.js

@@ -135,3 +135,3 @@ #!/usr/bin/env node

const startContractTests = () => new Promise((resolve, reject) => {
const test = childProcess.spawn('npm', ['run', 'contract-tests']);
const test = childProcess.spawn('docker', ['exec', `${containerName}`, 'npm', 'run', 'contract-tests']);
test.stdout.pipe(process.stdout);

@@ -161,86 +161,61 @@ test.stderr.pipe(process.stderr);

const run = async () => {
if (!argv.l) {
log.info('Updating docker images');
await spawnAsync('docker', ['compose', 'pull']);
log.info('Updating docker images');
await spawnAsync('docker', ['compose', 'pull']);
log.info('Bringing up database environment');
await spawnAsync('docker', ['compose', 'up', '-d', '--no-deps', 'mongodb']);
await spawnAsync('docker', ['compose', 'up', '-d', '--no-deps', 'mongo']);
await spawnAsync('docker', ['compose', 'up', '-d', '--no-deps', 'mongo-seed']);
log.info('Bringing up database environment');
await spawnAsync('docker', ['compose', 'up', '-d', '--no-deps', 'mongodb']);
await spawnAsync('docker', ['compose', 'up', '-d', '--no-deps', 'mongo']);
await spawnAsync('docker', ['compose', 'up', '-d', '--no-deps', 'mongo-seed']);
log.info('checking for database seeding container');
const composeUp = childProcess.spawnSync('docker', ['compose', 'ps', 'mongo-seed']);
const seedExists = composeUp.stdout.toString('utf8').indexOf('mongo-seed') !== -1;
log.info('checking for database seeding container');
const composeUp = childProcess.spawnSync('docker', ['compose', 'ps', 'mongo-seed']);
const seedExists = composeUp.stdout.toString('utf8').indexOf('mongo-seed') !== -1;
if (seedExists) {
try {
const seedPortProc = childProcess.spawnSync('docker', ['inspect', '--format=\'{{(index (index .NetworkSettings.Ports "80/tcp") 0).HostPort}}\'', 'mongo-seed']);
const seedPort = seedPortProc.stdout.toString('utf8').replace(/'/g, '').trim();
if (seedExists) {
try {
const seedPortProc = childProcess.spawnSync('docker', ['inspect', '--format=\'{{(index (index .NetworkSettings.Ports "80/tcp") 0).HostPort}}\'', 'mongo-seed']);
const seedPort = seedPortProc.stdout.toString('utf8').replace(/'/g, '').trim();
if (seedPort.length === 0) {
throw new Error('Mongo Seed health port not mapped in docker-compose');
}
if (seedPort.length === 0) {
throw new Error('Mongo Seed health port not mapped in docker-compose');
}
await checkSeedHealth(seedPort);
} catch (e) {
log.error({ errorData: e });
await spawnAsync('docker', ['compose', 'down']);
process.exit(1); // eslint-disable-line no-process-exit
}
await checkSeedHealth(seedPort);
} catch (e) {
log.error({ errorData: e });
await spawnAsync('docker', ['compose', 'down']);
process.exit(1); // eslint-disable-line no-process-exit
}
log.info('Bringing up the environment');
if (argv.build) {
await spawnAsync('docker', ['compose', 'up', '--build', '-d', '--no-recreate']);
} else {
await spawnAsync('docker', ['compose', 'up', '-d', '--no-recreate']);
}
log.info(`Killing ${containerName}`);
await spawnAsync('docker', ['compose', 'kill', containerName]);
log.info(`Removing ${containerName}`);
await spawnAsync('docker', ['compose', 'rm', '-f', containerName]);
}
log.info('Bringing up the environment');
if (argv.build) {
await spawnAsync('docker', ['compose', 'up', '--build', '-d', '--no-recreate']);
} else {
await spawnAsync('docker', ['compose', 'up', '-d', '--no-recreate']);
}
log.info(`Starting ${containerName}`);
const container = childProcess.spawn('docker', ['compose', 'run', '--name', containerName, '--service-ports', '--entrypoint', `"npm test ${defaultArgs.join(' ')} -- -l ${argv.teamcity ? '--teamcity' : ''}"`, containerName], { shell: true });
container.stdout.pipe(process.stdout);
container.stderr.pipe(process.stderr);
container.on('error', (error) => {
log.error('Error running tests in container', { errorData: error, containerName });
});
container.on('close', code => {
process.exitCode = code;
const logFile = `${process.cwd()}/docker-compose.log`;
log.info(`Capturing docker-compose logs to file: ${logFile}`);
const outFile = fs.openSync(logFile, 'w');
childProcess.spawnSync('docker', ['compose', 'logs', '--no-color'], { stdio: ['pipe', outFile, outFile] });
fs.closeSync(outFile);
if (argv.down) {
log.info('Tearing down the environment');
childProcess.spawnSync('docker', ['compose', 'down'], { stdio: 'inherit' });
}
});
} else {
let failures = 0;
await spawnAsync('npm', ['config', 'delete', `${process.env.npm_package_name}:reporter`]);
if (argv.teamcity) {
await spawnAsync('npm', ['config', 'set', `${process.env.npm_package_name}:reporter`, 'mocha-teamcity-reporter']);
log.info(`Starting ${containerName}`);
let failures = 0;
if (argv.teamcity) {
await spawnAsync('docker', ['exec', `${containerName}`, 'npm', 'config', 'set', `${process.env.npm_package_name}:reporter`, 'mocha-teamcity-reporter']);
}
if (unit) {
log.info('Running unit tests');
const unitResults = childProcess.spawnSync('docker', ['exec', `${containerName}`, 'npm', 'run', 'unit-tests', '--silent'], { stdio: 'inherit' });
log.info('Unit test results', { unitResults });
failures += unitResults.status;
}
if (contract) {
log.info('Running contract tests');
try {
const code = await runContractTests();
log.info('Contract test results', { code });
failures += code;
const coverResult = childProcess.spawnSync('docker', ['exec', `${containerName}`, 'npm', 'run', 'combine-coverage'], { stdio: 'inherit' });
log.info('Combine coverage results', { coverResult });
process.exit(failures); // eslint-disable-line no-process-exit
} catch (error) {
log.error('error occurred running contract tests', { errorData: error });
}
if (unit) {
log.info('Running unit tests');
const unitResults = childProcess.spawnSync('npm', ['run', 'unit-tests', '--silent'], { stdio: 'inherit' });
log.info('Unit test results', { unitResults });
failures += unitResults.status;
}
if (contract) {
log.info('Running contract tests');
try {
const code = await runContractTests();
log.info('Contract test results', { code });
failures += code;
const coverResult = childProcess.spawnSync('npm', ['run', 'combine-coverage'], { stdio: 'inherit' });
log.info('Combine coverage results', { coverResult });
process.exit(failures); // eslint-disable-line no-process-exit
} catch (error) {
log.error('error occurred running contract tests', { errorData: error });
}
}
}

@@ -247,0 +222,0 @@ };

{
"name": "exframe-testing",
"version": "3.3.6",
"version": "3.3.7",
"bin": {

@@ -43,3 +43,3 @@ "exframe-testing": "cli.js"

},
"gitHead": "358f85a1eb1077c399acc73c9ef3e8cd957df2cb"
"gitHead": "c9936cc72348f41b1b01d9b51345e3f275e8fc73"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc