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.
Files changed (36) hide show
  1. package/dist/cli/index.js +20 -6
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/collection-modification/collection-modifier-for-assertation-names.d.ts +6 -0
  4. package/dist/collection-modification/collection-modifier-for-assertation-names.js +28 -0
  5. package/dist/collection-modification/collection-modifier-for-assertation-names.js.map +1 -0
  6. package/dist/collection-modification/collection-modifier.d.ts +15 -0
  7. package/dist/collection-modification/collection-modifier.js +68 -0
  8. package/dist/collection-modification/collection-modifier.js.map +1 -0
  9. package/dist/collection-modification/index.d.ts +2 -13
  10. package/dist/collection-modification/index.js +5 -60
  11. package/dist/collection-modification/index.js.map +1 -1
  12. package/dist/config/sl-newman-config.d.ts +2 -1
  13. package/dist/constants.d.ts +1 -0
  14. package/dist/constants.js +1 -1
  15. package/dist/constants.js.map +1 -1
  16. package/dist/index.d.ts +7 -5
  17. package/dist/index.js +12 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/integration.d.ts +8 -5
  20. package/dist/integration.js +55 -49
  21. package/dist/integration.js.map +1 -1
  22. package/dist/junit/mocks.d.ts +54 -0
  23. package/dist/junit/mocks.js +70 -0
  24. package/dist/junit/mocks.js.map +1 -0
  25. package/dist/junit/stub-summary-object.d.ts +9 -0
  26. package/dist/junit/stub-summary-object.js +42 -0
  27. package/dist/junit/stub-summary-object.js.map +1 -0
  28. package/dist/test-event.d.ts +22 -0
  29. package/dist/test-event.js +32 -0
  30. package/dist/test-event.js.map +1 -0
  31. package/dist/utils.d.ts +10 -0
  32. package/dist/utils.js +26 -0
  33. package/dist/utils.js.map +1 -0
  34. package/dist/version.d.ts +1 -1
  35. package/dist/version.js +1 -1
  36. 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
- const argv = minimist(process.argv.slice(2));
10
- const defaultConfig = new sealights_plugins_common_1.ConfigProvider({ disableOtel: false });
11
- const cliConfig = new sealights_plugins_common_1.CliSlConfigProvider();
12
- const config = new sealights_plugins_common_1.CombinedConfigProvider(defaultConfig, cliConfig);
13
- sealights_plugins_common_1.logger.debug(`[newman-wrapper] CLI received the following argv:\n${JSON.stringify(process.argv.slice(2))}`);
14
- index_1.slNewman.run(config, getNewmanOptions(argv));
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);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
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
- import type { CollectionDefinition, ItemGroupDefinition } from "postman-collection";
2
- export declare class CollectionModifier {
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
- 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 = {};
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":";;;;;;;;;;;;AAOA,yBAAyB;AACzB,4CAAwC;AAExC,MAAa,kBAAkB;IAK3B,YACY,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QALvB,kBAAa,GAAG,EAAc,CAAC;QACvB,mBAAc,GAAG,EAA6B,CAAC;QACvD,uBAAkB,GAAG,EAA0B,CAAC;IAI5C,CAAC;IAEL,iBAAiB,CAAC,iBAA0C,EAAE;QAC1D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,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,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAQ,CAAC,CAAC;YAC/D,IAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBAE9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,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;AAzDD,gDAyDC;AAED,SAAS,QAAQ,CAAmB,GAAM;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC"}
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"}
@@ -1,4 +1,5 @@
1
1
  import { ITestRunnerArgs } from 'sealights-plugins-common';
2
2
  export interface SlNewmanConfig extends ITestRunnerArgs {
3
- disableOtel: boolean;
3
+ useOtel: boolean;
4
+ useAssertationName: boolean;
4
5
  }
@@ -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
@@ -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,YAMX;AAND,WAAY,YAAY;IACpB,0CAA0B,CAAA;IAC1B,gDAAgC,CAAA;IAChC,yCAAyB,CAAA;IACzB,6BAAa,CAAA;IACb,6BAAa,CAAA;AACjB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAAA,CAAC"}
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 "./integration";
2
- export { CollectionModifier } from "./collection-modification";
3
- export { ConfigProvider, CliSlConfigProvider, EnvSlConfigProvider, FileSlConfigProvider, CombinedConfigProvider } from "sealights-plugins-common";
4
- import { SlNewmanIntegration } from "./integration";
5
- export declare const slNewman: SlNewmanIntegration;
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.slNewman = exports.CombinedConfigProvider = exports.FileSlConfigProvider = exports.EnvSlConfigProvider = exports.CliSlConfigProvider = exports.ConfigProvider = exports.CollectionModifier = exports.SlNewmanIntegration = void 0;
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
- const collectionModifier = new collection_modification_2.CollectionModifier(sealights_plugins_common_2.logger);
18
- exports.slNewman = new integration_2.SlNewmanIntegration(collectionModifier);
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,uEAA+D;AAC/D,uEAAkD;AAElD,MAAM,kBAAkB,GAAG,IAAI,4CAAkB,CAAC,iCAAM,CAAC,CAAC;AAC7C,QAAA,QAAQ,GAAG,IAAI,iCAAmB,CAAC,kBAAkB,CAAC,CAAC"}
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"}
@@ -1,14 +1,16 @@
1
1
  import { NewmanRunOptions } from 'newman';
2
- import { ISlPluginConfigProvider } from 'sealights-plugins-common';
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
- constructor(collectionModifier: CollectionModifier);
11
- run(slOptions: ISlPluginConfigProvider<SlNewmanConfig>, newmanOptions: NewmanRunOptions): Promise<void>;
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
  }
@@ -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(slOptions, newmanOptions) {
26
+ run(newmanOptions) {
22
27
  var _a;
23
28
  return __awaiter(this, void 0, void 0, function* () {
24
- yield slOptions.init();
25
- this.slConfig = slOptions.getConfig();
26
- yield this.initSealightsIntegration(slOptions);
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
- nameParts.unshift(item.name);
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
- testEventsMap[testName] = {
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 (!this.slConfig.disableOtel) {
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
- if (!isPassed && testEventsMap[testName].status !== sealights_plugins_common_1.TestResult.FAILED) {
140
- sealights_plugins_common_1.logger.debug(`[newman-wrapper] Assertion "${assertion}" failed. "${testName}" marked as failed`);
141
- testEventsMap[testName].status = sealights_plugins_common_1.TestResult.FAILED;
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
- if (isPassed && !isSkipped && testEventsMap[testName].status === sealights_plugins_common_1.TestResult.PENDING) {
144
- sealights_plugins_common_1.logger.debug(`[newman-wrapper] Assertion "${assertion}" passed. "${testName}" not marked as PENDING anymore`);
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].end = Date.now();
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
- (_a = this.sealightsIntegration) === null || _a === void 0 ? void 0 : _a.endTest({
154
- name: testEvent.name,
155
- suitename: this.testNameToSuiteName(testEvent.name),
156
- result: testEvent.status,
157
- duration: testEvent.end - testEvent.start,
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"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"}
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"}
@@ -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.31";
1
+ export declare const version = "2.0.39";
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "2.0.31";
4
+ exports.version = "2.0.39";
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sealights-newman-wrapper",
3
- "version": "2.0.31",
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": "45984e7fc59b5f234fb75e439f2d43027b2c6161"
37
+ "gitHead": "7194202c5e65a384696234f5de42431a9f1cdb31"
38
38
  }