@apica-io/url-xi
Version:
URL Check for integrations and API monitoring
61 lines • 2.95 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.run = void 0;
const testConfig_1 = require("../config/testConfig");
const testRunner_1 = require("../processor/testRunner");
const testResultProcessor_1 = require("../processor/testResultProcessor");
function run(logger, options) {
return __awaiter(this, void 0, void 0, function* () {
let success = true;
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const env = require('dotenv').config();
if (!env.error && env.parsed) {
logger.debug('Environment:', env.parsed);
}
const testConfig = new testConfig_1.TestConfig(options.headers, options.debug);
const resultProcessor = new testResultProcessor_1.TestResultProcessor(options.debug);
const content = yield testConfig.readFile(options.testFile);
success = content ? true : false;
if (content)
success = (yield testConfig.create(content, options)) ? true : false;
if (!success) {
const errors = testConfig.errors();
console.error('--- Test Config parse errors---');
errors.forEach((error) => {
console.error(error);
});
if (options.resultDir)
yield resultProcessor.saveErrors(content, errors, options);
}
if (success && !options.parseOnly) {
testConfig.setRequestTimeCalculation(options.timeCalculation || '');
const testRunner = new testRunner_1.TestRunner(testConfig, options.debug);
const results = yield testRunner.run(options);
success = results.steps ? true : false;
if (!options.production) {
resultProcessor.viewResults(results);
}
if (options.resultDir) {
yield resultProcessor.saveResults(results, options);
}
}
}
catch (error) {
logger.error(error);
success = false;
}
return success;
});
}
exports.run = run;
//# sourceMappingURL=cli.js.map