@dev-blinq/cucumber-js 1.0.11 → 1.0.12

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 (238) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/lib/api/console_logger.d.ts +12 -12
  4. package/lib/api/console_logger.js +23 -23
  5. package/lib/api/convert_configuration.d.ts +4 -4
  6. package/lib/api/convert_configuration.js +64 -64
  7. package/lib/api/environment.d.ts +2 -2
  8. package/lib/api/environment.js +13 -13
  9. package/lib/api/formatters.d.ts +20 -20
  10. package/lib/api/formatters.js +60 -60
  11. package/lib/api/gherkin.d.ts +21 -21
  12. package/lib/api/gherkin.js +99 -99
  13. package/lib/api/index.d.ts +12 -12
  14. package/lib/api/index.js +27 -27
  15. package/lib/api/load_configuration.d.ts +9 -9
  16. package/lib/api/load_configuration.js +40 -40
  17. package/lib/api/load_sources.d.ts +9 -9
  18. package/lib/api/load_sources.js +52 -52
  19. package/lib/api/load_support.d.ts +10 -10
  20. package/lib/api/load_support.js +29 -29
  21. package/lib/api/paths.d.ts +8 -8
  22. package/lib/api/paths.js +101 -101
  23. package/lib/api/plugins.d.ts +4 -4
  24. package/lib/api/plugins.js +18 -18
  25. package/lib/api/run_cucumber.d.ts +11 -11
  26. package/lib/api/run_cucumber.js +114 -114
  27. package/lib/api/runtime.d.ts +21 -21
  28. package/lib/api/runtime.js +35 -35
  29. package/lib/api/support.d.ts +9 -9
  30. package/lib/api/support.js +25 -25
  31. package/lib/api/test_helpers.d.ts +3 -3
  32. package/lib/api/test_helpers.js +30 -30
  33. package/lib/api/types.d.ts +175 -175
  34. package/lib/api/types.js +2 -2
  35. package/lib/cli/helpers.d.ts +37 -37
  36. package/lib/cli/helpers.js +202 -202
  37. package/lib/cli/i18n.d.ts +2 -2
  38. package/lib/cli/i18n.js +69 -69
  39. package/lib/cli/index.d.ts +21 -21
  40. package/lib/cli/index.js +58 -58
  41. package/lib/cli/install_validator.d.ts +1 -1
  42. package/lib/cli/install_validator.js +13 -13
  43. package/lib/cli/run.d.ts +1 -1
  44. package/lib/cli/run.js +43 -43
  45. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  46. package/lib/cli/validate_node_engine_version.js +23 -23
  47. package/lib/configuration/argv_parser.d.ts +20 -20
  48. package/lib/configuration/argv_parser.js +100 -100
  49. package/lib/configuration/check_schema.d.ts +2 -2
  50. package/lib/configuration/check_schema.js +59 -59
  51. package/lib/configuration/default_configuration.d.ts +2 -2
  52. package/lib/configuration/default_configuration.js +26 -26
  53. package/lib/configuration/from_file.d.ts +3 -3
  54. package/lib/configuration/from_file.js +84 -84
  55. package/lib/configuration/helpers.d.ts +1 -1
  56. package/lib/configuration/helpers.js +10 -10
  57. package/lib/configuration/index.d.ts +7 -7
  58. package/lib/configuration/index.js +28 -28
  59. package/lib/configuration/locate_file.d.ts +1 -1
  60. package/lib/configuration/locate_file.js +20 -20
  61. package/lib/configuration/merge_configurations.d.ts +2 -2
  62. package/lib/configuration/merge_configurations.js +47 -47
  63. package/lib/configuration/option_splitter.d.ts +3 -3
  64. package/lib/configuration/option_splitter.js +22 -22
  65. package/lib/configuration/types.d.ts +28 -28
  66. package/lib/configuration/types.js +2 -2
  67. package/lib/configuration/validate_configuration.d.ts +3 -3
  68. package/lib/configuration/validate_configuration.js +12 -12
  69. package/lib/filter_stack_trace.d.ts +3 -3
  70. package/lib/filter_stack_trace.js +37 -37
  71. package/lib/formatter/builder.d.ts +37 -37
  72. package/lib/formatter/builder.js +100 -100
  73. package/lib/formatter/bvt_formatter.d.ts +9 -9
  74. package/lib/formatter/bvt_formatter.js +61 -62
  75. package/lib/formatter/bvt_formatter.js.map +1 -1
  76. package/lib/formatter/feature_data_format.d.ts +14 -14
  77. package/lib/formatter/feature_data_format.js +80 -80
  78. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  79. package/lib/formatter/fixtures/typescript.js +5 -5
  80. package/lib/formatter/get_color_fns.d.ts +15 -15
  81. package/lib/formatter/get_color_fns.js +55 -55
  82. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  83. package/lib/formatter/helpers/duration_helpers.js +8 -8
  84. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  85. package/lib/formatter/helpers/event_data_collector.js +125 -125
  86. package/lib/formatter/helpers/formatters.d.ts +6 -6
  87. package/lib/formatter/helpers/formatters.js +44 -44
  88. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  89. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  90. package/lib/formatter/helpers/index.d.ts +10 -10
  91. package/lib/formatter/helpers/index.js +51 -51
  92. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  93. package/lib/formatter/helpers/issue_helpers.js +58 -58
  94. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  95. package/lib/formatter/helpers/keyword_type.js +31 -31
  96. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  97. package/lib/formatter/helpers/location_helpers.js +16 -16
  98. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  99. package/lib/formatter/helpers/pickle_parser.js +27 -27
  100. package/lib/formatter/helpers/report_generator.d.ts +91 -91
  101. package/lib/formatter/helpers/report_generator.js +247 -247
  102. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  103. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  104. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  105. package/lib/formatter/helpers/summary_helpers.js +95 -95
  106. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  107. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  108. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  109. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  110. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  111. package/lib/formatter/helpers/upload_serivce.js +46 -46
  112. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  113. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  114. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  115. package/lib/formatter/html_formatter.d.ts +7 -7
  116. package/lib/formatter/html_formatter.js +29 -29
  117. package/lib/formatter/index.d.ts +53 -53
  118. package/lib/formatter/index.js +20 -20
  119. package/lib/formatter/json_formatter.d.ts +78 -78
  120. package/lib/formatter/json_formatter.js +229 -229
  121. package/lib/formatter/junit_formatter.d.ts +17 -17
  122. package/lib/formatter/junit_formatter.js +180 -180
  123. package/lib/formatter/message_formatter.d.ts +5 -5
  124. package/lib/formatter/message_formatter.js +14 -14
  125. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  126. package/lib/formatter/progress_bar_formatter.js +98 -98
  127. package/lib/formatter/progress_formatter.d.ts +9 -9
  128. package/lib/formatter/progress_formatter.js +58 -58
  129. package/lib/formatter/rerun_formatter.d.ts +13 -13
  130. package/lib/formatter/rerun_formatter.js +79 -79
  131. package/lib/formatter/snippets_formatter.d.ts +6 -6
  132. package/lib/formatter/snippets_formatter.js +60 -60
  133. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  134. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  135. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  136. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  137. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  138. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  139. package/lib/formatter/summary_formatter.d.ts +14 -14
  140. package/lib/formatter/summary_formatter.js +67 -67
  141. package/lib/formatter/usage_formatter.d.ts +6 -6
  142. package/lib/formatter/usage_formatter.js +97 -97
  143. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  144. package/lib/formatter/usage_json_formatter.js +33 -33
  145. package/lib/index.d.ts +58 -58
  146. package/lib/index.js +108 -108
  147. package/lib/logger.d.ts +5 -5
  148. package/lib/logger.js +2 -2
  149. package/lib/models/data_table.d.ts +10 -10
  150. package/lib/models/data_table.js +45 -45
  151. package/lib/models/definition.d.ts +55 -55
  152. package/lib/models/definition.js +21 -21
  153. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  154. package/lib/models/gherkin_step_keyword.js +2 -2
  155. package/lib/models/pickle_order.d.ts +1 -1
  156. package/lib/models/pickle_order.js +2 -2
  157. package/lib/models/step_definition.d.ts +11 -11
  158. package/lib/models/step_definition.js +36 -36
  159. package/lib/models/test_case_hook_definition.d.ts +10 -10
  160. package/lib/models/test_case_hook_definition.js +26 -26
  161. package/lib/models/test_run_hook_definition.d.ts +3 -3
  162. package/lib/models/test_run_hook_definition.js +9 -9
  163. package/lib/models/test_step_hook_definition.d.ts +9 -9
  164. package/lib/models/test_step_hook_definition.js +25 -25
  165. package/lib/pickle_filter.d.ts +42 -42
  166. package/lib/pickle_filter.js +98 -98
  167. package/lib/plugin/index.d.ts +2 -2
  168. package/lib/plugin/index.js +18 -18
  169. package/lib/plugin/plugin_manager.d.ts +13 -13
  170. package/lib/plugin/plugin_manager.js +35 -35
  171. package/lib/plugin/types.d.ts +14 -14
  172. package/lib/plugin/types.js +2 -2
  173. package/lib/publish/http_stream.d.ts +30 -30
  174. package/lib/publish/http_stream.js +111 -111
  175. package/lib/publish/index.d.ts +2 -2
  176. package/lib/publish/index.js +4 -4
  177. package/lib/publish/publish_plugin.d.ts +2 -2
  178. package/lib/publish/publish_plugin.js +47 -47
  179. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  180. package/lib/runtime/assemble_test_cases.js +87 -87
  181. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  182. package/lib/runtime/attachment_manager/index.js +118 -118
  183. package/lib/runtime/format_error.d.ts +2 -2
  184. package/lib/runtime/format_error.js +35 -35
  185. package/lib/runtime/helpers.d.ts +6 -6
  186. package/lib/runtime/helpers.js +100 -100
  187. package/lib/runtime/index.d.ts +40 -40
  188. package/lib/runtime/index.js +75 -75
  189. package/lib/runtime/parallel/command_types.d.ts +32 -32
  190. package/lib/runtime/parallel/command_types.js +2 -2
  191. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  192. package/lib/runtime/parallel/coordinator.js +221 -221
  193. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  194. package/lib/runtime/parallel/run_worker.js +28 -28
  195. package/lib/runtime/parallel/worker.d.ts +26 -26
  196. package/lib/runtime/parallel/worker.js +86 -86
  197. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  198. package/lib/runtime/run_test_run_hooks.js +27 -27
  199. package/lib/runtime/step_runner.d.ts +16 -16
  200. package/lib/runtime/step_runner.js +87 -87
  201. package/lib/runtime/stopwatch.d.ts +12 -12
  202. package/lib/runtime/stopwatch.js +33 -33
  203. package/lib/runtime/test_case_runner.d.ts +54 -54
  204. package/lib/runtime/test_case_runner.js +267 -267
  205. package/lib/step_arguments.d.ts +6 -6
  206. package/lib/step_arguments.js +18 -18
  207. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  208. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  209. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  210. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  211. package/lib/support_code_library_builder/index.d.ts +74 -74
  212. package/lib/support_code_library_builder/index.js +296 -296
  213. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  214. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  215. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  216. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  217. package/lib/support_code_library_builder/types.d.ts +88 -88
  218. package/lib/support_code_library_builder/types.js +2 -2
  219. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  220. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  221. package/lib/support_code_library_builder/world.d.ts +18 -18
  222. package/lib/support_code_library_builder/world.js +10 -10
  223. package/lib/time.d.ts +18 -18
  224. package/lib/time.js +60 -60
  225. package/lib/try_require.d.ts +7 -7
  226. package/lib/try_require.js +22 -22
  227. package/lib/types/index.d.ts +4 -4
  228. package/lib/types/index.js +2 -2
  229. package/lib/uncaught_exception_manager.d.ts +7 -7
  230. package/lib/uncaught_exception_manager.js +11 -11
  231. package/lib/user_code_runner.d.ts +14 -14
  232. package/lib/user_code_runner.js +81 -81
  233. package/lib/value_checker.d.ts +3 -3
  234. package/lib/value_checker.js +18 -18
  235. package/lib/version.d.ts +1 -1
  236. package/lib/version.js +5 -5
  237. package/lib/version.js.map +1 -1
  238. package/package.json +3 -1
@@ -1,63 +1,62 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const _1 = __importDefault(require("."));
7
- const report_generator_1 = __importDefault(require("./helpers/report_generator"));
8
- const path_1 = __importDefault(require("path"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const jszip_1 = __importDefault(require("jszip"));
11
- const form_data_1 = __importDefault(require("form-data"));
12
- const upload_serivce_1 = require("./helpers/upload_serivce");
13
- const REPORT_SERVICE_URL = process.env.REPORT_SERVICE_URL;
14
- const REPORT_SERVICE_TOKEN = process.env.REPORT_SERVICE_TOKEN;
15
- if (!REPORT_SERVICE_URL || !REPORT_SERVICE_TOKEN) {
16
- throw new Error("REPORT_SERVICE_URL and REPORT_SERVICE_TOKEN must be set");
17
- }
18
- class BVTFormatter extends _1.default {
19
- constructor(options) {
20
- super(options);
21
- this.reportGenerator = new report_generator_1.default();
22
- this.uploadService = new upload_serivce_1.RunUploadService(REPORT_SERVICE_URL, REPORT_SERVICE_TOKEN);
23
- options.eventBroadcaster.on('envelope', async (envelope) => {
24
- this.reportGenerator.handleMessage(envelope);
25
- if (envelope.testRunFinished) {
26
- const report = this.reportGenerator.getReport();
27
- // this.log(JSON.stringify(report, null, 2))
28
- await this.uploadRun(report);
29
- }
30
- });
31
- }
32
- async uploadRun(report) {
33
- const runDoc = await this.uploadService.createRunDocument("test");
34
- const runDocId = runDoc._id;
35
- const formData = new form_data_1.default();
36
- const reportFolder = this.reportGenerator.reportFolder;
37
- if (!fs_1.default.existsSync(reportFolder)) {
38
- fs_1.default.mkdirSync(reportFolder);
39
- }
40
- const zipPath = await this.createZip(reportFolder, report);
41
- console.log(zipPath);
42
- formData.append(runDocId, fs_1.default.readFileSync(zipPath), "report.zip");
43
- await this.uploadService.upload(formData);
44
- process.exit(0);
45
- }
46
- async createZip(reportFolder, report) {
47
- const zip = new jszip_1.default();
48
- zip.file("report.json", JSON.stringify(report, null, 2));
49
- const folder = zip.folder("screenshots");
50
- const files = fs_1.default.readdirSync(path_1.default.join(reportFolder, 'screenshots'));
51
- files.forEach((file) => {
52
- folder.file(file, fs_1.default.readFileSync(path_1.default.join(reportFolder, file)));
53
- });
54
- const zipBuffer = await zip.generateAsync({ type: "nodebuffer" });
55
- // save zip file
56
- const zipPath = path_1.default.join(reportFolder, 'report.zip');
57
- fs_1.default.writeFileSync(zipPath, zipBuffer);
58
- fs_1.default.writeFileSync(path_1.default.join(reportFolder, 'report.json'), JSON.stringify(report, null, 2));
59
- return zipPath;
60
- }
61
- }
62
- exports.default = BVTFormatter;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const _1 = __importDefault(require("."));
7
+ const report_generator_1 = __importDefault(require("./helpers/report_generator"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const jszip_1 = __importDefault(require("jszip"));
11
+ const form_data_1 = __importDefault(require("form-data"));
12
+ const upload_serivce_1 = require("./helpers/upload_serivce");
13
+ const REPORT_SERVICE_URL = process.env.REPORT_SERVICE_URL;
14
+ const REPORT_SERVICE_TOKEN = process.env.REPORT_SERVICE_TOKEN;
15
+ class BVTFormatter extends _1.default {
16
+ constructor(options) {
17
+ super(options);
18
+ this.reportGenerator = new report_generator_1.default();
19
+ this.uploadService = new upload_serivce_1.RunUploadService(REPORT_SERVICE_URL, REPORT_SERVICE_TOKEN);
20
+ if (!REPORT_SERVICE_URL || !REPORT_SERVICE_TOKEN) {
21
+ throw new Error('REPORT_SERVICE_URL and REPORT_SERVICE_TOKEN must be set');
22
+ }
23
+ options.eventBroadcaster.on('envelope', async (envelope) => {
24
+ this.reportGenerator.handleMessage(envelope);
25
+ if (envelope.testRunFinished) {
26
+ const report = this.reportGenerator.getReport();
27
+ // this.log(JSON.stringify(report, null, 2))
28
+ await this.uploadRun(report);
29
+ }
30
+ });
31
+ }
32
+ async uploadRun(report) {
33
+ const runDoc = await this.uploadService.createRunDocument('test');
34
+ const runDocId = runDoc._id;
35
+ const formData = new form_data_1.default();
36
+ const reportFolder = this.reportGenerator.reportFolder;
37
+ if (!fs_1.default.existsSync(reportFolder)) {
38
+ fs_1.default.mkdirSync(reportFolder);
39
+ }
40
+ const zipPath = await this.createZip(reportFolder, report);
41
+ formData.append(runDocId, fs_1.default.readFileSync(zipPath), 'report.zip');
42
+ await this.uploadService.upload(formData);
43
+ process.exit(0);
44
+ }
45
+ async createZip(reportFolder, report) {
46
+ const zip = new jszip_1.default();
47
+ zip.file('report.json', JSON.stringify(report, null, 2));
48
+ const folder = zip.folder('screenshots');
49
+ const files = fs_1.default.readdirSync(path_1.default.join(reportFolder, 'screenshots'));
50
+ files.forEach((file) => {
51
+ folder.file(file, fs_1.default.readFileSync(path_1.default.join(reportFolder, file)));
52
+ });
53
+ const zipBuffer = await zip.generateAsync({ type: 'nodebuffer' });
54
+ // save zip file
55
+ const zipPath = path_1.default.join(reportFolder, 'report.zip');
56
+ fs_1.default.writeFileSync(zipPath, zipBuffer);
57
+ fs_1.default.writeFileSync(path_1.default.join(reportFolder, 'report.json'), JSON.stringify(report, null, 2));
58
+ return zipPath;
59
+ }
60
+ }
61
+ exports.default = BVTFormatter;
63
62
  //# sourceMappingURL=bvt_formatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bvt_formatter.js","sourceRoot":"","sources":["../../src/formatter/bvt_formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import * as messages from '@cucumber/messages'\nimport Formatter, { IFormatterOptions } from '.'\nimport ReportGenerator, { JsonReport } from './helpers/report_generator'\nimport path from 'path'\nimport fs from 'fs'\nimport JSZip from 'jszip'\nimport FormData from \"form-data\";\nimport { RunUploadService } from './helpers/upload_serivce'\n\nconst REPORT_SERVICE_URL = process.env.REPORT_SERVICE_URL ;\nconst REPORT_SERVICE_TOKEN = process.env.REPORT_SERVICE_TOKEN;\nif(!REPORT_SERVICE_URL || !REPORT_SERVICE_TOKEN){\n throw new Error(\"REPORT_SERVICE_URL and REPORT_SERVICE_TOKEN must be set\")\n}\n\nexport default class BVTFormatter extends Formatter {\n private reportGenerator = new ReportGenerator()\n private uploadService = new RunUploadService(REPORT_SERVICE_URL, REPORT_SERVICE_TOKEN);\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', async (envelope: messages.Envelope) => {\n this.reportGenerator.handleMessage(envelope)\n if(envelope.testRunFinished){\n const report = this.reportGenerator.getReport();\n // this.log(JSON.stringify(report, null, 2))\n await this.uploadRun(report);\n }\n })\n }\n async uploadRun(report:JsonReport){\n const runDoc = await this.uploadService.createRunDocument(\"test\");\n const runDocId = runDoc._id;\n const formData = new FormData();\n const reportFolder = this.reportGenerator.reportFolder;\n if(!fs.existsSync(reportFolder)){\n fs.mkdirSync(reportFolder);\n }\n const zipPath = await this.createZip(reportFolder, report);\n console.log(zipPath);\n formData.append(runDocId, fs.readFileSync(zipPath), \"report.zip\");\n await this.uploadService.upload(formData);\n process.exit(0);\n }\n async createZip(reportFolder:string|null, report:JsonReport){\n const zip = new JSZip();\n zip.file(\"report.json\", JSON.stringify(report, null, 2));\n const folder = zip.folder(\"screenshots\");\n const files = fs.readdirSync(path.join(reportFolder, 'screenshots'));\n files.forEach((file) => {\n folder.file(file, fs.readFileSync(path.join(reportFolder, file)));\n });\n const zipBuffer = await zip.generateAsync({ type: \"nodebuffer\" });\n // save zip file\n const zipPath = path.join(reportFolder,'report.zip');\n fs.writeFileSync(zipPath, zipBuffer);\n fs.writeFileSync(path.join(reportFolder,'report.json'), JSON.stringify(report, null, 2));\n return zipPath\n }\n}"]}
1
+ {"version":3,"file":"bvt_formatter.js","sourceRoot":"","sources":["../../src/formatter/bvt_formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import * as messages from '@cucumber/messages'\nimport Formatter, { IFormatterOptions } from '.'\nimport ReportGenerator, { JsonReport } from './helpers/report_generator'\nimport path from 'path'\nimport fs from 'fs'\nimport JSZip from 'jszip'\nimport FormData from 'form-data'\nimport { RunUploadService } from './helpers/upload_serivce'\n\nconst REPORT_SERVICE_URL = process.env.REPORT_SERVICE_URL\nconst REPORT_SERVICE_TOKEN = process.env.REPORT_SERVICE_TOKEN\n\nexport default class BVTFormatter extends Formatter {\n private reportGenerator = new ReportGenerator()\n private uploadService = new RunUploadService(\n REPORT_SERVICE_URL,\n REPORT_SERVICE_TOKEN\n )\n constructor(options: IFormatterOptions) {\n super(options)\n if (!REPORT_SERVICE_URL || !REPORT_SERVICE_TOKEN) {\n throw new Error('REPORT_SERVICE_URL and REPORT_SERVICE_TOKEN must be set')\n }\n options.eventBroadcaster.on(\n 'envelope',\n async (envelope: messages.Envelope) => {\n this.reportGenerator.handleMessage(envelope)\n if (envelope.testRunFinished) {\n const report = this.reportGenerator.getReport()\n // this.log(JSON.stringify(report, null, 2))\n await this.uploadRun(report)\n }\n }\n )\n }\n async uploadRun(report: JsonReport) {\n const runDoc = await this.uploadService.createRunDocument('test')\n const runDocId = runDoc._id\n const formData = new FormData()\n const reportFolder = this.reportGenerator.reportFolder\n if (!fs.existsSync(reportFolder)) {\n fs.mkdirSync(reportFolder)\n }\n const zipPath = await this.createZip(reportFolder, report)\n formData.append(runDocId, fs.readFileSync(zipPath), 'report.zip')\n await this.uploadService.upload(formData)\n process.exit(0)\n }\n async createZip(reportFolder: string | null, report: JsonReport) {\n const zip = new JSZip()\n zip.file('report.json', JSON.stringify(report, null, 2))\n const folder = zip.folder('screenshots')\n const files = fs.readdirSync(path.join(reportFolder, 'screenshots'))\n files.forEach((file) => {\n folder.file(file, fs.readFileSync(path.join(reportFolder, file)))\n })\n const zipBuffer = await zip.generateAsync({ type: 'nodebuffer' })\n // save zip file\n const zipPath = path.join(reportFolder, 'report.zip')\n fs.writeFileSync(zipPath, zipBuffer)\n fs.writeFileSync(\n path.join(reportFolder, 'report.json'),\n JSON.stringify(report, null, 2)\n )\n return zipPath\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
- declare const generateTestData: (featureFileContent: string, vars?: any, fakeData?: {
2
- var: string;
3
- fake: string;
4
- }[]) => {
5
- newContent: string;
6
- variables: any;
7
- otherFakeData: {
8
- var: string;
9
- fake: string;
10
- }[];
11
- changed: boolean;
12
- fakeIndex: number;
13
- };
14
- export { generateTestData };
1
+ declare const generateTestData: (featureFileContent: string, vars?: any, fakeData?: {
2
+ var: string;
3
+ fake: string;
4
+ }[]) => {
5
+ newContent: string;
6
+ variables: any;
7
+ otherFakeData: {
8
+ var: string;
9
+ fake: string;
10
+ }[];
11
+ changed: boolean;
12
+ fakeIndex: number;
13
+ };
14
+ export { generateTestData };
@@ -1,81 +1,81 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateTestData = void 0;
4
- const faker_1 = require("@faker-js/faker");
5
- const generateTestData = (featureFileContent, vars, fakeData) => {
6
- const regexp = /\{\{([^}]+)\}\}/g;
7
- const variableRegex = /^([a-zA-Z0-9_]*)=(.*)/g;
8
- let newContent = featureFileContent;
9
- let match;
10
- const matches = [];
11
- // collect all matches
12
- while ((match = regexp.exec(featureFileContent)) !== null) {
13
- matches.push(match);
14
- }
15
- // find all variables in the matches
16
- const variables = { ...vars };
17
- if (Object.keys(variables).length > 0) {
18
- for (let i = 0; i < matches.length; i++) {
19
- const _match = matches[i];
20
- const value = _match[1];
21
- const variableMatch = variableRegex.exec(value);
22
- if (variableMatch !== null) {
23
- newContent = newContent.replaceAll(_match[0], `{{${variableMatch[1]}}}`);
24
- }
25
- }
26
- for (const key in variables) {
27
- const variable = variables[key];
28
- newContent = newContent.replaceAll(`{{${variable.var}}}`, variable.fake);
29
- }
30
- }
31
- else {
32
- for (let i = 0; i < matches.length; i++) {
33
- const _match = matches[i];
34
- const value = _match[1];
35
- const variableMatch = variableRegex.exec(value);
36
- if (variableMatch !== null) {
37
- variables[variableMatch[1]] = {
38
- var: variableMatch[1],
39
- toFake: variableMatch[2],
40
- };
41
- newContent = newContent.replaceAll(_match[0], `{{${variableMatch[1]}}}`);
42
- }
43
- }
44
- for (const key in variables) {
45
- const variable = variables[key];
46
- const fake = faker_1.faker.helpers.fake(`{{${variable.toFake}}}`);
47
- newContent = newContent.replaceAll(`{{${variable.var}}}`, fake);
48
- variables[key].fake = fake;
49
- }
50
- }
51
- regexp.lastIndex = 0;
52
- const otherFakeData = [];
53
- const duplicateFakeData = fakeData ? [...fakeData] : [];
54
- let fakeIndex = 0;
55
- while ((match = regexp.exec(featureFileContent)) !== null) {
56
- try {
57
- const fake = duplicateFakeData && duplicateFakeData.length > 0
58
- ? duplicateFakeData.shift().fake
59
- : faker_1.faker.helpers.fake(match[0]);
60
- otherFakeData.push({
61
- var: match[0],
62
- fake,
63
- });
64
- newContent = newContent.replace(match[0], fake);
65
- fakeIndex++;
66
- }
67
- catch (err) {
68
- // eslint-disable-next-line no-console
69
- console.log('unknown faker variable:' + match[0]);
70
- }
71
- }
72
- return {
73
- newContent,
74
- variables,
75
- otherFakeData,
76
- changed: newContent !== featureFileContent,
77
- fakeIndex,
78
- };
79
- };
80
- exports.generateTestData = generateTestData;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateTestData = void 0;
4
+ const faker_1 = require("@faker-js/faker");
5
+ const generateTestData = (featureFileContent, vars, fakeData) => {
6
+ const regexp = /\{\{([^}]+)\}\}/g;
7
+ const variableRegex = /^([a-zA-Z0-9_]*)=(.*)/g;
8
+ let newContent = featureFileContent;
9
+ let match;
10
+ const matches = [];
11
+ // collect all matches
12
+ while ((match = regexp.exec(featureFileContent)) !== null) {
13
+ matches.push(match);
14
+ }
15
+ // find all variables in the matches
16
+ const variables = { ...vars };
17
+ if (Object.keys(variables).length > 0) {
18
+ for (let i = 0; i < matches.length; i++) {
19
+ const _match = matches[i];
20
+ const value = _match[1];
21
+ const variableMatch = variableRegex.exec(value);
22
+ if (variableMatch !== null) {
23
+ newContent = newContent.replaceAll(_match[0], `{{${variableMatch[1]}}}`);
24
+ }
25
+ }
26
+ for (const key in variables) {
27
+ const variable = variables[key];
28
+ newContent = newContent.replaceAll(`{{${variable.var}}}`, variable.fake);
29
+ }
30
+ }
31
+ else {
32
+ for (let i = 0; i < matches.length; i++) {
33
+ const _match = matches[i];
34
+ const value = _match[1];
35
+ const variableMatch = variableRegex.exec(value);
36
+ if (variableMatch !== null) {
37
+ variables[variableMatch[1]] = {
38
+ var: variableMatch[1],
39
+ toFake: variableMatch[2],
40
+ };
41
+ newContent = newContent.replaceAll(_match[0], `{{${variableMatch[1]}}}`);
42
+ }
43
+ }
44
+ for (const key in variables) {
45
+ const variable = variables[key];
46
+ const fake = faker_1.faker.helpers.fake(`{{${variable.toFake}}}`);
47
+ newContent = newContent.replaceAll(`{{${variable.var}}}`, fake);
48
+ variables[key].fake = fake;
49
+ }
50
+ }
51
+ regexp.lastIndex = 0;
52
+ const otherFakeData = [];
53
+ const duplicateFakeData = fakeData ? [...fakeData] : [];
54
+ let fakeIndex = 0;
55
+ while ((match = regexp.exec(featureFileContent)) !== null) {
56
+ try {
57
+ const fake = duplicateFakeData && duplicateFakeData.length > 0
58
+ ? duplicateFakeData.shift().fake
59
+ : faker_1.faker.helpers.fake(match[0]);
60
+ otherFakeData.push({
61
+ var: match[0],
62
+ fake,
63
+ });
64
+ newContent = newContent.replace(match[0], fake);
65
+ fakeIndex++;
66
+ }
67
+ catch (err) {
68
+ // eslint-disable-next-line no-console
69
+ console.log('unknown faker variable:' + match[0]);
70
+ }
71
+ }
72
+ return {
73
+ newContent,
74
+ variables,
75
+ otherFakeData,
76
+ changed: newContent !== featureFileContent,
77
+ fakeIndex,
78
+ };
79
+ };
80
+ exports.generateTestData = generateTestData;
81
81
  //# sourceMappingURL=feature_data_format.js.map
@@ -1,2 +1,2 @@
1
- export default class Formatter {
2
- }
1
+ export default class Formatter {
2
+ }
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Formatter {
4
- }
5
- exports.default = Formatter;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Formatter {
4
+ }
5
+ exports.default = Formatter;
6
6
  //# sourceMappingURL=typescript.js.map
@@ -1,15 +1,15 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { TestStepResultStatus } from '@cucumber/messages';
4
- import { Writable } from 'stream';
5
- export type IColorFn = (text: string) => string;
6
- export interface IColorFns {
7
- forStatus: (status: TestStepResultStatus) => IColorFn;
8
- location: IColorFn;
9
- tag: IColorFn;
10
- diffAdded: IColorFn;
11
- diffRemoved: IColorFn;
12
- errorMessage: IColorFn;
13
- errorStack: IColorFn;
14
- }
15
- export default function getColorFns(stream: Writable, env: NodeJS.ProcessEnv, enabled?: boolean): IColorFns;
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { TestStepResultStatus } from '@cucumber/messages';
4
+ import { Writable } from 'stream';
5
+ export type IColorFn = (text: string) => string;
6
+ export interface IColorFns {
7
+ forStatus: (status: TestStepResultStatus) => IColorFn;
8
+ location: IColorFn;
9
+ tag: IColorFn;
10
+ diffAdded: IColorFn;
11
+ diffRemoved: IColorFn;
12
+ errorMessage: IColorFn;
13
+ errorStack: IColorFn;
14
+ }
15
+ export default function getColorFns(stream: Writable, env: NodeJS.ProcessEnv, enabled?: boolean): IColorFns;
@@ -1,56 +1,56 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chalk_1 = __importDefault(require("chalk"));
7
- const supports_color_1 = require("supports-color");
8
- const value_checker_1 = require("../value_checker");
9
- function getColorFns(stream, env, enabled) {
10
- const support = detectSupport(stream, env, enabled);
11
- if (support) {
12
- const chalkInstance = new chalk_1.default.Instance(support);
13
- return {
14
- forStatus(status) {
15
- return {
16
- AMBIGUOUS: chalkInstance.red.bind(chalk_1.default),
17
- FAILED: chalkInstance.red.bind(chalk_1.default),
18
- PASSED: chalkInstance.green.bind(chalk_1.default),
19
- PENDING: chalkInstance.yellow.bind(chalk_1.default),
20
- SKIPPED: chalkInstance.cyan.bind(chalk_1.default),
21
- UNDEFINED: chalkInstance.yellow.bind(chalk_1.default),
22
- UNKNOWN: chalkInstance.yellow.bind(chalk_1.default),
23
- }[status];
24
- },
25
- location: chalkInstance.gray.bind(chalk_1.default),
26
- tag: chalkInstance.cyan.bind(chalk_1.default),
27
- diffAdded: chalkInstance.green.bind(chalk_1.default),
28
- diffRemoved: chalkInstance.red.bind(chalk_1.default),
29
- errorMessage: chalkInstance.red.bind(chalk_1.default),
30
- errorStack: chalkInstance.grey.bind(chalk_1.default),
31
- };
32
- }
33
- else {
34
- return {
35
- forStatus(_status) {
36
- return (x) => x;
37
- },
38
- location: (x) => x,
39
- tag: (x) => x,
40
- diffAdded: (x) => x,
41
- diffRemoved: (x) => x,
42
- errorMessage: (x) => x,
43
- errorStack: (x) => x,
44
- };
45
- }
46
- }
47
- exports.default = getColorFns;
48
- function detectSupport(stream, env, enabled) {
49
- const support = (0, supports_color_1.supportsColor)(stream);
50
- // if we find FORCE_COLOR, we can let the supports-color library handle that
51
- if ('FORCE_COLOR' in env || (0, value_checker_1.doesNotHaveValue)(enabled)) {
52
- return support;
53
- }
54
- return enabled ? support || { level: 1 } : false;
55
- }
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const supports_color_1 = require("supports-color");
8
+ const value_checker_1 = require("../value_checker");
9
+ function getColorFns(stream, env, enabled) {
10
+ const support = detectSupport(stream, env, enabled);
11
+ if (support) {
12
+ const chalkInstance = new chalk_1.default.Instance(support);
13
+ return {
14
+ forStatus(status) {
15
+ return {
16
+ AMBIGUOUS: chalkInstance.red.bind(chalk_1.default),
17
+ FAILED: chalkInstance.red.bind(chalk_1.default),
18
+ PASSED: chalkInstance.green.bind(chalk_1.default),
19
+ PENDING: chalkInstance.yellow.bind(chalk_1.default),
20
+ SKIPPED: chalkInstance.cyan.bind(chalk_1.default),
21
+ UNDEFINED: chalkInstance.yellow.bind(chalk_1.default),
22
+ UNKNOWN: chalkInstance.yellow.bind(chalk_1.default),
23
+ }[status];
24
+ },
25
+ location: chalkInstance.gray.bind(chalk_1.default),
26
+ tag: chalkInstance.cyan.bind(chalk_1.default),
27
+ diffAdded: chalkInstance.green.bind(chalk_1.default),
28
+ diffRemoved: chalkInstance.red.bind(chalk_1.default),
29
+ errorMessage: chalkInstance.red.bind(chalk_1.default),
30
+ errorStack: chalkInstance.grey.bind(chalk_1.default),
31
+ };
32
+ }
33
+ else {
34
+ return {
35
+ forStatus(_status) {
36
+ return (x) => x;
37
+ },
38
+ location: (x) => x,
39
+ tag: (x) => x,
40
+ diffAdded: (x) => x,
41
+ diffRemoved: (x) => x,
42
+ errorMessage: (x) => x,
43
+ errorStack: (x) => x,
44
+ };
45
+ }
46
+ }
47
+ exports.default = getColorFns;
48
+ function detectSupport(stream, env, enabled) {
49
+ const support = (0, supports_color_1.supportsColor)(stream);
50
+ // if we find FORCE_COLOR, we can let the supports-color library handle that
51
+ if ('FORCE_COLOR' in env || (0, value_checker_1.doesNotHaveValue)(enabled)) {
52
+ return support;
53
+ }
54
+ return enabled ? support || { level: 1 } : false;
55
+ }
56
56
  //# sourceMappingURL=get_color_fns.js.map
@@ -1,2 +1,2 @@
1
- import { Duration } from '@cucumber/messages';
2
- export declare function durationToNanoseconds(duration: Duration): number;
1
+ import { Duration } from '@cucumber/messages';
2
+ export declare function durationToNanoseconds(duration: Duration): number;
@@ -1,9 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.durationToNanoseconds = void 0;
4
- const NANOS_IN_SECOND = 1000000000;
5
- function durationToNanoseconds(duration) {
6
- return Math.floor(duration.seconds * NANOS_IN_SECOND + duration.nanos);
7
- }
8
- exports.durationToNanoseconds = durationToNanoseconds;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.durationToNanoseconds = void 0;
4
+ const NANOS_IN_SECOND = 1000000000;
5
+ function durationToNanoseconds(duration) {
6
+ return Math.floor(duration.seconds * NANOS_IN_SECOND + duration.nanos);
7
+ }
8
+ exports.durationToNanoseconds = durationToNanoseconds;
9
9
  //# sourceMappingURL=duration_helpers.js.map
@@ -1,30 +1,30 @@
1
- /// <reference types="node" />
2
- import * as messages from '@cucumber/messages';
3
- import { EventEmitter } from 'events';
4
- export interface ITestCaseAttempt {
5
- attempt: number;
6
- willBeRetried: boolean;
7
- gherkinDocument: messages.GherkinDocument;
8
- pickle: messages.Pickle;
9
- stepAttachments: Record<string, messages.Attachment[]>;
10
- stepResults: Record<string, messages.TestStepResult>;
11
- testCase: messages.TestCase;
12
- worstTestStepResult: messages.TestStepResult;
13
- }
14
- export default class EventDataCollector {
15
- private gherkinDocumentMap;
16
- private pickleMap;
17
- private testCaseMap;
18
- private testCaseAttemptDataMap;
19
- readonly undefinedParameterTypes: messages.UndefinedParameterType[];
20
- constructor(eventBroadcaster: EventEmitter);
21
- getGherkinDocument(uri: string): messages.GherkinDocument;
22
- getPickle(pickleId: string): messages.Pickle;
23
- getTestCaseAttempts(): ITestCaseAttempt[];
24
- getTestCaseAttempt(testCaseStartedId: string): ITestCaseAttempt;
25
- parseEnvelope(envelope: messages.Envelope): void;
26
- private initTestCaseAttempt;
27
- storeAttachment(attachment: messages.Attachment): void;
28
- storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }: messages.TestStepFinished): void;
29
- storeTestCaseResult({ testCaseStartedId, willBeRetried, }: messages.TestCaseFinished): void;
30
- }
1
+ /// <reference types="node" />
2
+ import * as messages from '@cucumber/messages';
3
+ import { EventEmitter } from 'events';
4
+ export interface ITestCaseAttempt {
5
+ attempt: number;
6
+ willBeRetried: boolean;
7
+ gherkinDocument: messages.GherkinDocument;
8
+ pickle: messages.Pickle;
9
+ stepAttachments: Record<string, messages.Attachment[]>;
10
+ stepResults: Record<string, messages.TestStepResult>;
11
+ testCase: messages.TestCase;
12
+ worstTestStepResult: messages.TestStepResult;
13
+ }
14
+ export default class EventDataCollector {
15
+ private gherkinDocumentMap;
16
+ private pickleMap;
17
+ private testCaseMap;
18
+ private testCaseAttemptDataMap;
19
+ readonly undefinedParameterTypes: messages.UndefinedParameterType[];
20
+ constructor(eventBroadcaster: EventEmitter);
21
+ getGherkinDocument(uri: string): messages.GherkinDocument;
22
+ getPickle(pickleId: string): messages.Pickle;
23
+ getTestCaseAttempts(): ITestCaseAttempt[];
24
+ getTestCaseAttempt(testCaseStartedId: string): ITestCaseAttempt;
25
+ parseEnvelope(envelope: messages.Envelope): void;
26
+ private initTestCaseAttempt;
27
+ storeAttachment(attachment: messages.Attachment): void;
28
+ storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }: messages.TestStepFinished): void;
29
+ storeTestCaseResult({ testCaseStartedId, willBeRetried, }: messages.TestCaseFinished): void;
30
+ }