testit-adapter-cucumber 4.0.5 → 4.1.1-TMS-5.7

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/README.md CHANGED
@@ -12,6 +12,10 @@ npm install testit-adapter-cucumber
12
12
 
13
13
  ### Configuration
14
14
 
15
+ #### Log level
16
+
17
+ The adapter includes a custom logger; the default level is `warn`. Set another level at runtime with the `LOG_LEVEL` environment variable: `error`, `warn`, `info`, or `debug`.
18
+
15
19
  | Description | File property | Environment variable |
16
20
  |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------|--------------------------------------------|
17
21
  | Location of the TMS instance | url | TMS_URL |
@@ -24,6 +28,7 @@ npm install testit-adapter-cucumber
24
28
  | It enables/disables certificate validation (**It's optional**). Default value - true | certValidation | TMS_CERT_VALIDATION |
25
29
  | Mode of automatic creation test cases (**It's optional**). Default value - false. The adapter supports following modes:<br/>true - in this mode, the adapter will create a test case linked to the created autotest (not to the updated autotest)<br/>false - in this mode, the adapter will not create a test case | automaticCreationTestCases | TMS_AUTOMATIC_CREATION_TEST_CASES |
26
30
  | Mode of automatic updation links to test cases (**It's optional**). Default value - false. The adapter supports following modes:<br/>true - in this mode, the adapter will update links to test cases<br/>false - in this mode, the adapter will not update link to test cases | automaticUpdationLinksToTestCases | TMS_AUTOMATIC_UPDATION_LINKS_TO_TEST_CASES |
31
+ | Logger level, default value is `warn`, available values: [`error`, `warn`, `info`, `debug`] | | LOG_LEVEL |
27
32
 
28
33
  Create `tms.config.json` file in the root directory of the project:
29
34
  ```json
@@ -8,6 +8,10 @@ export default class TestItFormatter extends Formatter implements IFormatter {
8
8
  private readonly additions;
9
9
  private readonly storage;
10
10
  private readonly setupPromise;
11
+ private readonly importRealtime;
12
+ /** One TMS publish per Cucumber test execution (testCaseStarted.id). */
13
+ private readonly sentTestCaseStartedIds;
14
+ private realtimeSendChain;
11
15
  private currentTestCaseId;
12
16
  private attachmentsQueue;
13
17
  constructor(options: IFormatterOptions);
@@ -19,9 +23,12 @@ export default class TestItFormatter extends Formatter implements IFormatter {
19
23
  onTestCaseStarted(testCaseStarted: TestCaseStarted): void;
20
24
  testStepStarted(testStepStarted: TestStepStarted): void;
21
25
  onTestStepFinished(testStepFinished: TestStepFinished): void;
22
- testCaseFinished(testCaseFinished: TestCaseFinished): void;
26
+ testCaseFinished(testCaseFinished: TestCaseFinished): Promise<void>;
23
27
  onTestRunFinished(_testRunFinished: TestRunFinished): Promise<void>;
24
28
  addMessage(message: string): void;
25
29
  addLinks(links: Link[]): void;
26
30
  addAttachments(attachments: string[]): void;
31
+ private enqueueRealtimeSend;
32
+ private publishRealtimeResult;
33
+ private catchUpRealtimeResults;
27
34
  }
package/dist/formatter.js CHANGED
@@ -12,13 +12,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const testit_js_commons_1 = require("testit-js-commons");
13
13
  const cucumber_1 = require("@cucumber/cucumber");
14
14
  const storage_1 = require("./storage");
15
- const utils_1 = require("./utils");
15
+ const testit_js_commons_2 = require("testit-js-commons");
16
16
  class TestItFormatter extends cucumber_1.Formatter {
17
17
  constructor(options) {
18
18
  super(options);
19
+ /** One TMS publish per Cucumber test execution (testCaseStarted.id). */
20
+ this.sentTestCaseStartedIds = new Set();
21
+ this.realtimeSendChain = Promise.resolve();
19
22
  this.attachmentsQueue = [];
20
23
  this.installUnhandledRejectionHandler();
21
24
  const config = new testit_js_commons_1.ConfigComposer().compose(options.parsedArgvOptions);
25
+ this.importRealtime = Boolean(config.importRealtime);
26
+ testit_js_commons_2.logger.debug("[cucumber] formatter init", { importRealtime: this.importRealtime });
22
27
  this.strategy = testit_js_commons_1.StrategyFactory.create(config);
23
28
  this.additions = new testit_js_commons_1.Additions(config);
24
29
  this.storage = new storage_1.Storage();
@@ -26,7 +31,7 @@ class TestItFormatter extends cucumber_1.Formatter {
26
31
  options.eventBroadcaster.on("envelope", (envelope) => {
27
32
  void this.handleEnvelope(envelope).catch((err) => {
28
33
  var _a, _b;
29
- console.error("Unhandled async error in Cucumber formatter envelope handler:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
34
+ testit_js_commons_2.logger.error("Unhandled async error in Cucumber formatter envelope handler:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
30
35
  });
31
36
  });
32
37
  options.supportCodeLibrary.World.prototype.addMessage = this.addMessage.bind(this);
@@ -41,7 +46,7 @@ class TestItFormatter extends cucumber_1.Formatter {
41
46
  process.on("unhandledRejection", (reason) => {
42
47
  var _a, _b;
43
48
  const normalized = (_b = (_a = reason === null || reason === void 0 ? void 0 : reason.body) !== null && _a !== void 0 ? _a : reason === null || reason === void 0 ? void 0 : reason.error) !== null && _b !== void 0 ? _b : reason;
44
- console.error("Unhandled promise rejection in Cucumber formatter:", normalized);
49
+ testit_js_commons_2.logger.error("Unhandled promise rejection in Cucumber formatter:", normalized);
45
50
  });
46
51
  }
47
52
  handleEnvelope(envelope) {
@@ -53,13 +58,14 @@ class TestItFormatter extends cucumber_1.Formatter {
53
58
  if (envelope.pickle) {
54
59
  const resolvedAutotests = yield this.strategy.testsInRun;
55
60
  if (resolvedAutotests !== undefined) {
56
- const tags = (0, utils_1.parseTags)(envelope.pickle.tags);
57
- for (const externalId of resolvedAutotests) {
58
- if (externalId === tags.externalId) {
59
- this.onPickle(envelope.pickle);
61
+ this.onPickle(envelope.pickle);
62
+ const pickleExternalId = this.storage.resolvePickleExternalId(envelope.pickle);
63
+ for (const resolvedExternalId of resolvedAutotests) {
64
+ if (resolvedExternalId === pickleExternalId) {
60
65
  return;
61
66
  }
62
67
  }
68
+ return;
63
69
  }
64
70
  else {
65
71
  this.onPickle(envelope.pickle);
@@ -83,7 +89,7 @@ class TestItFormatter extends cucumber_1.Formatter {
83
89
  return;
84
90
  }
85
91
  if (envelope.testCaseFinished) {
86
- this.testCaseFinished(envelope.testCaseFinished);
92
+ yield this.testCaseFinished(envelope.testCaseFinished);
87
93
  return;
88
94
  }
89
95
  if (envelope.testRunFinished) {
@@ -111,8 +117,13 @@ class TestItFormatter extends cucumber_1.Formatter {
111
117
  this.storage.saveTestStepFinished(testStepFinished);
112
118
  }
113
119
  testCaseFinished(testCaseFinished) {
114
- this.currentTestCaseId = undefined;
115
- this.storage.saveTestCaseFinished(testCaseFinished);
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ this.currentTestCaseId = undefined;
122
+ this.storage.saveTestCaseFinished(testCaseFinished);
123
+ if (this.importRealtime) {
124
+ yield this.enqueueRealtimeSend(testCaseFinished.testCaseStartedId);
125
+ }
126
+ });
116
127
  }
117
128
  onTestRunFinished(_testRunFinished) {
118
129
  var _a, _b;
@@ -121,29 +132,36 @@ class TestItFormatter extends cucumber_1.Formatter {
121
132
  yield this.setupPromise;
122
133
  yield this.strategy.testRunId;
123
134
  yield Promise.allSettled(this.attachmentsQueue);
124
- const results = this.storage.getTestRunResults();
125
- const autotests = this.storage.getAutotests();
126
- yield Promise.allSettled(autotests.map((autotestPost) => {
127
- const result = results.find((r) => r.autoTestExternalId === autotestPost.externalId);
128
- if (result !== undefined) {
129
- return this.strategy.loadAutotest(autotestPost, result.outcome).catch((err) => {
130
- var _a, _b;
131
- console.error("Cucumber loadAutotest failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
132
- });
133
- }
134
- return Promise.resolve();
135
- }));
136
- yield this.strategy.loadTestRun(results).catch((err) => {
137
- var _a, _b;
138
- console.error("Cucumber loadTestRun failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
139
- });
135
+ if (this.importRealtime) {
136
+ yield this.realtimeSendChain;
137
+ yield this.catchUpRealtimeResults();
138
+ }
139
+ else {
140
+ testit_js_commons_2.logger.debug("[cucumber] onTestRunFinished batch");
141
+ const results = this.storage.getTestRunResults();
142
+ const autotests = this.storage.getAutotests();
143
+ yield Promise.allSettled(autotests.map((autotestPost) => {
144
+ const result = results.find((r) => r.autoTestExternalId === autotestPost.externalId);
145
+ if (result !== undefined) {
146
+ return this.strategy.loadAutotest(autotestPost, result.outcome).catch((err) => {
147
+ var _a, _b;
148
+ testit_js_commons_2.logger.error("Cucumber loadAutotest failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
149
+ });
150
+ }
151
+ return Promise.resolve();
152
+ }));
153
+ yield this.strategy.loadTestRun(results).catch((err) => {
154
+ var _a, _b;
155
+ testit_js_commons_2.logger.error("Cucumber loadTestRun failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
156
+ });
157
+ }
140
158
  yield this.strategy.teardown().catch((err) => {
141
159
  var _a, _b;
142
- console.error("Cucumber teardown failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
160
+ testit_js_commons_2.logger.error("Cucumber teardown failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
143
161
  });
144
162
  }
145
163
  catch (err) {
146
- console.error("Cucumber onTestRunFinished failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
164
+ testit_js_commons_2.logger.error("Cucumber onTestRunFinished failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
147
165
  }
148
166
  });
149
167
  }
@@ -176,16 +194,62 @@ class TestItFormatter extends cucumber_1.Formatter {
176
194
  }
177
195
  catch (err) {
178
196
  lastErr = err;
179
- console.log("Error load attachments (attempt): \n", attachments, "\n", attempt, "\n", err);
197
+ testit_js_commons_2.logger.debug("[cucumber] attachment upload retry", { attempt, attachments });
198
+ testit_js_commons_2.logger.log("Error load attachments (attempt): \n", attachments, "\n", attempt, "\n", err);
180
199
  if (attempt < maxAttempts) {
181
200
  yield new Promise((r) => setTimeout(r, 400 * attempt));
182
201
  }
183
202
  }
184
203
  }
185
- console.error("Error load attachments (gave up): \n", attachments, "\n", lastErr);
204
+ testit_js_commons_2.logger.error("Error load attachments (gave up): \n", attachments, "\n", lastErr);
186
205
  }))();
187
206
  this.attachmentsQueue.push(promise);
188
207
  }
208
+ enqueueRealtimeSend(testCaseStartedId) {
209
+ const task = this.realtimeSendChain.then(() => this.publishRealtimeResult(testCaseStartedId));
210
+ this.realtimeSendChain = task.catch(() => undefined);
211
+ return task;
212
+ }
213
+ publishRealtimeResult(testCaseStartedId) {
214
+ var _a, _b;
215
+ return __awaiter(this, void 0, void 0, function* () {
216
+ if (this.sentTestCaseStartedIds.has(testCaseStartedId)) {
217
+ testit_js_commons_2.logger.debug("[cucumber] realtime skip: already sent", { testCaseStartedId });
218
+ return;
219
+ }
220
+ yield Promise.allSettled(this.attachmentsQueue);
221
+ const payload = this.storage.getRealtimePayload(testCaseStartedId);
222
+ if (payload === undefined) {
223
+ testit_js_commons_2.logger.debug("[cucumber] realtime skip: not ready", { testCaseStartedId });
224
+ return;
225
+ }
226
+ this.sentTestCaseStartedIds.add(testCaseStartedId);
227
+ const { autotest, result } = payload;
228
+ testit_js_commons_2.logger.debug("[cucumber] realtime send", {
229
+ testCaseStartedId,
230
+ externalId: autotest.externalId,
231
+ outcome: result.outcome,
232
+ });
233
+ try {
234
+ yield this.strategy.loadAutotest(autotest, result.outcome);
235
+ yield this.strategy.loadTestRun([result]);
236
+ }
237
+ catch (err) {
238
+ this.sentTestCaseStartedIds.delete(testCaseStartedId);
239
+ testit_js_commons_2.logger.error("Cucumber realtime publish failed:", (_b = (_a = err === null || err === void 0 ? void 0 : err.body) !== null && _a !== void 0 ? _a : err === null || err === void 0 ? void 0 : err.error) !== null && _b !== void 0 ? _b : err);
240
+ throw err;
241
+ }
242
+ });
243
+ }
244
+ catchUpRealtimeResults() {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ const pending = this.storage.listCatchUpRealtimePayloads(this.sentTestCaseStartedIds);
247
+ testit_js_commons_2.logger.debug("[cucumber] catch-up realtime", { pending: pending.length, sent: this.sentTestCaseStartedIds.size });
248
+ for (const { testCaseStartedId } of pending) {
249
+ yield this.publishRealtimeResult(testCaseStartedId);
250
+ }
251
+ });
252
+ }
189
253
  }
190
254
  exports.default = TestItFormatter;
191
255
  TestItFormatter.unhandledRejectionHandlerInstalled = false;
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
package/dist/mappers.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Background, DataTable, Examples, GherkinDocument, Rule, Scenario, Step as CucumberStep } from "@cucumber/messages";
1
+ import { Background, DataTable, Examples, GherkinDocument, Pickle, PickleStep, Rule, Scenario, Step as CucumberStep } from "@cucumber/messages";
2
2
  import { AutotestPost, ShortStep } from "testit-js-commons";
3
3
  export declare function mapDate(date: number): Date;
4
4
  export declare function mapDocument(document: GherkinDocument): AutotestPost[];
@@ -7,4 +7,18 @@ export declare function mapRule(document: GherkinDocument, rule: Rule, setup: Sh
7
7
  export declare function mapScenario(document: GherkinDocument, scenario: Scenario, setup: ShortStep[]): AutotestPost;
8
8
  export declare function mapExamples(examples: Examples): ShortStep;
9
9
  export declare function mapStep(step: CucumberStep): ShortStep;
10
+ export declare function findGherkinStep(documents: GherkinDocument[], pickleStep: PickleStep): CucumberStep | undefined;
11
+ export declare function findGherkinDocument(documents: GherkinDocument[], pickle: Pickle): GherkinDocument | undefined;
12
+ export declare function findScenarioForPickle(document: GherkinDocument, pickle: Pickle): Scenario | undefined;
13
+ /** Same setup chain as mapScenario: Examples + feature/rule backgrounds. */
14
+ export declare function buildSetupForScenario(document: GherkinDocument, scenario: Scenario): ShortStep[];
15
+ /** @ExternalId from tags (pickle → scenario → feature) or hash(name). Never append suffixes. */
16
+ export declare function resolvePickleExternalId(documents: GherkinDocument[], pickle: Pickle): string;
17
+ /**
18
+ * Build autotest metadata for a pickle (same tag/fallback rules as mapScenario).
19
+ * Resolves document by pickle.uri and scenario by pickle.astNodeIds.
20
+ */
21
+ export declare function mapPickleToAutotestPost(documents: GherkinDocument[], pickle: Pickle, stepTitleFn: (step: PickleStep) => string): AutotestPost;
22
+ /** Pickle steps have text only; keyword comes from the linked Gherkin step. */
23
+ export declare function formatPickleStepTitle(documents: GherkinDocument[], pickleStep: PickleStep): string;
10
24
  export declare function mapDataTable(dataTable: DataTable | undefined): string | undefined;
package/dist/mappers.js CHANGED
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapDataTable = exports.mapStep = exports.mapExamples = exports.mapScenario = exports.mapRule = exports.mapBackground = exports.mapDocument = exports.mapDate = void 0;
3
+ exports.mapDataTable = exports.formatPickleStepTitle = exports.mapPickleToAutotestPost = exports.resolvePickleExternalId = exports.buildSetupForScenario = exports.findScenarioForPickle = exports.findGherkinDocument = exports.findGherkinStep = exports.mapStep = exports.mapExamples = exports.mapScenario = exports.mapRule = exports.mapBackground = exports.mapDocument = exports.mapDate = void 0;
4
4
  const utils_1 = require("./utils");
5
5
  const testit_js_commons_1 = require("testit-js-commons");
6
+ function normalizeUri(uri) {
7
+ return uri.replace(/\\/g, "/");
8
+ }
6
9
  function mapDate(date) {
7
10
  return new Date(date * 1000);
8
11
  }
@@ -101,6 +104,172 @@ function mapStep(step) {
101
104
  };
102
105
  }
103
106
  exports.mapStep = mapStep;
107
+ function collectGherkinSteps(document) {
108
+ const steps = [];
109
+ const feature = document.feature;
110
+ if (feature === undefined) {
111
+ return steps;
112
+ }
113
+ for (const child of feature.children) {
114
+ if (child.background !== undefined) {
115
+ steps.push(...child.background.steps);
116
+ }
117
+ if (child.scenario !== undefined) {
118
+ steps.push(...child.scenario.steps);
119
+ }
120
+ if (child.rule !== undefined) {
121
+ for (const ruleChild of child.rule.children) {
122
+ if (ruleChild.background !== undefined) {
123
+ steps.push(...ruleChild.background.steps);
124
+ }
125
+ if (ruleChild.scenario !== undefined) {
126
+ steps.push(...ruleChild.scenario.steps);
127
+ }
128
+ }
129
+ }
130
+ }
131
+ return steps;
132
+ }
133
+ function findGherkinStep(documents, pickleStep) {
134
+ for (const document of documents) {
135
+ for (const step of collectGherkinSteps(document)) {
136
+ if (pickleStep.astNodeIds.includes(step.id)) {
137
+ return step;
138
+ }
139
+ }
140
+ }
141
+ return undefined;
142
+ }
143
+ exports.findGherkinStep = findGherkinStep;
144
+ function collectScenarios(document) {
145
+ const scenarios = [];
146
+ const feature = document.feature;
147
+ if (feature === undefined) {
148
+ return scenarios;
149
+ }
150
+ for (const child of feature.children) {
151
+ if (child.scenario !== undefined) {
152
+ scenarios.push(child.scenario);
153
+ }
154
+ if (child.rule !== undefined) {
155
+ for (const ruleChild of child.rule.children) {
156
+ if (ruleChild.scenario !== undefined) {
157
+ scenarios.push(ruleChild.scenario);
158
+ }
159
+ }
160
+ }
161
+ }
162
+ return scenarios;
163
+ }
164
+ function findGherkinDocument(documents, pickle) {
165
+ const pickleUri = normalizeUri(pickle.uri);
166
+ return documents.find((document) => document.uri !== undefined && normalizeUri(document.uri) === pickleUri);
167
+ }
168
+ exports.findGherkinDocument = findGherkinDocument;
169
+ function findScenarioForPickle(document, pickle) {
170
+ for (const scenario of collectScenarios(document)) {
171
+ if (pickle.astNodeIds.includes(scenario.id)) {
172
+ return scenario;
173
+ }
174
+ }
175
+ return undefined;
176
+ }
177
+ exports.findScenarioForPickle = findScenarioForPickle;
178
+ function collectFeatureBackgrounds(document) {
179
+ if (document.feature === undefined) {
180
+ return [];
181
+ }
182
+ return document.feature.children
183
+ .map((child) => child.background)
184
+ .filter((background) => background !== undefined)
185
+ .map((background) => mapBackground(background));
186
+ }
187
+ function findRuleForScenario(document, scenario) {
188
+ var _a;
189
+ if (document.feature === undefined) {
190
+ return undefined;
191
+ }
192
+ for (const child of document.feature.children) {
193
+ if (child.rule === undefined) {
194
+ continue;
195
+ }
196
+ for (const ruleChild of child.rule.children) {
197
+ if (((_a = ruleChild.scenario) === null || _a === void 0 ? void 0 : _a.id) === scenario.id) {
198
+ return child.rule;
199
+ }
200
+ }
201
+ }
202
+ return undefined;
203
+ }
204
+ /** Same setup chain as mapScenario: Examples + feature/rule backgrounds. */
205
+ function buildSetupForScenario(document, scenario) {
206
+ let setup = collectFeatureBackgrounds(document);
207
+ const rule = findRuleForScenario(document, scenario);
208
+ if (rule !== undefined) {
209
+ setup = setup.concat(rule.children
210
+ .map((child) => child.background)
211
+ .filter((background) => background !== undefined)
212
+ .map((background) => mapBackground(background)));
213
+ }
214
+ return scenario.examples.map(mapExamples).concat(setup);
215
+ }
216
+ exports.buildSetupForScenario = buildSetupForScenario;
217
+ /** @ExternalId from tags (pickle → scenario → feature) or hash(name). Never append suffixes. */
218
+ function resolvePickleExternalId(documents, pickle) {
219
+ var _a, _b, _c, _d, _e, _f, _g;
220
+ const document = findGherkinDocument(documents, pickle);
221
+ const scenario = document !== undefined ? findScenarioForPickle(document, pickle) : undefined;
222
+ const pickleTags = (0, utils_1.parseTags)(pickle.tags);
223
+ const scenarioTags = scenario !== undefined ? (0, utils_1.parseTags)(scenario.tags) : (0, utils_1.parseTags)([]);
224
+ const docTags = (document === null || document === void 0 ? void 0 : document.feature) !== undefined ? (0, utils_1.parseTags)(document.feature.tags) : (0, utils_1.parseTags)([]);
225
+ const name = (_d = (_c = (_b = (_a = pickleTags.name) !== null && _a !== void 0 ? _a : scenarioTags.name) !== null && _b !== void 0 ? _b : docTags.name) !== null && _c !== void 0 ? _c : scenario === null || scenario === void 0 ? void 0 : scenario.name) !== null && _d !== void 0 ? _d : pickle.name;
226
+ return (_g = (_f = (_e = pickleTags.externalId) !== null && _e !== void 0 ? _e : scenarioTags.externalId) !== null && _f !== void 0 ? _f : docTags.externalId) !== null && _g !== void 0 ? _g : testit_js_commons_1.Utils.getHash(name);
227
+ }
228
+ exports.resolvePickleExternalId = resolvePickleExternalId;
229
+ /**
230
+ * Build autotest metadata for a pickle (same tag/fallback rules as mapScenario).
231
+ * Resolves document by pickle.uri and scenario by pickle.astNodeIds.
232
+ */
233
+ function mapPickleToAutotestPost(documents, pickle, stepTitleFn) {
234
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
235
+ const document = findGherkinDocument(documents, pickle);
236
+ const scenario = document !== undefined ? findScenarioForPickle(document, pickle) : undefined;
237
+ const externalId = resolvePickleExternalId(documents, pickle);
238
+ const pickleTags = (0, utils_1.parseTags)(pickle.tags);
239
+ const scenarioTags = scenario !== undefined ? (0, utils_1.parseTags)(scenario.tags) : (0, utils_1.parseTags)([]);
240
+ const docTags = (document === null || document === void 0 ? void 0 : document.feature) !== undefined ? (0, utils_1.parseTags)(document.feature.tags) : (0, utils_1.parseTags)([]);
241
+ return {
242
+ externalId,
243
+ name: (_d = (_c = (_b = (_a = pickleTags.name) !== null && _a !== void 0 ? _a : scenarioTags.name) !== null && _b !== void 0 ? _b : docTags.name) !== null && _c !== void 0 ? _c : scenario === null || scenario === void 0 ? void 0 : scenario.name) !== null && _d !== void 0 ? _d : pickle.name,
244
+ title: (_f = (_e = pickleTags.title) !== null && _e !== void 0 ? _e : scenarioTags.title) !== null && _f !== void 0 ? _f : docTags.title,
245
+ description: (_j = (_h = (_g = pickleTags.description) !== null && _g !== void 0 ? _g : scenarioTags.description) !== null && _h !== void 0 ? _h : docTags.description) !== null && _j !== void 0 ? _j : scenario === null || scenario === void 0 ? void 0 : scenario.description,
246
+ links: pickleTags.links.length > 0 ? pickleTags.links : scenarioTags.links.length > 0 ? scenarioTags.links : docTags.links,
247
+ labels: (_k = (pickleTags.labels.length > 0 ? pickleTags.labels : scenarioTags.labels.length > 0 ? scenarioTags.labels : docTags.labels)) === null || _k === void 0 ? void 0 : _k.map((label) => ({ name: label })),
248
+ tags: pickleTags.tags.length > 0 ? pickleTags.tags : scenarioTags.tags.length > 0 ? scenarioTags.tags : docTags.tags,
249
+ workItemIds: ((_m = (_l = pickleTags.workItemIds) === null || _l === void 0 ? void 0 : _l.length) !== null && _m !== void 0 ? _m : 0) > 0
250
+ ? pickleTags.workItemIds
251
+ : ((_p = (_o = scenarioTags.workItemIds) === null || _o === void 0 ? void 0 : _o.length) !== null && _p !== void 0 ? _p : 0) > 0
252
+ ? scenarioTags.workItemIds
253
+ : docTags.workItemIds,
254
+ namespace: (_r = (_q = pickleTags.nameSpace) !== null && _q !== void 0 ? _q : scenarioTags.nameSpace) !== null && _r !== void 0 ? _r : docTags.nameSpace,
255
+ classname: (_w = (_u = (_t = (_s = pickleTags.className) !== null && _s !== void 0 ? _s : scenarioTags.className) !== null && _t !== void 0 ? _t : docTags.className) !== null && _u !== void 0 ? _u : (_v = document === null || document === void 0 ? void 0 : document.feature) === null || _v === void 0 ? void 0 : _v.name) !== null && _w !== void 0 ? _w : scenario === null || scenario === void 0 ? void 0 : scenario.name,
256
+ setup: document !== undefined && scenario !== undefined
257
+ ? buildSetupForScenario(document, scenario)
258
+ : [],
259
+ steps: pickle.steps.map((step) => ({ title: stepTitleFn(step) })),
260
+ externalKey: (_x = scenario === null || scenario === void 0 ? void 0 : scenario.name) !== null && _x !== void 0 ? _x : pickle.name,
261
+ };
262
+ }
263
+ exports.mapPickleToAutotestPost = mapPickleToAutotestPost;
264
+ /** Pickle steps have text only; keyword comes from the linked Gherkin step. */
265
+ function formatPickleStepTitle(documents, pickleStep) {
266
+ const gherkinStep = findGherkinStep(documents, pickleStep);
267
+ if (gherkinStep !== undefined) {
268
+ return mapStep(gherkinStep).title;
269
+ }
270
+ return pickleStep.text;
271
+ }
272
+ exports.formatPickleStepTitle = formatPickleStepTitle;
104
273
  function mapDataTable(dataTable) {
105
274
  if (dataTable === undefined) {
106
275
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../src/mappers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../src/mappers.ts"],"names":[],"mappings":"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"}
package/dist/storage.d.ts CHANGED
@@ -12,6 +12,7 @@ export declare class Storage implements IStorage {
12
12
  private messages;
13
13
  private links;
14
14
  private attachments;
15
+ resolvePickleExternalId(pickle: Pickle): string;
15
16
  isResolvedTestCase(testCase: TestCase): boolean;
16
17
  saveGherkinDocument(document: GherkinDocument): void;
17
18
  savePickle(pickle: Pickle): void;
@@ -22,7 +23,18 @@ export declare class Storage implements IStorage {
22
23
  saveTestStepFinished(testStepFinished: TestStepFinished): void;
23
24
  getAutotests(): AutotestPost[];
24
25
  getTestRunResults(): AutotestResult[];
25
- getStepResult(pickleStep: PickleStep, testCase: TestCase): Step;
26
+ getRealtimePayload(testCaseStartedId: string): {
27
+ autotest: AutotestPost;
28
+ result: AutotestResult;
29
+ } | undefined;
30
+ listCatchUpRealtimePayloads(sentTestCaseStartedIds: ReadonlySet<string>): Array<{
31
+ testCaseStartedId: string;
32
+ autotest: AutotestPost;
33
+ result: AutotestResult;
34
+ }>;
35
+ private buildRealtimePayload;
36
+ private formatStepTitle;
37
+ getStepResult(pickleStep: PickleStep, testCase: TestCase): Step | undefined;
26
38
  getStepMessage(pickleStep: PickleStep, testCase: TestCase): string | undefined;
27
39
  addMessage(testCaseId: string, message: string): void;
28
40
  addLinks(testCaseId: string, links: Link[]): void;
package/dist/storage.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Storage = void 0;
4
- const testit_js_commons_1 = require("testit-js-commons");
5
4
  const mappers_1 = require("./mappers");
6
5
  const utils_1 = require("./utils");
7
6
  class Storage {
@@ -17,6 +16,9 @@ class Storage {
17
16
  this.links = {};
18
17
  this.attachments = {};
19
18
  }
19
+ resolvePickleExternalId(pickle) {
20
+ return (0, mappers_1.resolvePickleExternalId)(this.gherkinDocuments, pickle);
21
+ }
20
22
  isResolvedTestCase(testCase) {
21
23
  for (const pickle of this.pickles) {
22
24
  const tags = (0, utils_1.parseTags)(pickle.tags);
@@ -27,94 +29,164 @@ class Storage {
27
29
  return false;
28
30
  }
29
31
  saveGherkinDocument(document) {
32
+ if (document.uri === undefined) {
33
+ this.gherkinDocuments.push(document);
34
+ return;
35
+ }
36
+ const uri = document.uri.replace(/\\/g, "/");
37
+ const idx = this.gherkinDocuments.findIndex((d) => d.uri !== undefined && d.uri.replace(/\\/g, "/") === uri);
38
+ if (idx >= 0) {
39
+ this.gherkinDocuments[idx] = document;
40
+ return;
41
+ }
30
42
  this.gherkinDocuments.push(document);
31
43
  }
32
44
  savePickle(pickle) {
45
+ // Envelopes can be replayed/out-of-order; keep pickles unique by id.
46
+ const idx = this.pickles.findIndex((p) => p.id === pickle.id);
47
+ if (idx >= 0) {
48
+ this.pickles[idx] = pickle;
49
+ return;
50
+ }
33
51
  this.pickles.push(pickle);
34
52
  }
35
53
  saveTestCase(testCase) {
54
+ const idx = this.testCases.findIndex((t) => t.id === testCase.id);
55
+ if (idx >= 0) {
56
+ this.testCases[idx] = testCase;
57
+ return;
58
+ }
36
59
  this.testCases.push(testCase);
37
60
  }
38
61
  saveTestCaseStarted(testCaseStarted) {
62
+ const idx = this.testCasesStarted.findIndex((t) => t.id === testCaseStarted.id);
63
+ if (idx >= 0) {
64
+ this.testCasesStarted[idx] = testCaseStarted;
65
+ return;
66
+ }
39
67
  this.testCasesStarted.push(testCaseStarted);
40
68
  }
41
69
  saveTestCaseFinished(testCaseFinished) {
70
+ const idx = this.testCasesFinished.findIndex((t) => t.testCaseStartedId === testCaseFinished.testCaseStartedId);
71
+ if (idx >= 0) {
72
+ this.testCasesFinished[idx] = testCaseFinished;
73
+ return;
74
+ }
42
75
  this.testCasesFinished.push(testCaseFinished);
43
76
  }
44
77
  saveTestStepStarted(testStepStarted) {
78
+ const idx = this.testStepsStarted.findIndex((t) => t.testStepId === testStepStarted.testStepId);
79
+ if (idx >= 0) {
80
+ this.testStepsStarted[idx] = testStepStarted;
81
+ return;
82
+ }
45
83
  this.testStepsStarted.push(testStepStarted);
46
84
  }
47
85
  saveTestStepFinished(testStepFinished) {
86
+ const idx = this.testStepsFinished.findIndex((t) => t.testStepId === testStepFinished.testStepId);
87
+ if (idx >= 0) {
88
+ this.testStepsFinished[idx] = testStepFinished;
89
+ return;
90
+ }
48
91
  this.testStepsFinished.push(testStepFinished);
49
92
  }
50
93
  getAutotests() {
51
- return this.gherkinDocuments.flatMap((document) => (0, mappers_1.mapDocument)(document));
94
+ return this.pickles.map((pickle) => (0, mappers_1.mapPickleToAutotestPost)(this.gherkinDocuments, pickle, (step) => this.formatStepTitle(step)));
52
95
  }
53
96
  getTestRunResults() {
54
- var _a, _b, _c, _d;
55
- const results = [];
56
- for (const pickle of this.pickles) {
57
- const tags = (0, utils_1.parseTags)(pickle.tags);
58
- const testCase = this.testCases.find((testCase) => testCase.pickleId === pickle.id);
59
- if (testCase !== undefined) {
60
- const testCaseStarted = this.testCasesStarted.find((testCase) => testCase.id === testCase.id);
61
- if (testCaseStarted === undefined) {
62
- throw new Error("TestCaseStarted not found");
63
- }
64
- const testCaseFinished = this.testCasesFinished.find((testCase) => testCase.testCaseStartedId === testCaseStarted.id);
65
- if (testCaseFinished === undefined) {
66
- throw new Error("TestCaseFinished not found");
67
- }
68
- const steps = pickle.steps
69
- .map((step) => this.getStepResult(step, testCase))
70
- .filter((item, i, arr) => {
71
- var _a;
72
- const prevOutcome = (_a = arr[i - 1]) === null || _a === void 0 ? void 0 : _a.outcome;
73
- return !(item.outcome === "Skipped" &&
74
- prevOutcome !== undefined &&
75
- ["Failed", "Skipped"].includes(prevOutcome));
76
- });
77
- const messages = [];
78
- for (const step of pickle.steps) {
79
- const message = this.getStepMessage(step, testCase);
80
- if (message !== undefined) {
81
- messages.push(message);
82
- }
83
- }
84
- const links = (_a = this.links[testCase.id]) !== null && _a !== void 0 ? _a : [];
85
- links.push(...tags.links);
86
- const result = {
87
- autoTestExternalId: (_b = tags.externalId) !== null && _b !== void 0 ? _b : testit_js_commons_1.Utils.getHash((_c = tags.name) !== null && _c !== void 0 ? _c : pickle.name),
88
- links,
89
- stepResults: steps,
90
- outcome: (0, utils_1.calculateResultOutcome)(steps.map((step) => step.outcome).filter((outcome) => outcome !== undefined)),
91
- startedOn: (0, mappers_1.mapDate)(testCaseStarted.timestamp.seconds),
92
- completedOn: (0, mappers_1.mapDate)(testCaseFinished.timestamp.seconds),
93
- duration: testCaseFinished.timestamp.seconds - testCaseStarted.timestamp.seconds,
94
- message: (_d = this.messages[testCase.id]) === null || _d === void 0 ? void 0 : _d.join("\n"),
95
- traces: messages.join("\n"),
96
- attachments: this.attachments[testCase.id],
97
- };
98
- results.push(result);
97
+ return this.testCasesFinished
98
+ .map((finished) => { var _a; return (_a = this.buildRealtimePayload(finished.testCaseStartedId)) === null || _a === void 0 ? void 0 : _a.result; })
99
+ .filter((result) => result !== undefined);
100
+ }
101
+ getRealtimePayload(testCaseStartedId) {
102
+ return this.buildRealtimePayload(testCaseStartedId);
103
+ }
104
+ listCatchUpRealtimePayloads(sentTestCaseStartedIds) {
105
+ const payloads = [];
106
+ for (const finished of this.testCasesFinished) {
107
+ if (sentTestCaseStartedIds.has(finished.testCaseStartedId)) {
108
+ continue;
99
109
  }
110
+ const payload = this.buildRealtimePayload(finished.testCaseStartedId);
111
+ if (payload !== undefined) {
112
+ payloads.push(Object.assign({ testCaseStartedId: finished.testCaseStartedId }, payload));
113
+ }
114
+ }
115
+ return payloads;
116
+ }
117
+ buildRealtimePayload(testCaseStartedId) {
118
+ var _a, _b, _c;
119
+ const testCaseStarted = this.testCasesStarted.find((started) => started.id === testCaseStartedId);
120
+ if (testCaseStarted === undefined) {
121
+ return undefined;
122
+ }
123
+ const testCaseFinished = this.testCasesFinished.find((finished) => finished.testCaseStartedId === testCaseStartedId);
124
+ if (testCaseFinished === undefined) {
125
+ return undefined;
126
+ }
127
+ const testCase = this.testCases.find((tc) => tc.id === testCaseStarted.testCaseId);
128
+ if (testCase === undefined) {
129
+ return undefined;
130
+ }
131
+ const pickle = this.pickles.find((p) => p.id === testCase.pickleId);
132
+ if (pickle === undefined) {
133
+ return undefined;
100
134
  }
101
- return results;
135
+ const tags = (0, utils_1.parseTags)(pickle.tags);
136
+ const stepResults = pickle.steps
137
+ .map((step) => this.getStepResult(step, testCase))
138
+ .filter((step) => step !== undefined);
139
+ if (stepResults.length !== pickle.steps.length) {
140
+ return undefined;
141
+ }
142
+ const steps = stepResults.filter((item, i, arr) => {
143
+ var _a;
144
+ const prevOutcome = (_a = arr[i - 1]) === null || _a === void 0 ? void 0 : _a.outcome;
145
+ return !(item.outcome === "Skipped" &&
146
+ prevOutcome !== undefined &&
147
+ ["Failed", "Skipped"].includes(prevOutcome));
148
+ });
149
+ const messages = [];
150
+ for (const step of pickle.steps) {
151
+ const message = this.getStepMessage(step, testCase);
152
+ if (message !== undefined) {
153
+ messages.push(message);
154
+ }
155
+ }
156
+ const links = [...((_a = this.links[testCase.id]) !== null && _a !== void 0 ? _a : []), ...((_b = tags.links) !== null && _b !== void 0 ? _b : [])];
157
+ const result = {
158
+ autoTestExternalId: (0, mappers_1.resolvePickleExternalId)(this.gherkinDocuments, pickle),
159
+ links,
160
+ stepResults: steps,
161
+ outcome: (0, utils_1.calculateResultOutcome)(steps.map((step) => step.outcome).filter((outcome) => outcome !== undefined)),
162
+ startedOn: (0, mappers_1.mapDate)(testCaseStarted.timestamp.seconds),
163
+ completedOn: (0, mappers_1.mapDate)(testCaseFinished.timestamp.seconds),
164
+ duration: testCaseFinished.timestamp.seconds - testCaseStarted.timestamp.seconds,
165
+ message: (_c = this.messages[testCase.id]) === null || _c === void 0 ? void 0 : _c.join("\n"),
166
+ traces: messages.join("\n"),
167
+ attachments: this.attachments[testCase.id],
168
+ };
169
+ const autotest = (0, mappers_1.mapPickleToAutotestPost)(this.gherkinDocuments, pickle, (step) => this.formatStepTitle(step));
170
+ return { autotest, result };
171
+ }
172
+ formatStepTitle(pickleStep) {
173
+ return (0, mappers_1.formatPickleStepTitle)(this.gherkinDocuments, pickleStep);
102
174
  }
103
175
  getStepResult(pickleStep, testCase) {
104
176
  const testStep = testCase.testSteps.find((step) => step.pickleStepId === pickleStep.id);
105
177
  if (testStep === undefined) {
106
- throw new Error("TestCase step not found");
178
+ return undefined;
107
179
  }
108
180
  const testStepStarted = this.testStepsStarted.find((step) => step.testStepId === testStep.id);
109
181
  if (testStepStarted === undefined) {
110
- throw new Error("TestStepStarted not found");
182
+ return undefined;
111
183
  }
112
184
  const testStepFinished = this.testStepsFinished.find((step) => step.testStepId === testStepStarted.testStepId);
113
185
  if (testStepFinished === undefined) {
114
- throw new Error("TestStepFinished not found");
186
+ return undefined;
115
187
  }
116
188
  return {
117
- title: pickleStep.text,
189
+ title: this.formatStepTitle(pickleStep),
118
190
  startedOn: (0, mappers_1.mapDate)(testStepStarted.timestamp.seconds),
119
191
  duration: testStepFinished.testStepResult.duration.seconds,
120
192
  completedOn: (0, mappers_1.mapDate)(testStepFinished.timestamp.seconds),
@@ -124,15 +196,15 @@ class Storage {
124
196
  getStepMessage(pickleStep, testCase) {
125
197
  const testStep = testCase.testSteps.find((step) => step.pickleStepId === pickleStep.id);
126
198
  if (testStep === undefined) {
127
- throw new Error("TestCase step not found");
199
+ return undefined;
128
200
  }
129
201
  const testStepStarted = this.testStepsStarted.find((step) => step.testStepId === testStep.id);
130
202
  if (testStepStarted === undefined) {
131
- throw new Error("TestStepStarted not found");
203
+ return undefined;
132
204
  }
133
205
  const testStepFinished = this.testStepsFinished.find((step) => step.testStepId === testStepStarted.testStepId);
134
206
  if (testStepFinished === undefined) {
135
- throw new Error("TestStepFinished not found");
207
+ return undefined;
136
208
  }
137
209
  return testStepFinished.testStepResult.message;
138
210
  }
@@ -149,7 +221,7 @@ class Storage {
149
221
  this.links[testCaseId] = links;
150
222
  }
151
223
  else {
152
- this.links[testCaseId].concat(links);
224
+ this.links[testCaseId].push(...links);
153
225
  }
154
226
  }
155
227
  addAttachments(testCaseId, attachments) {
@@ -157,7 +229,7 @@ class Storage {
157
229
  this.attachments[testCaseId] = attachments;
158
230
  }
159
231
  else {
160
- this.attachments[testCaseId].concat(attachments);
232
+ this.attachments[testCaseId].push(...attachments);
161
233
  }
162
234
  }
163
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";;;AAYA,uCAA6G;AAC7G,mCAA4D;AAI5D,MAAa,OAAO;IAApB;QACU,qBAAgB,GAAsB,EAAE,CAAC;QACzC,YAAO,GAAa,EAAE,CAAC;QACvB,cAAS,GAAe,EAAE,CAAC;QAC3B,qBAAgB,GAAsB,EAAE,CAAC;QACzC,sBAAiB,GAAuB,EAAE,CAAC;QAC3C,qBAAgB,GAAsB,EAAE,CAAC;QACzC,sBAAiB,GAAuB,EAAE,CAAC;QAE3C,aAAQ,GAAiC,EAAE,CAAC;QAC5C,UAAK,GAA+B,EAAE,CAAC;QACvC,gBAAW,GAAqC,EAAE,CAAC;IA+P7D,CAAC;IA7PC,uBAAuB,CAAC,MAAc;QACpC,OAAO,IAAA,iCAAuB,EAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,kBAAkB,CAAC,QAAkB;QACnC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,EAAE;gBACpE,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB,CAAC,QAAyB;QAC3C,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO;SACR;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAChE,CAAC;QACF,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACtC,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,UAAU,CAAC,MAAc;QACvB,qEAAqE;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,YAAY,CAAC,QAAkB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,mBAAmB,CAAC,eAAgC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC,CAAC;QAChF,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;YAC7C,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IACD,oBAAoB,CAAC,gBAAkC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAChH,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,mBAAmB,CAAC,eAAgC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC,UAAU,CAAC,CAAC;QAChG,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;YAC7C,OAAO;SACR;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IACD,oBAAoB,CAAC,gBAAkC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClG,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjC,IAAA,iCAAuB,EAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,iBAAiB;aAC1B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,0CAAE,MAAM,CAAA,EAAA,CAAC;aAChF,MAAM,CAAC,CAAC,MAAM,EAA4B,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAChB,iBAAyB;QAEzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACtD,CAAC;IAED,2BAA2B,CACzB,sBAA2C;QAE3C,MAAM,QAAQ,GAAyF,EAAE,CAAC;QAC1G,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC7C,IAAI,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;gBAC1D,SAAS;aACV;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACtE,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,QAAQ,CAAC,IAAI,iBAAG,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,IAAK,OAAO,EAAG,CAAC;aAC9E;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAC1B,iBAAyB;;QAEzB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;QAClG,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAClD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,KAAK,iBAAiB,CAC/D,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,eAAe,CAAC,UAAU,CAAC,CAAC;QACnF,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACjD,MAAM,CAAC,CAAC,IAAI,EAAgB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACtD,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9C,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;;YAChD,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,0CAAE,OAAO,CAAC;YACxC,OAAO,CAAC,CACN,IAAI,CAAC,OAAO,KAAK,SAAS;gBAC1B,WAAW,KAAK,SAAS;gBACzB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC5C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB;SACF;QAED,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,mCAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAmB;YAC7B,kBAAkB,EAAE,IAAA,iCAAuB,EAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;YAC1E,KAAK;YACL,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,IAAA,8BAAsB,EAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAsB,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CACjG;YACD,SAAS,EAAE,IAAA,iBAAO,EAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC;YACrD,WAAW,EAAE,IAAA,iBAAO,EAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;YACxD,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO;YAChF,OAAO,EAAE,MAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,0CAAE,IAAI,CAAC,IAAI,CAAC;YAC/C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3C,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,iCAAuB,EAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9G,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAEO,eAAe,CAAC,UAAsB;QAC5C,OAAO,IAAA,+BAAqB,EAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,aAAa,CAAC,UAAsB,EAAE,QAAkB;QACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/G,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QAED,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YACvC,SAAS,EAAE,IAAA,iBAAO,EAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC;YACrD,QAAQ,EAAE,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO;YAC1D,WAAW,EAAE,IAAA,iBAAO,EAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;YACxD,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;SACnF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,UAAsB,EAAE,QAAkB;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/G,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,UAAkB,EAAE,OAAe;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;YAC3C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;IACH,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,KAAa;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;SACvC;IACH,CAAC;IAED,cAAc,CAAC,UAAkB,EAAE,WAAyB;QAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;YAC9C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;SACnD;IACH,CAAC;CACF;AA1QD,0BA0QC"}
@@ -9,8 +9,18 @@ export interface IStorage {
9
9
  saveTestStepStarted(testStepStarted: TestStepStarted): void;
10
10
  saveTestStepFinished(testStepFinished: TestStepFinished): void;
11
11
  isResolvedTestCase(testCase: TestCase): boolean;
12
+ resolvePickleExternalId(pickle: Pickle): string;
12
13
  getAutotests(): AutotestPost[];
13
14
  getTestRunResults(): AutotestResult[];
15
+ getRealtimePayload(testCaseStartedId: string): {
16
+ autotest: AutotestPost;
17
+ result: AutotestResult;
18
+ } | undefined;
19
+ listCatchUpRealtimePayloads(sentTestCaseStartedIds: ReadonlySet<string>): Array<{
20
+ testCaseStartedId: string;
21
+ autotest: AutotestPost;
22
+ result: AutotestResult;
23
+ }>;
14
24
  addMessage(testCaseId: string, message: string): void;
15
25
  addLinks(testCaseId: string, links: Link[]): void;
16
26
  addAttachments(testCaseId: string, attachments: Attachment[]): void;
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "testit-adapter-cucumber",
3
- "version": "4.0.5",
3
+ "version": "4.1.1-TMS-5.7",
4
4
  "description": "Cucumber adapter for Test IT",
5
5
  "main": "dist/formatter.js",
6
6
  "scripts": {
7
7
  "clean": "rimraf dist",
8
8
  "prebuild": "npm --prefix ../testit-js-commons run build && npm link ../testit-js-commons",
9
9
  "build": "tsc",
10
+ "pretest": "npm --prefix ../testit-js-commons run build",
11
+ "test": "jest",
10
12
  "start": "npm run build && cd demo && npm run test",
11
13
  "lint": "eslint . --ext=.ts"
12
14
  },
@@ -23,11 +25,12 @@
23
25
  "dependencies": {
24
26
  "@cucumber/cucumber": "^7.3.1",
25
27
  "@cucumber/messages": "^17.1.1",
26
- "testit-js-commons": "4.0.5"
28
+ "testit-js-commons": "4.1.1-TMS-5.7"
27
29
  },
28
30
  "devDependencies": {
29
31
  "@babel/preset-env": "^7.15.8",
30
32
  "@babel/preset-typescript": "^7.15.0",
33
+ "@types/jest": "^27.5.2",
31
34
  "@types/node": "^16.10.3",
32
35
  "@typescript-eslint/eslint-plugin": "^5.0.0",
33
36
  "@typescript-eslint/parser": "^5.0.0",
@@ -36,7 +39,9 @@
36
39
  "eslint-config-prettier": "^8.3.0",
37
40
  "eslint-plugin-import": "^2.25.1",
38
41
  "eslint-plugin-prettier": "^4.0.0",
42
+ "jest": "^29.7.0",
39
43
  "prettier": "^2.4.1",
44
+ "ts-jest": "^29.2.5",
40
45
  "rimraf": "^3.0.2",
41
46
  "ts-node": "^10.3.0",
42
47
  "typescript": "^4.4.3"