@apideck/portman
Version:
Port OpenAPI Spec to Postman Collection, with contract & variation tests included
47 lines • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runNewmanWith = void 0;
var tslib_1 = require("tslib");
var chalk_1 = tslib_1.__importDefault(require("chalk"));
var newman_1 = tslib_1.__importDefault(require("newman"));
var path_1 = tslib_1.__importDefault(require("path"));
var openapi_format_1 = require("openapi-format");
var runNewmanWith = function (postmanCollectionFile, newmanEnvFile, newmanDataFile, newmanRunOptions) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var defaultNewmanOptions, iterationData, newmanRunOptionsCased, newmanOptions;
return tslib_1.__generator(this, function (_a) {
defaultNewmanOptions = {
collection: require(path_1.default.resolve(postmanCollectionFile)),
environment: require(path_1.default.resolve(newmanEnvFile)),
reporters: ['cli'],
reporter: {
htmlextra: {
showEnvironmentData: true
}
},
abortOnFailure: true,
ignoreRedirects: true
};
if (newmanDataFile) {
iterationData = require(path_1.default.resolve(newmanDataFile));
defaultNewmanOptions['iterationData'] = iterationData;
}
newmanRunOptionsCased = Object.keys(newmanRunOptions).reduce(function (a, c) { return ((a["".concat((0, openapi_format_1.changeCase)(c, 'camelCase'))] = newmanRunOptions[c]), a); }, {});
newmanOptions = tslib_1.__assign(tslib_1.__assign({}, defaultNewmanOptions), newmanRunOptionsCased);
return [2, new Promise(function (resolve, reject) {
try {
newman_1.default.run(newmanOptions).on('done', function (err, summary) {
if (err || summary.error) {
reject(err || summary.error);
}
else {
console.log(chalk_1.default.green('Collection run completed.'));
resolve();
}
});
}
catch (_error) { }
})];
});
}); };
exports.runNewmanWith = runNewmanWith;
//# sourceMappingURL=runNewmanWith.js.map