sealights-newman-wrapper 2.0.31 → 2.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +20 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/collection-modification/collection-modifier-for-assertation-names.d.ts +6 -0
- package/dist/collection-modification/collection-modifier-for-assertation-names.js +28 -0
- package/dist/collection-modification/collection-modifier-for-assertation-names.js.map +1 -0
- package/dist/collection-modification/collection-modifier.d.ts +15 -0
- package/dist/collection-modification/collection-modifier.js +68 -0
- package/dist/collection-modification/collection-modifier.js.map +1 -0
- package/dist/collection-modification/index.d.ts +2 -13
- package/dist/collection-modification/index.js +5 -60
- package/dist/collection-modification/index.js.map +1 -1
- package/dist/config/sl-newman-config.d.ts +2 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/integration.d.ts +8 -5
- package/dist/integration.js +55 -49
- package/dist/integration.js.map +1 -1
- package/dist/junit/mocks.d.ts +54 -0
- package/dist/junit/mocks.js +70 -0
- package/dist/junit/mocks.js.map +1 -0
- package/dist/junit/stub-summary-object.d.ts +9 -0
- package/dist/junit/stub-summary-object.js +42 -0
- package/dist/junit/stub-summary-object.js.map +1 -0
- package/dist/test-event.d.ts +22 -0
- package/dist/test-event.js +32 -0
- package/dist/test-event.js.map +1 -0
- package/dist/utils.d.ts +10 -0
- package/dist/utils.js +26 -0
- package/dist/utils.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/cli/index.js
CHANGED
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
3
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
13
|
const sealights_plugins_common_1 = require("sealights-plugins-common");
|
|
5
14
|
const minimist = require("minimist");
|
|
6
15
|
const index_1 = require("../index");
|
|
7
16
|
const newman_util_1 = require("./newman-util");
|
|
8
17
|
const _ = require("lodash");
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
18
|
+
((_) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
const argv = minimist(process.argv.slice(2));
|
|
20
|
+
const defaultConfigProvider = new sealights_plugins_common_1.ConfigProvider({ useOtel: false, useAssertationName: true, });
|
|
21
|
+
const cliConfigProvider = new sealights_plugins_common_1.CliSlConfigProvider();
|
|
22
|
+
const configProvider = new sealights_plugins_common_1.CombinedConfigProvider(defaultConfigProvider, cliConfigProvider);
|
|
23
|
+
sealights_plugins_common_1.logger.debug(`[newman-wrapper] CLI received the following argv:\n${JSON.stringify(process.argv.slice(2))}`);
|
|
24
|
+
yield configProvider.init();
|
|
25
|
+
sealights_plugins_common_1.logger.debug(`[newman-wrapper] parsed config:\n${JSON.stringify(configProvider.getConfig())}`);
|
|
26
|
+
const slNewman = (0, index_1.resolveSlNewmanIntegration)(configProvider);
|
|
27
|
+
slNewman.run(getNewmanOptions(argv));
|
|
28
|
+
}))();
|
|
15
29
|
function getNewmanOptions(argv) {
|
|
16
30
|
const options = Object.assign(Object.assign({}, argv), { collection: argv.collection || argv.c || argv._[0], environment: argv.environment || argv.e, help: argv.help || argv.h, version: argv.version || argv.v, globals: argv.globals || argv.g, iterationCount: argv['iteration-count'] || argv.n, workingDir: argv.workingDir, noInsecureFileRead: argv['no-insecure-file-read'], exportEnvironment: argv['export-environment'], exportGlobals: argv['export-globals'], exportCollection: argv['export-collection'], delayRequest: argv['delay-request'], timeoutRequest: argv['timeout-request'], timeoutScript: argv['timeout-script'], disableUnicode: argv['disable-unicode'], insecure: argv.insecure || argv.k, suppressExitCode: argv['suppress-exit-code'] || argv.x, iterationData: argv['iteration-data'] || argv.d, ignoreRedirects: argv['ignore-redirects'], cookieJar: argv['cookie-jar'], reporters: (argv.reporters || argv.r || 'cli').split(','), envVar: argv['env-var'] ? (0, newman_util_1.parseEnvVars)(argv['env-var']) : undefined, globalVar: argv['global-var'] ? (0, newman_util_1.parseEnvVars)(argv['global-var']) : undefined });
|
|
17
31
|
const reporterOptions = (0, newman_util_1.parseNestedOptions)(process.argv, '--reporter-', options.reporters);
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CollectionModifier } from './collection-modifier';
|
|
2
|
+
export declare class CollectionModifierForAssertionNames extends CollectionModifier {
|
|
3
|
+
private itemAssertationMap;
|
|
4
|
+
get excludedItems(): string[];
|
|
5
|
+
setItemsToExclude(itemsToExclude?: Record<string, boolean>): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollectionModifierForAssertionNames = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const collection_modifier_1 = require("./collection-modifier");
|
|
6
|
+
class CollectionModifierForAssertionNames extends collection_modifier_1.CollectionModifier {
|
|
7
|
+
get excludedItems() {
|
|
8
|
+
return this._excludedItems.map(item => this.itemAssertationMap[item]).flat();
|
|
9
|
+
}
|
|
10
|
+
setItemsToExclude(itemsToExclude = {}) {
|
|
11
|
+
this.itemAssertationMap = {};
|
|
12
|
+
Object.entries(itemsToExclude)
|
|
13
|
+
.filter(([_, value]) => value)
|
|
14
|
+
.map(([key]) => key)
|
|
15
|
+
.forEach((fullName) => {
|
|
16
|
+
const nameParts = fullName.split(constants_1.SPLITTER);
|
|
17
|
+
nameParts.pop();
|
|
18
|
+
const itemName = nameParts.join(constants_1.SPLITTER);
|
|
19
|
+
if (!this.itemAssertationMap[itemName]) {
|
|
20
|
+
this.itemAssertationMap[itemName] = [];
|
|
21
|
+
}
|
|
22
|
+
this.itemAssertationMap[itemName].push(fullName);
|
|
23
|
+
});
|
|
24
|
+
this.itemsToExclude = new Set(Object.keys(this.itemAssertationMap));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.CollectionModifierForAssertionNames = CollectionModifierForAssertionNames;
|
|
28
|
+
//# sourceMappingURL=collection-modifier-for-assertation-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-modifier-for-assertation-names.js","sourceRoot":"","sources":["../../src/collection-modification/collection-modifier-for-assertation-names.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,+DAA2D;AAE3D,MAAa,mCAAoC,SAAQ,wCAAkB;IAGvE,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,CAAC;IAEQ,iBAAiB,CAAC,iBAA0C,EAAE;QACnE,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAE7B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;aAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;aACnB,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAQ,CAAC,CAAC;YAC3C,SAAS,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,oBAAQ,CAAC,CAAC;YAE1C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;gBACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;aAC1C;YAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ;AA3BD,kFA2BC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CollectionDefinition, ItemGroupDefinition } from 'postman-collection';
|
|
2
|
+
export declare class CollectionModifier {
|
|
3
|
+
private logger;
|
|
4
|
+
protected _excludedItems: string[];
|
|
5
|
+
protected itemsToExclude: Set<string>;
|
|
6
|
+
originalCollection: CollectionDefinition;
|
|
7
|
+
constructor(logger: any);
|
|
8
|
+
get excludedItems(): string[];
|
|
9
|
+
setItemsToExclude(itemsToExclude?: Record<string, boolean>): void;
|
|
10
|
+
modify(pathToCollection: string): Promise<ItemGroupDefinition>;
|
|
11
|
+
getCollectionName(): string;
|
|
12
|
+
private parseCollection;
|
|
13
|
+
private filterItemsByName;
|
|
14
|
+
}
|
|
15
|
+
export declare function deepCopy<T extends Object>(obj: T): T;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.deepCopy = exports.CollectionModifier = void 0;
|
|
13
|
+
const fs = require("fs");
|
|
14
|
+
const constants_1 = require("../constants");
|
|
15
|
+
class CollectionModifier {
|
|
16
|
+
constructor(logger) {
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
this._excludedItems = [];
|
|
19
|
+
this.itemsToExclude = new Set();
|
|
20
|
+
this.originalCollection = {};
|
|
21
|
+
}
|
|
22
|
+
get excludedItems() {
|
|
23
|
+
return this._excludedItems;
|
|
24
|
+
}
|
|
25
|
+
setItemsToExclude(itemsToExclude = {}) {
|
|
26
|
+
this.itemsToExclude = new Set(Object.keys(itemsToExclude));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
modify(pathToCollection) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
this.parseCollection(pathToCollection);
|
|
32
|
+
const collectionCopy = deepCopy(this.originalCollection);
|
|
33
|
+
return this.filterItemsByName(collectionCopy, [this.getCollectionName()]);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
getCollectionName() {
|
|
37
|
+
var _a;
|
|
38
|
+
return ((_a = this.originalCollection.info) === null || _a === void 0 ? void 0 : _a.name) || this.originalCollection.name;
|
|
39
|
+
}
|
|
40
|
+
parseCollection(pathToCollection) {
|
|
41
|
+
const rawCollection = fs.readFileSync(pathToCollection, 'utf-8');
|
|
42
|
+
this.originalCollection = JSON.parse(rawCollection);
|
|
43
|
+
}
|
|
44
|
+
filterItemsByName(itemsGroup, suiteNameParts) {
|
|
45
|
+
if (!itemsGroup.item) {
|
|
46
|
+
this.logger.log('Corrupted structure of collection. Field `item` is missed. Collection won`t be modified.');
|
|
47
|
+
return itemsGroup;
|
|
48
|
+
}
|
|
49
|
+
itemsGroup.item = itemsGroup.item.map(item => {
|
|
50
|
+
if (item.item) {
|
|
51
|
+
return this.filterItemsByName(item, [...suiteNameParts, item.name]);
|
|
52
|
+
}
|
|
53
|
+
const testName = [...suiteNameParts, `${item.request.method} ${item.name}`].join(constants_1.SPLITTER);
|
|
54
|
+
if (this.itemsToExclude.has(testName)) {
|
|
55
|
+
this._excludedItems.push(testName);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return item;
|
|
59
|
+
}).filter(x => x);
|
|
60
|
+
return itemsGroup;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.CollectionModifier = CollectionModifier;
|
|
64
|
+
function deepCopy(obj) {
|
|
65
|
+
return JSON.parse(JSON.stringify(obj));
|
|
66
|
+
}
|
|
67
|
+
exports.deepCopy = deepCopy;
|
|
68
|
+
//# sourceMappingURL=collection-modifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-modifier.js","sourceRoot":"","sources":["../../src/collection-modification/collection-modifier.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,yBAAyB;AACzB,4CAAwC;AAExC,MAAa,kBAAkB;IAK3B,YACY,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QALb,mBAAc,GAAG,EAAc,CAAC;QAChC,mBAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,uBAAkB,GAAG,EAA0B,CAAC;IAI5C,CAAC;IAEL,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,iBAAiB,CAAC,iBAA0C,EAAE;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D,OAAO;IACX,CAAC;IAGK,MAAM,CAAC,gBAAwB;;YACjC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAEvC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;KAAA;IAGD,iBAAiB;;QACb,OAAO,CAAA,MAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,0CAAE,IAAI,KAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC9E,CAAC;IAGO,eAAe,CAAC,gBAAwB;QAC5C,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAyB,CAAC;IAChF,CAAC;IAGO,iBAAiB,CAAC,UAA+B,EAAE,cAAwB;QAC/E,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAA;YAC3G,OAAO,UAAU,CAAC;SACrB;QAED,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzC,IAAK,IAA4B,CAAC,IAAI,EAAE;gBAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACvE;YAGD,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,EAAE,GAAI,IAAuB,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAQ,CAAC,CAAC;YAC/G,IAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAElC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;aACf;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgD,CAAC;QACjE,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA9DD,gDA8DC;AAED,SAAgB,QAAQ,CAAmB,GAAM;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAFD,4BAEC"}
|
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
private logger;
|
|
4
|
-
excludedItems: string[];
|
|
5
|
-
private itemsToExclude;
|
|
6
|
-
originalCollection: CollectionDefinition;
|
|
7
|
-
constructor(logger: any);
|
|
8
|
-
setItemsToExclude(itemsToExclude?: Record<string, boolean>): void;
|
|
9
|
-
modify(pathToCollection: string): Promise<ItemGroupDefinition>;
|
|
10
|
-
getCollectionName(): string;
|
|
11
|
-
private parseCollection;
|
|
12
|
-
private filterItemsByName;
|
|
13
|
-
}
|
|
1
|
+
export { CollectionModifier } from './collection-modifier';
|
|
2
|
+
export { CollectionModifierForAssertionNames } from './collection-modifier-for-assertation-names';
|
|
@@ -1,63 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CollectionModifier = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.logger = logger;
|
|
18
|
-
this.excludedItems = [];
|
|
19
|
-
this.itemsToExclude = {};
|
|
20
|
-
this.originalCollection = {};
|
|
21
|
-
}
|
|
22
|
-
setItemsToExclude(itemsToExclude = {}) {
|
|
23
|
-
this.itemsToExclude = itemsToExclude;
|
|
24
|
-
}
|
|
25
|
-
modify(pathToCollection) {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
this.parseCollection(pathToCollection);
|
|
28
|
-
const collectionCopy = deepCopy(this.originalCollection);
|
|
29
|
-
return this.filterItemsByName(collectionCopy, [this.getCollectionName()]);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
getCollectionName() {
|
|
33
|
-
var _a;
|
|
34
|
-
return ((_a = this.originalCollection.info) === null || _a === void 0 ? void 0 : _a.name) || this.originalCollection.name;
|
|
35
|
-
}
|
|
36
|
-
parseCollection(pathToCollection) {
|
|
37
|
-
const rawCollection = fs.readFileSync(pathToCollection, 'utf-8');
|
|
38
|
-
this.originalCollection = JSON.parse(rawCollection);
|
|
39
|
-
}
|
|
40
|
-
filterItemsByName(itemsGroup, suiteNameParts) {
|
|
41
|
-
if (!itemsGroup.item) {
|
|
42
|
-
this.logger.log('Corrupted structure of collection. Field `item` is missed. Collection won`t be modified.');
|
|
43
|
-
return itemsGroup;
|
|
44
|
-
}
|
|
45
|
-
itemsGroup.item = itemsGroup.item.map(item => {
|
|
46
|
-
if (item.item) {
|
|
47
|
-
return this.filterItemsByName(item, [...suiteNameParts, item.name]);
|
|
48
|
-
}
|
|
49
|
-
const testName = [...suiteNameParts, item.name].join(constants_1.SPLITTER);
|
|
50
|
-
if (this.itemsToExclude[testName]) {
|
|
51
|
-
this.excludedItems.push(testName);
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
return item;
|
|
55
|
-
}).filter(x => x);
|
|
56
|
-
return itemsGroup;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.CollectionModifier = CollectionModifier;
|
|
60
|
-
function deepCopy(obj) {
|
|
61
|
-
return JSON.parse(JSON.stringify(obj));
|
|
62
|
-
}
|
|
3
|
+
exports.CollectionModifierForAssertionNames = exports.CollectionModifier = void 0;
|
|
4
|
+
var collection_modifier_1 = require("./collection-modifier");
|
|
5
|
+
Object.defineProperty(exports, "CollectionModifier", { enumerable: true, get: function () { return collection_modifier_1.CollectionModifier; } });
|
|
6
|
+
var collection_modifier_for_assertation_names_1 = require("./collection-modifier-for-assertation-names");
|
|
7
|
+
Object.defineProperty(exports, "CollectionModifierForAssertionNames", { enumerable: true, get: function () { return collection_modifier_for_assertation_names_1.CollectionModifierForAssertionNames; } });
|
|
63
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collection-modification/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collection-modification/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,yGAAkG;AAAzF,gKAAA,mCAAmC,OAAA"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { ITagInfo } from 'sealights-plugins-common';
|
|
|
2
2
|
export declare const SPLITTER = " - ";
|
|
3
3
|
export declare const tags: ITagInfo[];
|
|
4
4
|
export declare enum NewmanEvents {
|
|
5
|
+
BEFORE_ITERATION = "beforeIteration",
|
|
5
6
|
BEFORE_ITEM = "beforeItem",
|
|
6
7
|
BEFORE_REQUEST = "beforeRequest",
|
|
7
8
|
ASSERTATION = "assertion",
|
package/dist/constants.js
CHANGED
|
@@ -9,11 +9,11 @@ exports.tags = [{
|
|
|
9
9
|
}];
|
|
10
10
|
var NewmanEvents;
|
|
11
11
|
(function (NewmanEvents) {
|
|
12
|
+
NewmanEvents["BEFORE_ITERATION"] = "beforeIteration";
|
|
12
13
|
NewmanEvents["BEFORE_ITEM"] = "beforeItem";
|
|
13
14
|
NewmanEvents["BEFORE_REQUEST"] = "beforeRequest";
|
|
14
15
|
NewmanEvents["ASSERTATION"] = "assertion";
|
|
15
16
|
NewmanEvents["ITEM"] = "item";
|
|
16
17
|
NewmanEvents["DONE"] = "done";
|
|
17
18
|
})(NewmanEvents || (exports.NewmanEvents = NewmanEvents = {}));
|
|
18
|
-
;
|
|
19
19
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEvB,QAAA,QAAQ,GAAG,KAAK,CAAC;AAEjB,QAAA,IAAI,GAAe,CAAC;QAC7B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAP,iBAAO;KACV,CAAC,CAAC;AAEH,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEvB,QAAA,QAAQ,GAAG,KAAK,CAAC;AAEjB,QAAA,IAAI,GAAe,CAAC;QAC7B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAP,iBAAO;KACV,CAAC,CAAC;AAEH,IAAY,YAOX;AAPD,WAAY,YAAY;IACpB,oDAAoC,CAAA;IACpC,0CAA0B,CAAA;IAC1B,gDAAgC,CAAA;IAChC,yCAAyB,CAAA;IACzB,6BAAa,CAAA;IACb,6BAAa,CAAA;AACjB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export { SlNewmanIntegration } from
|
|
2
|
-
export { CollectionModifier } from
|
|
3
|
-
export { ConfigProvider, CliSlConfigProvider, EnvSlConfigProvider, FileSlConfigProvider, CombinedConfigProvider } from
|
|
4
|
-
import { SlNewmanIntegration } from
|
|
5
|
-
|
|
1
|
+
export { SlNewmanIntegration } from './integration';
|
|
2
|
+
export { CollectionModifier } from './collection-modification';
|
|
3
|
+
export { ConfigProvider, CliSlConfigProvider, EnvSlConfigProvider, FileSlConfigProvider, CombinedConfigProvider } from 'sealights-plugins-common';
|
|
4
|
+
import { SlNewmanIntegration } from './integration';
|
|
5
|
+
import { ConfigProvider } from 'sealights-plugins-common';
|
|
6
|
+
import { SlNewmanConfig } from './config/sl-newman-config';
|
|
7
|
+
export declare function resolveSlNewmanIntegration(slConfigProvider: ConfigProvider<SlNewmanConfig>): SlNewmanIntegration;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.resolveSlNewmanIntegration = exports.CombinedConfigProvider = exports.FileSlConfigProvider = exports.EnvSlConfigProvider = exports.CliSlConfigProvider = exports.ConfigProvider = exports.CollectionModifier = exports.SlNewmanIntegration = void 0;
|
|
4
4
|
var integration_1 = require("./integration");
|
|
5
5
|
Object.defineProperty(exports, "SlNewmanIntegration", { enumerable: true, get: function () { return integration_1.SlNewmanIntegration; } });
|
|
6
6
|
var collection_modification_1 = require("./collection-modification");
|
|
@@ -14,6 +14,15 @@ Object.defineProperty(exports, "CombinedConfigProvider", { enumerable: true, get
|
|
|
14
14
|
const integration_2 = require("./integration");
|
|
15
15
|
const collection_modification_2 = require("./collection-modification");
|
|
16
16
|
const sealights_plugins_common_2 = require("sealights-plugins-common");
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
function resolveSlNewmanIntegration(slConfigProvider) {
|
|
18
|
+
const collectionModifier = resolveCollectionModifier(slConfigProvider.getValue('useAssertationName'));
|
|
19
|
+
return new integration_2.SlNewmanIntegration(slConfigProvider, collectionModifier);
|
|
20
|
+
}
|
|
21
|
+
exports.resolveSlNewmanIntegration = resolveSlNewmanIntegration;
|
|
22
|
+
function resolveCollectionModifier(useAssertionName) {
|
|
23
|
+
if (useAssertionName) {
|
|
24
|
+
return new collection_modification_2.CollectionModifierForAssertionNames(sealights_plugins_common_2.logger);
|
|
25
|
+
}
|
|
26
|
+
return new collection_modification_2.CollectionModifier(sealights_plugins_common_2.logger);
|
|
27
|
+
}
|
|
19
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,qEAA+D;AAAtD,6HAAA,kBAAkB,OAAA;AAC3B,qEAAkJ;AAAzI,0HAAA,cAAc,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAAE,kIAAA,sBAAsB,OAAA;AAE/G,+CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,qEAA+D;AAAtD,6HAAA,kBAAkB,OAAA;AAC3B,qEAAkJ;AAAzI,0HAAA,cAAc,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAAE,kIAAA,sBAAsB,OAAA;AAE/G,+CAAoD;AACpD,uEAAoG;AACpG,uEAAkE;AAGlE,SAAgB,0BAA0B,CAAC,gBAAgD;IACvF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACtG,OAAO,IAAI,iCAAmB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAHD,gEAGC;AAED,SAAS,yBAAyB,CAAC,gBAAyB;IACxD,IAAG,gBAAgB,EAAE;QACjB,OAAO,IAAI,6DAAmC,CAAC,iCAAM,CAAC,CAAC;KAC1D;IAED,OAAO,IAAI,4CAAkB,CAAC,iCAAM,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/integration.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { NewmanRunOptions } from 'newman';
|
|
2
|
-
import {
|
|
3
|
-
import { CollectionModifier } from './collection-modification';
|
|
2
|
+
import { ConfigProvider } from 'sealights-plugins-common';
|
|
3
|
+
import { CollectionModifier } from './collection-modification/collection-modifier';
|
|
4
4
|
import { SlNewmanConfig } from './config/sl-newman-config';
|
|
5
5
|
export declare class SlNewmanIntegration {
|
|
6
|
+
private slConfigProvider;
|
|
6
7
|
private collectionModifier;
|
|
7
8
|
private sealightsIntegration?;
|
|
8
|
-
private slConfig;
|
|
9
9
|
private newmanOptions;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
private useOtel;
|
|
11
|
+
private useAssertationName;
|
|
12
|
+
constructor(slConfigProvider: ConfigProvider<SlNewmanConfig>, collectionModifier: CollectionModifier);
|
|
13
|
+
run(newmanOptions: NewmanRunOptions): Promise<void>;
|
|
12
14
|
private getTestName;
|
|
13
15
|
private getTestsToExclude;
|
|
14
16
|
private getAndProcessExcludedTests;
|
|
@@ -21,5 +23,6 @@ export declare class SlNewmanIntegration {
|
|
|
21
23
|
private addOtelHeaders;
|
|
22
24
|
private processAssertation;
|
|
23
25
|
private registerTestEnd;
|
|
26
|
+
private reportTestEvents;
|
|
24
27
|
private stopAgent;
|
|
25
28
|
}
|
package/dist/integration.js
CHANGED
|
@@ -13,17 +13,23 @@ exports.SlNewmanIntegration = void 0;
|
|
|
13
13
|
const newman_1 = require("newman");
|
|
14
14
|
const sealights_plugins_common_1 = require("sealights-plugins-common");
|
|
15
15
|
const constants_1 = require("./constants");
|
|
16
|
+
const test_event_1 = require("./test-event");
|
|
17
|
+
const stub_summary_object_1 = require("./junit/stub-summary-object");
|
|
16
18
|
const testEventsMap = {};
|
|
17
19
|
class SlNewmanIntegration {
|
|
18
|
-
constructor(collectionModifier) {
|
|
20
|
+
constructor(slConfigProvider, collectionModifier) {
|
|
21
|
+
this.slConfigProvider = slConfigProvider;
|
|
19
22
|
this.collectionModifier = collectionModifier;
|
|
23
|
+
this.useOtel = slConfigProvider.getValue('useOtel');
|
|
24
|
+
this.useAssertationName = slConfigProvider.getValue('useAssertationName');
|
|
20
25
|
}
|
|
21
|
-
run(
|
|
26
|
+
run(newmanOptions) {
|
|
22
27
|
var _a;
|
|
23
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
if (this.useOtel && this.useAssertationName) {
|
|
30
|
+
sealights_plugins_common_1.logger.error('[newman-wrapper] options `useOtel` and `useAssertionNames` can\'t be used simultaneously');
|
|
31
|
+
}
|
|
32
|
+
yield this.initSealightsIntegration(this.slConfigProvider);
|
|
27
33
|
yield ((_a = this.sealightsIntegration) === null || _a === void 0 ? void 0 : _a.startExecution());
|
|
28
34
|
yield this.getTestsToExclude();
|
|
29
35
|
const modifiedCollection = yield this.collectionModifier.modify(newmanOptions.collection);
|
|
@@ -33,10 +39,12 @@ class SlNewmanIntegration {
|
|
|
33
39
|
});
|
|
34
40
|
}
|
|
35
41
|
getTestName(item) {
|
|
42
|
+
var _a;
|
|
36
43
|
const nameParts = [];
|
|
37
44
|
while (item) {
|
|
38
45
|
if (item.name) {
|
|
39
|
-
|
|
46
|
+
const itemName = ((_a = item.request) === null || _a === void 0 ? void 0 : _a.method) ? `${item.request.method} ${item.name}` : item.name;
|
|
47
|
+
nameParts.unshift(itemName);
|
|
40
48
|
}
|
|
41
49
|
item = item.__parent;
|
|
42
50
|
}
|
|
@@ -50,27 +58,10 @@ class SlNewmanIntegration {
|
|
|
50
58
|
});
|
|
51
59
|
}
|
|
52
60
|
getAndProcessExcludedTests() {
|
|
53
|
-
var _a, _b;
|
|
54
61
|
const excludedTests = this.collectionModifier.excludedItems;
|
|
55
62
|
const timestamp = Date.now();
|
|
56
63
|
for (const testName of excludedTests) {
|
|
57
|
-
|
|
58
|
-
name: testName,
|
|
59
|
-
start: timestamp,
|
|
60
|
-
end: timestamp,
|
|
61
|
-
status: sealights_plugins_common_1.TestResult.SKIPPED,
|
|
62
|
-
};
|
|
63
|
-
const suitename = this.testNameToSuiteName(testName);
|
|
64
|
-
(_a = this.sealightsIntegration) === null || _a === void 0 ? void 0 : _a.startTest({
|
|
65
|
-
name: testName,
|
|
66
|
-
suitename,
|
|
67
|
-
});
|
|
68
|
-
(_b = this.sealightsIntegration) === null || _b === void 0 ? void 0 : _b.endTest({
|
|
69
|
-
name: testName,
|
|
70
|
-
suitename,
|
|
71
|
-
result: sealights_plugins_common_1.TestResult.SKIPPED,
|
|
72
|
-
duration: 0,
|
|
73
|
-
});
|
|
64
|
+
this.reportTestEvents(testName, sealights_plugins_common_1.TestResult.SKIPPED, timestamp);
|
|
74
65
|
}
|
|
75
66
|
}
|
|
76
67
|
initSealightsIntegration(slOptions) {
|
|
@@ -95,7 +86,8 @@ class SlNewmanIntegration {
|
|
|
95
86
|
}
|
|
96
87
|
runNewman() {
|
|
97
88
|
sealights_plugins_common_1.logger.debug(`[newman-wrapper] newmanOptions passed to newman are: \n${JSON.stringify(this.newmanOptions)}`);
|
|
98
|
-
(0, newman_1.run)(this.newmanOptions, (err, summary) => this.newmanRunEndEventHandler(err, summary))
|
|
89
|
+
const runner = (0, newman_1.run)(this.newmanOptions, (err, summary) => this.newmanRunEndEventHandler(err, summary))
|
|
90
|
+
.on(constants_1.NewmanEvents.BEFORE_ITERATION, _ => this.newmanOptions.reporters.includes('junit') && (0, stub_summary_object_1.injectExcludedItemsIntoSummary)(runner.summary, this.collectionModifier.excludedItems))
|
|
99
91
|
.on(constants_1.NewmanEvents.BEFORE_ITEM, (_err, context) => this.registerTest(context.item))
|
|
100
92
|
.on(constants_1.NewmanEvents.BEFORE_REQUEST, (_context, item) => this.addOtelHeaders(item))
|
|
101
93
|
.on(constants_1.NewmanEvents.ASSERTATION, (err, { assertion, item, skipped }) => this.processAssertation(item, assertion, skipped, !err))
|
|
@@ -115,20 +107,11 @@ class SlNewmanIntegration {
|
|
|
115
107
|
}
|
|
116
108
|
}
|
|
117
109
|
registerTest(item) {
|
|
118
|
-
var _a;
|
|
119
110
|
const testName = this.getTestName(item);
|
|
120
|
-
testEventsMap[testName] =
|
|
121
|
-
name: testName,
|
|
122
|
-
start: Date.now(),
|
|
123
|
-
status: sealights_plugins_common_1.TestResult.PENDING,
|
|
124
|
-
};
|
|
125
|
-
(_a = this.sealightsIntegration) === null || _a === void 0 ? void 0 : _a.startTest({
|
|
126
|
-
name: testName,
|
|
127
|
-
suitename: this.testNameToSuiteName(testName),
|
|
128
|
-
});
|
|
111
|
+
testEventsMap[testName] = new test_event_1.TestEvent(testName);
|
|
129
112
|
}
|
|
130
113
|
addOtelHeaders(item) {
|
|
131
|
-
if (
|
|
114
|
+
if (this.useOtel) {
|
|
132
115
|
const headers = item.request.headers.members;
|
|
133
116
|
const testName = this.getTestName(item);
|
|
134
117
|
headers.push(this.buildBaggageHeader(testName));
|
|
@@ -136,25 +119,48 @@ class SlNewmanIntegration {
|
|
|
136
119
|
}
|
|
137
120
|
processAssertation(item, assertion, isSkipped, isPassed) {
|
|
138
121
|
const testName = this.getTestName(item);
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
122
|
+
const assertationEvent = {
|
|
123
|
+
status: null,
|
|
124
|
+
name: assertion,
|
|
125
|
+
end: Date.now(),
|
|
126
|
+
};
|
|
127
|
+
if (isSkipped) {
|
|
128
|
+
assertationEvent.status = sealights_plugins_common_1.TestResult.SKIPPED;
|
|
129
|
+
}
|
|
130
|
+
else if (!isPassed) {
|
|
131
|
+
assertationEvent.status = sealights_plugins_common_1.TestResult.FAILED;
|
|
142
132
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
testEventsMap[testName].status = sealights_plugins_common_1.TestResult.PASSED;
|
|
133
|
+
else {
|
|
134
|
+
assertationEvent.status = sealights_plugins_common_1.TestResult.PASSED;
|
|
146
135
|
}
|
|
147
|
-
testEventsMap[testName].
|
|
136
|
+
testEventsMap[testName].assertations.push(assertationEvent);
|
|
148
137
|
}
|
|
149
138
|
registerTestEnd(item) {
|
|
150
|
-
var _a;
|
|
151
139
|
const testName = this.getTestName(item);
|
|
152
140
|
const testEvent = testEventsMap[testName];
|
|
153
|
-
(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
141
|
+
if (this.useAssertationName) {
|
|
142
|
+
for (const assertation of testEvent.assertations) {
|
|
143
|
+
const name = testName + ' - ' + assertation.name;
|
|
144
|
+
this.reportTestEvents(name, assertation.status, testEvent.start, assertation.end);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.reportTestEvents(testName, testEvent.status, testEvent.start, testEvent.end);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
reportTestEvents(name, status, start, end = start) {
|
|
152
|
+
var _a, _b;
|
|
153
|
+
const suitename = this.testNameToSuiteName(name);
|
|
154
|
+
(_a = this.sealightsIntegration) === null || _a === void 0 ? void 0 : _a.startTest({
|
|
155
|
+
name,
|
|
156
|
+
suitename,
|
|
157
|
+
timestamp: start,
|
|
158
|
+
});
|
|
159
|
+
(_b = this.sealightsIntegration) === null || _b === void 0 ? void 0 : _b.endTest({
|
|
160
|
+
name,
|
|
161
|
+
suitename,
|
|
162
|
+
result: status,
|
|
163
|
+
duration: end - start,
|
|
158
164
|
});
|
|
159
165
|
}
|
|
160
166
|
stopAgent(error) {
|
package/dist/integration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA8E;AAE9E,
|
|
1
|
+
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { NewmanRunExecution, NewmanRunExecutionAssertion, NewmanRunExecutionItem } from 'newman';
|
|
2
|
+
export declare class ItemMock implements NewmanRunExecutionItem {
|
|
3
|
+
request: any;
|
|
4
|
+
responses: any;
|
|
5
|
+
events: any;
|
|
6
|
+
authorizeRequestUsing: any;
|
|
7
|
+
getAuth: any;
|
|
8
|
+
getEvents: any;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
describe: any;
|
|
11
|
+
toObjectResolved: any;
|
|
12
|
+
findInParents: any;
|
|
13
|
+
findParentContaining: any;
|
|
14
|
+
meta: any;
|
|
15
|
+
setParent: any;
|
|
16
|
+
toJSON: any;
|
|
17
|
+
private nameParts;
|
|
18
|
+
name: string;
|
|
19
|
+
id: string;
|
|
20
|
+
constructor(nameParts: string[]);
|
|
21
|
+
private static index;
|
|
22
|
+
private static getNextIndex;
|
|
23
|
+
parent(): any;
|
|
24
|
+
forEachParent(iterator: (item: any) => void): void;
|
|
25
|
+
forEachParent(options: {
|
|
26
|
+
withRoot: boolean;
|
|
27
|
+
}, iterator: (item: any) => void): void;
|
|
28
|
+
}
|
|
29
|
+
export declare class AssertationMock implements NewmanRunExecutionAssertion {
|
|
30
|
+
assertion: string;
|
|
31
|
+
skipped: boolean;
|
|
32
|
+
error: any;
|
|
33
|
+
constructor(assertion: string);
|
|
34
|
+
}
|
|
35
|
+
export declare class ExecutionMock implements NewmanRunExecution {
|
|
36
|
+
item: ItemMock;
|
|
37
|
+
assertions: AssertationMock[];
|
|
38
|
+
cursor: {
|
|
39
|
+
position: number;
|
|
40
|
+
iteration: number;
|
|
41
|
+
length: number;
|
|
42
|
+
cycles: number;
|
|
43
|
+
empty: boolean;
|
|
44
|
+
eof: boolean;
|
|
45
|
+
bof: boolean;
|
|
46
|
+
cr: boolean;
|
|
47
|
+
ref: string;
|
|
48
|
+
httpRequestId: string;
|
|
49
|
+
};
|
|
50
|
+
request: any;
|
|
51
|
+
response: any;
|
|
52
|
+
id: 'sl-execution-mock';
|
|
53
|
+
constructor(item: ItemMock, assertions?: AssertationMock[]);
|
|
54
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecutionMock = exports.AssertationMock = exports.ItemMock = void 0;
|
|
4
|
+
class ItemMock {
|
|
5
|
+
constructor(nameParts) {
|
|
6
|
+
this.request = null;
|
|
7
|
+
this.responses = null;
|
|
8
|
+
this.events = null;
|
|
9
|
+
this.authorizeRequestUsing = null;
|
|
10
|
+
this.getAuth = null;
|
|
11
|
+
this.getEvents = null;
|
|
12
|
+
this.disabled = false;
|
|
13
|
+
this.describe = null;
|
|
14
|
+
this.toObjectResolved = null;
|
|
15
|
+
this.findInParents = null;
|
|
16
|
+
this.findParentContaining = null;
|
|
17
|
+
this.meta = null;
|
|
18
|
+
this.setParent = null;
|
|
19
|
+
this.toJSON = null;
|
|
20
|
+
this.id = `sl-mock-item-${ItemMock.getNextIndex()}`;
|
|
21
|
+
const [name, ...restNames] = nameParts.reverse();
|
|
22
|
+
this.name = name;
|
|
23
|
+
this.nameParts = restNames;
|
|
24
|
+
}
|
|
25
|
+
static getNextIndex() {
|
|
26
|
+
return ItemMock.index++;
|
|
27
|
+
}
|
|
28
|
+
parent() { return true; }
|
|
29
|
+
forEachParent(arg1, arg2) {
|
|
30
|
+
let iterator = arg1;
|
|
31
|
+
if (arg2) {
|
|
32
|
+
iterator = arg2;
|
|
33
|
+
}
|
|
34
|
+
for (const namePart of this.nameParts) {
|
|
35
|
+
iterator({ name: namePart });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.ItemMock = ItemMock;
|
|
40
|
+
ItemMock.index = 0;
|
|
41
|
+
class AssertationMock {
|
|
42
|
+
constructor(assertion) {
|
|
43
|
+
this.assertion = assertion;
|
|
44
|
+
this.skipped = true;
|
|
45
|
+
this.error = undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.AssertationMock = AssertationMock;
|
|
49
|
+
class ExecutionMock {
|
|
50
|
+
constructor(item, assertions = []) {
|
|
51
|
+
this.item = item;
|
|
52
|
+
this.assertions = assertions;
|
|
53
|
+
this.cursor = {
|
|
54
|
+
position: 0,
|
|
55
|
+
iteration: 0,
|
|
56
|
+
length: 1,
|
|
57
|
+
cycles: 1,
|
|
58
|
+
empty: false,
|
|
59
|
+
eof: false,
|
|
60
|
+
bof: true,
|
|
61
|
+
cr: false,
|
|
62
|
+
ref: 'sl-mock',
|
|
63
|
+
httpRequestId: 'sl-mock',
|
|
64
|
+
};
|
|
65
|
+
this.request = null;
|
|
66
|
+
this.response = null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.ExecutionMock = ExecutionMock;
|
|
70
|
+
//# sourceMappingURL=mocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../src/junit/mocks.ts"],"names":[],"mappings":";;;AAEA,MAAa,QAAQ;IAqBjB,YAAY,SAAmB;QApB/B,YAAO,GAAG,IAAI,CAAC;QACf,cAAS,GAAG,IAAI,CAAC;QACjB,WAAM,GAAG,IAAI,CAAC;QACd,0BAAqB,GAAG,IAAI,CAAC;QAC7B,YAAO,GAAG,IAAI,CAAC;QACf,cAAS,GAAG,IAAI,CAAC;QAEjB,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAG,IAAI,CAAC;QAChB,qBAAgB,GAAG,IAAI,CAAC;QACxB,kBAAa,GAAG,IAAI,CAAC;QACrB,yBAAoB,GAAG,IAAI,CAAC;QAC5B,SAAI,GAAG,IAAI,CAAC;QACZ,cAAS,GAAG,IAAI,CAAC;QACjB,WAAM,GAAG,IAAI,CAAC;QAId,OAAE,GAAW,gBAAgB,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAGnD,MAAM,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAGO,MAAM,CAAC,YAAY;QACvB,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,OAAO,IAAW,CAAA,CAAC,CAAC;IAM/B,aAAa,CAAC,IAAS,EAAE,IAAU;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,EAAE;YACN,QAAQ,GAAG,IAAI,CAAC;SACnB;QAED,KAAI,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YAClC,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;SAC9B;IACL,CAAC;;AAhDL,4BAiDC;AAtBkB,cAAK,GAAG,CAAC,AAAJ,CAAK;AAwB7B,MAAa,eAAe;IAIxB,YAAmB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAHpC,YAAO,GAAG,IAAI,CAAC;QACf,UAAK,GAAG,SAAS,CAAC;IAEoB,CAAC;CAC1C;AALD,0CAKC;AAED,MAAa,aAAa;IAiBtB,YAAmB,IAAc,EAAS,aAAgC,EAAE;QAAzD,SAAI,GAAJ,IAAI,CAAU;QAAS,eAAU,GAAV,UAAU,CAAwB;QAhB5E,WAAM,GAAG;YACL,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;YACT,EAAE,EAAE,KAAK;YACT,GAAG,EAAE,SAAS;YACd,aAAa,EAAE,SAAS;SAC3B,CAAC;QACF,YAAO,GAAG,IAAI,CAAC;QACf,aAAQ,GAAG,IAAI,CAAC;IAGgE,CAAC;CACpF;AAlBD,sCAkBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { NewmanRunSummary } from 'newman';
|
|
2
|
+
import { AssertationMock, ItemMock } from './mocks';
|
|
3
|
+
interface ItemAssertionPair {
|
|
4
|
+
item: ItemMock;
|
|
5
|
+
assertions: AssertationMock[];
|
|
6
|
+
}
|
|
7
|
+
export declare function injectExcludedItemsIntoSummary(summary: NewmanRunSummary, excludedItems: string[]): void;
|
|
8
|
+
export declare function parseExcludedItems(excludedItems: string[]): Array<ItemAssertionPair>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseExcludedItems = exports.injectExcludedItemsIntoSummary = void 0;
|
|
4
|
+
const mocks_1 = require("./mocks");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
function injectExcludedItemsIntoSummary(summary, excludedItems) {
|
|
8
|
+
const pairs = parseExcludedItems(excludedItems);
|
|
9
|
+
for (const { item, assertions } of pairs) {
|
|
10
|
+
const execution = new mocks_1.ExecutionMock(item, assertions);
|
|
11
|
+
summary.run.executions.push(execution);
|
|
12
|
+
summary.run.stats.tests.total += assertions.length;
|
|
13
|
+
}
|
|
14
|
+
const originalForEachItem = summary.collection.forEachItem;
|
|
15
|
+
summary.collection.forEachItem = function (cb, ...args) {
|
|
16
|
+
for (const { item } of pairs) {
|
|
17
|
+
cb.call(summary.collection, item);
|
|
18
|
+
}
|
|
19
|
+
originalForEachItem.call(summary.collection, cb, ...args);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.injectExcludedItemsIntoSummary = injectExcludedItemsIntoSummary;
|
|
23
|
+
function parseExcludedItems(excludedItems) {
|
|
24
|
+
const dictionary = excludedItems.reduce((dic, fullName) => {
|
|
25
|
+
const { assertationName, requestName: fullRequestName, folderNameParts: nameParts } = (0, utils_1.parseFullTestName)(fullName, constants_1.SPLITTER);
|
|
26
|
+
const { requestName } = (0, utils_1.parseRequestName)(fullRequestName);
|
|
27
|
+
nameParts.shift();
|
|
28
|
+
nameParts.push(requestName);
|
|
29
|
+
const itemName = nameParts.join(constants_1.SPLITTER);
|
|
30
|
+
if (!dic[itemName]) {
|
|
31
|
+
dic[itemName] = {
|
|
32
|
+
item: new mocks_1.ItemMock(nameParts),
|
|
33
|
+
assertions: [],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
dic[itemName].assertions.push(new mocks_1.AssertationMock(assertationName));
|
|
37
|
+
return dic;
|
|
38
|
+
}, {});
|
|
39
|
+
return Object.values(dictionary);
|
|
40
|
+
}
|
|
41
|
+
exports.parseExcludedItems = parseExcludedItems;
|
|
42
|
+
//# sourceMappingURL=stub-summary-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-summary-object.js","sourceRoot":"","sources":["../../src/junit/stub-summary-object.ts"],"names":[],"mappings":";;;AACA,mCAAmE;AACnE,4CAAwC;AACxC,oCAA+D;AAO/D,SAAgB,8BAA8B,CAAC,OAAyB,EAAE,aAAuB;IAC7F,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAEhD,KAAI,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,qBAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC;KACtD;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAA;IAC1D,OAAO,CAAC,UAAU,CAAC,WAAW,GAAG,UAAS,EAAE,EAAE,GAAG,IAAI;QACjD,KAAI,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE;YACzB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;QACD,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;AACN,CAAC;AAhBD,wEAgBC;AAED,SAAgB,kBAAkB,CAAC,aAAuB;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QACtD,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,IAAA,yBAAiB,EAAC,QAAQ,EAAE,oBAAQ,CAAC,CAAC;QAC5H,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,wBAAgB,EAAC,eAAe,CAAC,CAAC;QAG1D,SAAS,CAAC,KAAK,EAAE,CAAC;QAElB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,oBAAQ,CAAC,CAAC;QAE1C,IAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;YACd,GAAG,CAAC,QAAQ,CAAC,GAAG;gBACZ,IAAI,EAAE,IAAI,gBAAQ,CAAC,SAAS,CAAC;gBAC7B,UAAU,EAAE,EAAE;aACjB,CAAA;SACJ;QAED,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,uBAAe,CAAC,eAAe,CAAC,CAAC,CAAA;QACnE,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAuC,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAvBD,gDAuBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TestResult } from 'sealights-plugins-common';
|
|
2
|
+
interface IAssertion {
|
|
3
|
+
name: string;
|
|
4
|
+
status: TestResult;
|
|
5
|
+
end: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ITestEvent {
|
|
8
|
+
name: string;
|
|
9
|
+
start: number;
|
|
10
|
+
status: TestResult;
|
|
11
|
+
end: number;
|
|
12
|
+
assertations: Array<IAssertion>;
|
|
13
|
+
}
|
|
14
|
+
export declare class TestEvent implements ITestEvent {
|
|
15
|
+
name: string;
|
|
16
|
+
start: number;
|
|
17
|
+
assertations: Array<IAssertion>;
|
|
18
|
+
constructor(name: string, start?: number, assertations?: Array<IAssertion>);
|
|
19
|
+
get status(): TestResult;
|
|
20
|
+
get end(): number;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TestEvent = void 0;
|
|
4
|
+
const sealights_plugins_common_1 = require("sealights-plugins-common");
|
|
5
|
+
class TestEvent {
|
|
6
|
+
constructor(name, start = Date.now(), assertations = []) {
|
|
7
|
+
this.name = name;
|
|
8
|
+
this.start = start;
|
|
9
|
+
this.assertations = assertations;
|
|
10
|
+
}
|
|
11
|
+
get status() {
|
|
12
|
+
let s = sealights_plugins_common_1.TestResult.PENDING;
|
|
13
|
+
for (const assertion of this.assertations) {
|
|
14
|
+
if (assertion.status === sealights_plugins_common_1.TestResult.PENDING) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (assertion.status === sealights_plugins_common_1.TestResult.FAILED) {
|
|
18
|
+
s = sealights_plugins_common_1.TestResult.FAILED;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
if (assertion.status === sealights_plugins_common_1.TestResult.PASSED) {
|
|
22
|
+
s = sealights_plugins_common_1.TestResult.PASSED;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return s;
|
|
26
|
+
}
|
|
27
|
+
get end() {
|
|
28
|
+
return this.assertations.reduce((max, assertion) => max > assertion.end ? assertion.end : max, 0);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.TestEvent = TestEvent;
|
|
32
|
+
//# sourceMappingURL=test-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-event.js","sourceRoot":"","sources":["../src/test-event.ts"],"names":[],"mappings":";;;AAAA,uEAAsD;AAgBtD,MAAa,SAAS;IAClB,YACW,IAAY,EACZ,QAAgB,IAAI,CAAC,GAAG,EAAE,EAC1B,eAAkC,EAAE;QAFpC,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAqB;QAC1B,iBAAY,GAAZ,YAAY,CAAwB;IAC5C,CAAC;IAEJ,IAAI,MAAM;QACN,IAAI,CAAC,GAAe,qCAAU,CAAC,OAAO,CAAC;QACvC,KAAI,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;YACtC,IAAG,SAAS,CAAC,MAAM,KAAK,qCAAU,CAAC,OAAO,EAAC;gBAEvC,SAAS;aACZ;YACD,IAAG,SAAS,CAAC,MAAM,KAAK,qCAAU,CAAC,MAAM,EAAC;gBAEtC,CAAC,GAAG,qCAAU,CAAC,MAAM,CAAC;gBACtB,MAAM;aACT;YACD,IAAG,SAAS,CAAC,MAAM,KAAK,qCAAU,CAAC,MAAM,EAAC;gBAEtC,CAAC,GAAG,qCAAU,CAAC,MAAM,CAAC;aACzB;SACJ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,GAAG;QAEH,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC;IACvG,CAAC;CACJ;AA/BD,8BA+BC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function parseFullTestName(testName: string, splitter?: string): {
|
|
2
|
+
assertationName: string;
|
|
3
|
+
requestName: string;
|
|
4
|
+
itemName: string;
|
|
5
|
+
folderNameParts: string[];
|
|
6
|
+
};
|
|
7
|
+
export declare function parseRequestName(requestName: string, splitter?: string): {
|
|
8
|
+
requestType: string;
|
|
9
|
+
requestName: string;
|
|
10
|
+
};
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseRequestName = exports.parseFullTestName = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
function parseFullTestName(testName, splitter = constants_1.SPLITTER) {
|
|
6
|
+
const nameParts = testName.split(splitter);
|
|
7
|
+
const assertationName = nameParts.pop();
|
|
8
|
+
const itemName = nameParts.join(splitter);
|
|
9
|
+
const requestName = nameParts.pop();
|
|
10
|
+
return {
|
|
11
|
+
assertationName,
|
|
12
|
+
requestName,
|
|
13
|
+
itemName,
|
|
14
|
+
folderNameParts: nameParts,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.parseFullTestName = parseFullTestName;
|
|
18
|
+
function parseRequestName(requestName, splitter = ' ') {
|
|
19
|
+
const [requestType, ...requestNameParts] = requestName.split(splitter);
|
|
20
|
+
return {
|
|
21
|
+
requestType,
|
|
22
|
+
requestName: requestNameParts.join(splitter),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.parseRequestName = parseRequestName;
|
|
26
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAEvC,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,QAAQ,GAAG,oBAAQ;IACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IAEpC,OAAO;QACH,eAAe;QACf,WAAW;QACX,QAAQ;QACR,eAAe,EAAE,SAAS;KAC7B,CAAA;AACL,CAAC;AAZD,8CAYC;AAED,SAAgB,gBAAgB,CAAC,WAAmB,EAAE,QAAQ,GAAG,GAAG;IAChE,MAAM,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxE,OAAO;QACH,WAAW;QACX,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC/C,CAAA;AACL,CAAC;AAND,4CAMC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "2.0.
|
|
1
|
+
export declare const version = "2.0.39";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sealights-newman-wrapper",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.39",
|
|
4
4
|
"description": "Sealights agent for Newman",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": "bin/index.js",
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"newman": ">= 2 < 7"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "7194202c5e65a384696234f5de42431a9f1cdb31"
|
|
38
38
|
}
|