@apideck/portman
Version:
Port OpenAPI Spec to Postman Collection, with contract & variation tests included
32 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extendTest = void 0;
var tslib_1 = require("tslib");
var fs_1 = tslib_1.__importDefault(require("fs"));
var application_1 = require("../../application");
var extendTest = function (extSetting, pmOperation) {
if (!extSetting.tests)
return pmOperation;
var scriptContents = extSetting.tests.map(function (tst) {
if (tst.startsWith('file:')) {
return getScriptContent(tst.replace('file:', ''));
}
else {
return "".concat(tst);
}
});
var pmTests = scriptContents.join('\n');
(0, application_1.writeOperationTestScript)(pmOperation, pmTests, extSetting.overwrite, extSetting.append);
return pmOperation;
};
exports.extendTest = extendTest;
function getScriptContent(scriptPath) {
try {
return fs_1.default.readFileSync(scriptPath, { encoding: 'utf8', flag: 'r' });
}
catch (ex) {
console.error('\x1b[31m', "Config extended test script file error - no such file or directory \"".concat(scriptPath, "\""));
process.exit(1);
}
}
//# sourceMappingURL=extendTest.js.map