UNPKG

@apideck/portman

Version:

Port OpenAPI Spec to Postman Collection, with contract & variation tests included

47 lines 2.27 kB
"use strict"; 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