@datadog/datadog-ci 1.16.0 → 2.0.0

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 (210) hide show
  1. package/LICENSE-3rdparty.csv +14 -9
  2. package/README.md +105 -109
  3. package/dist/cli.js +1 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/dsyms/__tests__/upload.test.js +2 -3
  6. package/dist/commands/dsyms/__tests__/upload.test.js.map +1 -1
  7. package/dist/commands/dsyms/__tests__/utils.test.js.map +1 -1
  8. package/dist/commands/dsyms/renderer.js +1 -1
  9. package/dist/commands/dsyms/renderer.js.map +1 -1
  10. package/dist/commands/dsyms/upload.js +2 -2
  11. package/dist/commands/dsyms/upload.js.map +1 -1
  12. package/dist/commands/dsyms/utils.js +1 -1
  13. package/dist/commands/dsyms/utils.js.map +1 -1
  14. package/dist/commands/flutter-symbols/__tests__/upload.test.js +3 -7
  15. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +1 -1
  16. package/dist/commands/flutter-symbols/helpers.js.map +1 -1
  17. package/dist/commands/flutter-symbols/renderer.js.map +1 -1
  18. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  19. package/dist/commands/git-metadata/__tests__/git.test.js.map +1 -1
  20. package/dist/commands/git-metadata/__tests__/library.test.js.map +1 -1
  21. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -1
  22. package/dist/commands/git-metadata/__tests__/upload.test.js.map +1 -1
  23. package/dist/commands/git-metadata/git.js +1 -1
  24. package/dist/commands/git-metadata/git.js.map +1 -1
  25. package/dist/commands/git-metadata/library.js.map +1 -1
  26. package/dist/commands/git-metadata/renderer.js.map +1 -1
  27. package/dist/commands/git-metadata/upload.js.map +1 -1
  28. package/dist/commands/junit/__tests__/upload.test.js +56 -21
  29. package/dist/commands/junit/__tests__/upload.test.js.map +1 -1
  30. package/dist/commands/junit/api.d.ts +1 -1
  31. package/dist/commands/junit/api.js +13 -10
  32. package/dist/commands/junit/api.js.map +1 -1
  33. package/dist/commands/junit/interfaces.d.ts +2 -1
  34. package/dist/commands/junit/renderer.js +1 -1
  35. package/dist/commands/junit/renderer.js.map +1 -1
  36. package/dist/commands/junit/upload.d.ts +3 -0
  37. package/dist/commands/junit/upload.js +43 -13
  38. package/dist/commands/junit/upload.js.map +1 -1
  39. package/dist/commands/lambda/__tests__/fixtures.js +1 -1
  40. package/dist/commands/lambda/__tests__/fixtures.js.map +1 -1
  41. package/dist/commands/lambda/__tests__/functions/commons.test.js +3 -5
  42. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +1 -1
  43. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +1 -1
  44. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +4 -4
  45. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +1 -1
  46. package/dist/commands/lambda/__tests__/instrument.test.js +5 -7
  47. package/dist/commands/lambda/__tests__/instrument.test.js.map +1 -1
  48. package/dist/commands/lambda/__tests__/loggroup.test.js.map +1 -1
  49. package/dist/commands/lambda/__tests__/prompt.test.js +36 -13
  50. package/dist/commands/lambda/__tests__/prompt.test.js.map +1 -1
  51. package/dist/commands/lambda/__tests__/tags.test.js +0 -1
  52. package/dist/commands/lambda/__tests__/tags.test.js.map +1 -1
  53. package/dist/commands/lambda/__tests__/uninstrument.test.js +1 -2
  54. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +1 -1
  55. package/dist/commands/lambda/constants.d.ts +1 -1
  56. package/dist/commands/lambda/constants.js +3 -9
  57. package/dist/commands/lambda/constants.js.map +1 -1
  58. package/dist/commands/lambda/functions/commons.js +6 -5
  59. package/dist/commands/lambda/functions/commons.js.map +1 -1
  60. package/dist/commands/lambda/functions/instrument.js +2 -1
  61. package/dist/commands/lambda/functions/instrument.js.map +1 -1
  62. package/dist/commands/lambda/functions/uninstrument.js.map +1 -1
  63. package/dist/commands/lambda/instrument.js +1 -1
  64. package/dist/commands/lambda/instrument.js.map +1 -1
  65. package/dist/commands/lambda/loggroup.js.map +1 -1
  66. package/dist/commands/lambda/prompt.js +40 -32
  67. package/dist/commands/lambda/prompt.js.map +1 -1
  68. package/dist/commands/lambda/tags.js +0 -1
  69. package/dist/commands/lambda/tags.js.map +1 -1
  70. package/dist/commands/lambda/uninstrument.js +1 -3
  71. package/dist/commands/lambda/uninstrument.js.map +1 -1
  72. package/dist/commands/metric/metric.js +3 -3
  73. package/dist/commands/metric/metric.js.map +1 -1
  74. package/dist/commands/react-native/__tests__/codepush.test.js +1 -2
  75. package/dist/commands/react-native/__tests__/codepush.test.js.map +1 -1
  76. package/dist/commands/react-native/__tests__/interfaces.test.js +28 -3
  77. package/dist/commands/react-native/__tests__/interfaces.test.js.map +1 -1
  78. package/dist/commands/react-native/__tests__/upload.test.js +0 -1
  79. package/dist/commands/react-native/__tests__/upload.test.js.map +1 -1
  80. package/dist/commands/react-native/__tests__/xcode.test.js +156 -3
  81. package/dist/commands/react-native/__tests__/xcode.test.js.map +1 -1
  82. package/dist/commands/react-native/codepush.d.ts +1 -0
  83. package/dist/commands/react-native/codepush.js +4 -0
  84. package/dist/commands/react-native/codepush.js.map +1 -1
  85. package/dist/commands/react-native/errors.js +5 -5
  86. package/dist/commands/react-native/errors.js.map +1 -1
  87. package/dist/commands/react-native/interfaces.d.ts +1 -0
  88. package/dist/commands/react-native/interfaces.js +8 -0
  89. package/dist/commands/react-native/interfaces.js.map +1 -1
  90. package/dist/commands/react-native/renderer.d.ts +2 -0
  91. package/dist/commands/react-native/renderer.js +14 -2
  92. package/dist/commands/react-native/renderer.js.map +1 -1
  93. package/dist/commands/react-native/upload.d.ts +1 -0
  94. package/dist/commands/react-native/upload.js +11 -0
  95. package/dist/commands/react-native/upload.js.map +1 -1
  96. package/dist/commands/react-native/validation.js.map +1 -1
  97. package/dist/commands/react-native/xcode.d.ts +9 -0
  98. package/dist/commands/react-native/xcode.js +112 -26
  99. package/dist/commands/react-native/xcode.js.map +1 -1
  100. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -1
  101. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +1 -1
  102. package/dist/commands/sourcemaps/interfaces.js.map +1 -1
  103. package/dist/commands/sourcemaps/renderer.js.map +1 -1
  104. package/dist/commands/sourcemaps/upload.js +4 -5
  105. package/dist/commands/sourcemaps/upload.js.map +1 -1
  106. package/dist/commands/sourcemaps/validation.js.map +1 -1
  107. package/dist/commands/synthetics/__tests__/api.test.js +18 -0
  108. package/dist/commands/synthetics/__tests__/api.test.js.map +1 -1
  109. package/dist/commands/synthetics/__tests__/cli.test.js +48 -15
  110. package/dist/commands/synthetics/__tests__/cli.test.js.map +1 -1
  111. package/dist/commands/synthetics/__tests__/fixtures.d.ts +5 -0
  112. package/dist/commands/synthetics/__tests__/fixtures.js +9 -1
  113. package/dist/commands/synthetics/__tests__/fixtures.js.map +1 -1
  114. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +1 -1
  115. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -1
  116. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +1 -1
  117. package/dist/commands/synthetics/__tests__/run-test.test.js +10 -32
  118. package/dist/commands/synthetics/__tests__/run-test.test.js.map +1 -1
  119. package/dist/commands/synthetics/__tests__/{crypto.test.d.ts → tunnel/crypto.test.d.ts} +0 -0
  120. package/dist/commands/synthetics/__tests__/{crypto.test.js → tunnel/crypto.test.js} +1 -1
  121. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +1 -0
  122. package/dist/commands/synthetics/__tests__/{tunnel.test.d.ts → tunnel/tunnel.test.d.ts} +0 -0
  123. package/dist/commands/synthetics/__tests__/{tunnel.test.js → tunnel/tunnel.test.js} +16 -16
  124. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +1 -0
  125. package/dist/commands/synthetics/__tests__/{websocket.test.d.ts → tunnel/websocket.test.d.ts} +0 -0
  126. package/dist/commands/synthetics/__tests__/{websocket.test.js → tunnel/websocket.test.js} +5 -6
  127. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +1 -0
  128. package/dist/commands/synthetics/__tests__/utils.test.js +25 -62
  129. package/dist/commands/synthetics/__tests__/utils.test.js.map +1 -1
  130. package/dist/commands/synthetics/api.js +2 -2
  131. package/dist/commands/synthetics/api.js.map +1 -1
  132. package/dist/commands/synthetics/command.js +16 -1
  133. package/dist/commands/synthetics/command.js.map +1 -1
  134. package/dist/commands/synthetics/errors.d.ts +1 -1
  135. package/dist/commands/synthetics/errors.js +1 -1
  136. package/dist/commands/synthetics/errors.js.map +1 -1
  137. package/dist/commands/synthetics/interfaces.d.ts +0 -16
  138. package/dist/commands/synthetics/interfaces.js.map +1 -1
  139. package/dist/commands/synthetics/reporters/default.d.ts +2 -0
  140. package/dist/commands/synthetics/reporters/default.js +7 -1
  141. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  142. package/dist/commands/synthetics/reporters/junit.d.ts +1 -1
  143. package/dist/commands/synthetics/reporters/junit.js +1 -1
  144. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  145. package/dist/commands/synthetics/run-test.js +10 -6
  146. package/dist/commands/synthetics/run-test.js.map +1 -1
  147. package/dist/commands/synthetics/{crypto.d.ts → tunnel/crypto.d.ts} +0 -0
  148. package/dist/commands/synthetics/{crypto.js → tunnel/crypto.js} +0 -0
  149. package/dist/commands/synthetics/tunnel/crypto.js.map +1 -0
  150. package/dist/commands/synthetics/tunnel/index.d.ts +1 -0
  151. package/dist/commands/synthetics/tunnel/index.js +6 -0
  152. package/dist/commands/synthetics/tunnel/index.js.map +1 -0
  153. package/dist/commands/synthetics/{tunnel.d.ts → tunnel/tunnel.d.ts} +12 -10
  154. package/dist/commands/synthetics/{tunnel.js → tunnel/tunnel.js} +36 -32
  155. package/dist/commands/synthetics/tunnel/tunnel.js.map +1 -0
  156. package/dist/commands/synthetics/{websocket.d.ts → tunnel/websocket.d.ts} +3 -3
  157. package/dist/commands/synthetics/{websocket.js → tunnel/websocket.js} +5 -8
  158. package/dist/commands/synthetics/tunnel/websocket.js.map +1 -0
  159. package/dist/commands/synthetics/utils.js +11 -63
  160. package/dist/commands/synthetics/utils.js.map +1 -1
  161. package/dist/commands/tag/tag.js +3 -3
  162. package/dist/commands/tag/tag.js.map +1 -1
  163. package/dist/commands/trace/__tests__/trace.test.js +1 -1
  164. package/dist/commands/trace/__tests__/trace.test.js.map +1 -1
  165. package/dist/commands/trace/api.js.map +1 -1
  166. package/dist/commands/trace/trace.js +2 -2
  167. package/dist/commands/trace/trace.js.map +1 -1
  168. package/dist/constants.d.ts +1 -0
  169. package/dist/constants.js +11 -0
  170. package/dist/constants.js.map +1 -0
  171. package/dist/helpers/__tests__/ci.test.js.map +1 -1
  172. package/dist/helpers/__tests__/plist.test.d.ts +1 -0
  173. package/dist/helpers/__tests__/plist.test.js +31 -0
  174. package/dist/helpers/__tests__/plist.test.js.map +1 -0
  175. package/dist/helpers/__tests__/retry.test.js.map +1 -1
  176. package/dist/helpers/__tests__/upload.test.js +1 -1
  177. package/dist/helpers/__tests__/upload.test.js.map +1 -1
  178. package/dist/helpers/__tests__/user-provided-git.test.js.map +1 -1
  179. package/dist/helpers/__tests__/utils.test.js +4 -4
  180. package/dist/helpers/__tests__/utils.test.js.map +1 -1
  181. package/dist/helpers/__tests__/validation.test.d.ts +1 -0
  182. package/dist/helpers/__tests__/validation.test.js +19 -0
  183. package/dist/helpers/__tests__/validation.test.js.map +1 -0
  184. package/dist/helpers/apikey.js.map +1 -1
  185. package/dist/helpers/ci.d.ts +5 -0
  186. package/dist/helpers/ci.js +25 -4
  187. package/dist/helpers/ci.js.map +1 -1
  188. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +1 -1
  189. package/dist/helpers/git/format-git-sourcemaps-data.js +4 -4
  190. package/dist/helpers/git/format-git-sourcemaps-data.js.map +1 -1
  191. package/dist/helpers/git/format-git-span-data.js.map +1 -1
  192. package/dist/helpers/git/get-git-data.js.map +1 -1
  193. package/dist/helpers/plist.d.ts +44 -0
  194. package/dist/helpers/plist.js +75 -0
  195. package/dist/helpers/plist.js.map +1 -0
  196. package/dist/helpers/upload.d.ts +1 -1
  197. package/dist/helpers/upload.js.map +1 -1
  198. package/dist/helpers/utils.d.ts +3 -3
  199. package/dist/helpers/utils.js +2 -2
  200. package/dist/helpers/utils.js.map +1 -1
  201. package/dist/helpers/validation.d.ts +1 -0
  202. package/dist/helpers/validation.js +6 -1
  203. package/dist/helpers/validation.js.map +1 -1
  204. package/package.json +22 -17
  205. package/dist/commands/synthetics/__tests__/crypto.test.js.map +0 -1
  206. package/dist/commands/synthetics/__tests__/tunnel.test.js.map +0 -1
  207. package/dist/commands/synthetics/__tests__/websocket.test.js.map +0 -1
  208. package/dist/commands/synthetics/crypto.js.map +0 -1
  209. package/dist/commands/synthetics/tunnel.js.map +0 -1
  210. package/dist/commands/synthetics/websocket.js.map +0 -1
@@ -10,11 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getTestsList = exports.executeTests = void 0;
13
+ const utils_1 = require("../../helpers/utils");
13
14
  const api_1 = require("./api");
14
15
  const command_1 = require("./command");
15
16
  const errors_1 = require("./errors");
17
+ const default_1 = require("./reporters/default");
16
18
  const tunnel_1 = require("./tunnel");
17
- const utils_1 = require("./utils");
19
+ const utils_2 = require("./utils");
18
20
  const executeTests = (reporter, config, suites) => __awaiter(void 0, void 0, void 0, function* () {
19
21
  const api = api_1.getApiHelper(config);
20
22
  const publicIdsFromCli = config.publicIds.map((id) => {
@@ -48,7 +50,7 @@ const executeTests = (reporter, config, suites) => __awaiter(void 0, void 0, voi
48
50
  let testsToTriggerResult;
49
51
  try {
50
52
  const triggerFromSearch = !!config.testSearchQuery;
51
- testsToTriggerResult = yield utils_1.getTestsToTrigger(api, testsToTrigger, reporter, triggerFromSearch, config.failOnMissingTests);
53
+ testsToTriggerResult = yield utils_2.getTestsToTrigger(api, testsToTrigger, reporter, triggerFromSearch, config.failOnMissingTests);
52
54
  }
53
55
  catch (error) {
54
56
  if (error instanceof errors_1.CiError) {
@@ -73,7 +75,9 @@ const executeTests = (reporter, config, suites) => __awaiter(void 0, void 0, voi
73
75
  }
74
76
  // Open a tunnel to Datadog
75
77
  try {
76
- tunnel = new tunnel_1.Tunnel(presignedURL, publicIdsToTrigger, config.proxy, reporter);
78
+ const tunnelProxyAgent = utils_1.getProxyAgent(config.proxy);
79
+ const tunnelReporter = default_1.getTunnelReporter(reporter);
80
+ tunnel = new tunnel_1.Tunnel(presignedURL, publicIdsToTrigger, tunnelProxyAgent, tunnelReporter);
77
81
  const tunnelInfo = yield tunnel.start();
78
82
  overriddenTestsToTrigger.forEach((testToTrigger) => {
79
83
  testToTrigger.tunnel = tunnelInfo;
@@ -86,7 +90,7 @@ const executeTests = (reporter, config, suites) => __awaiter(void 0, void 0, voi
86
90
  }
87
91
  let trigger;
88
92
  try {
89
- trigger = yield utils_1.runTests(api, overriddenTestsToTrigger);
93
+ trigger = yield utils_2.runTests(api, overriddenTestsToTrigger);
90
94
  }
91
95
  catch (error) {
92
96
  yield stopTunnel();
@@ -94,7 +98,7 @@ const executeTests = (reporter, config, suites) => __awaiter(void 0, void 0, voi
94
98
  }
95
99
  try {
96
100
  const maxPollingTimeout = Math.max(...testsToTrigger.map((t) => t.config.pollingTimeout || config.pollingTimeout));
97
- const results = yield utils_1.waitForResults(api, trigger, tests, {
101
+ const results = yield utils_2.waitForResults(api, trigger, tests, {
98
102
  failOnCriticalErrors: config.failOnCriticalErrors,
99
103
  failOnTimeout: config.failOnTimeout,
100
104
  maxPollingTimeout,
@@ -130,7 +134,7 @@ const getTestsList = (api, config, reporter, suites = []) => __awaiter(void 0, v
130
134
  }
131
135
  return testsToTriggerBySearchQuery;
132
136
  }
133
- const suitesFromFiles = (yield Promise.all(config.files.map((glob) => utils_1.getSuites(glob, reporter))))
137
+ const suitesFromFiles = (yield Promise.all(config.files.map((glob) => utils_2.getSuites(glob, reporter))))
134
138
  .reduce((acc, val) => acc.concat(val), [])
135
139
  .filter((suite) => !!suite.content.tests);
136
140
  suites.push(...suitesFromFiles);
@@ -1 +1 @@
1
- {"version":3,"file":"run-test.js","sourceRoot":"","sources":["../../../src/commands/synthetics/run-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-test.js","sourceRoot":"","sources":["../../../src/commands/synthetics/run-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/tunnel/crypto.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAE1C,+BAA0B;AAE1B,iCAA+C;AAE/C,yFAAyF;AAClF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAC,SAAS,EAAE,UAAU,EAAC,GAAG,4BAAmB,CAAC,IAAI,EAAE;QACxD,UAAU,EAAE,OAAO;QACnB,kBAAkB,EAAE;YAClB,MAAM;YACN,IAAI,EAAE,OAAO;SACd;QACD,iBAAiB,EAAE;YACjB,MAAM;YACN,IAAI,EAAE,MAAM;SACb;KACF,CAAC,CAAA;IACF,MAAM,gBAAgB,GAAG,gBAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1F,MAAM,iBAAiB,GAAG,uBAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEnG,OAAO;QACL,UAAU,EAAE,iBAAiB;QAC7B,SAAS,EAAE,gBAAgB;KAC5B,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,mBAAmB,uBAoB/B;AAED,gCAAgC;AACzB,MAAM,WAAW,GAAG,CAAC,GAAW,EAAa,EAAE;IACpD,MAAM,SAAS,GAAG,YAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAErC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;KACtC;IAED,IAAI,SAAS,YAAY,KAAK,EAAE;QAC9B,MAAM,SAAS,CAAA;KAChB;IAED,IAAI,SAAS,YAAY,KAAK,EAAE;QAC9B,mFAAmF;QACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;SACtC;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;KACpB;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
@@ -0,0 +1 @@
1
+ export { Tunnel, TunnelInfo, TunnelReporter } from './tunnel';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tunnel = void 0;
4
+ var tunnel_1 = require("./tunnel");
5
+ Object.defineProperty(exports, "Tunnel", { enumerable: true, get: function () { return tunnel_1.Tunnel; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/tunnel/index.ts"],"names":[],"mappings":";;;AAAA,mCAA2D;AAAnD,gGAAA,MAAM,OAAA"}
@@ -1,25 +1,27 @@
1
- import { ProxyConfiguration } from '../../helpers/utils';
2
- import { MainReporter } from './interfaces';
1
+ import type ProxyAgent from 'proxy-agent';
3
2
  export interface TunnelInfo {
4
3
  host: string;
5
4
  id: string;
6
5
  privateKey: string;
7
6
  }
7
+ export interface TunnelReporter {
8
+ error(message: string): void;
9
+ log(message: string): void;
10
+ warn(message: string): void;
11
+ }
8
12
  export declare class Tunnel {
9
13
  private url;
10
14
  private testIDs;
11
- private connected;
12
- private forwardedSockets;
15
+ private reporter?;
13
16
  private FORWARDING_TIMEOUT;
14
- private log;
15
- private logError;
16
- private logWarning;
17
- private multiplexer?;
17
+ private sshConfig;
18
18
  private privateKey;
19
19
  private publicKey;
20
- private sshConfig;
20
+ private connected;
21
21
  private ws;
22
- constructor(url: string, testIDs: string[], proxy: ProxyConfiguration, reporter: MainReporter);
22
+ private multiplexer?;
23
+ private forwardedSockets;
24
+ constructor(url: string, testIDs: string[], proxyAgent?: ReturnType<typeof ProxyAgent>, reporter?: TunnelReporter | undefined);
23
25
  /**
24
26
  * keepAlive will return a promise that tracks the state of the tunnel (and reject in case of error)
25
27
  */
@@ -8,33 +8,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.Tunnel = void 0;
16
13
  const crypto_1 = require("crypto");
17
14
  const net_1 = require("net");
18
15
  const stream_1 = require("stream");
19
- const chalk_1 = __importDefault(require("chalk"));
20
16
  const ssh2_1 = require("ssh2");
21
17
  const yamux_js_1 = require("yamux-js");
22
- // tslint:disable-next-line:no-var-requires - SW-1310
23
- const { KexInit } = require('ssh2/lib/protocol/kex');
24
- // tslint:disable-next-line:no-var-requires - SW-1310
25
- const SSH_CONSTANTS = require('ssh2/lib/protocol/constants');
26
18
  const crypto_2 = require("./crypto");
27
19
  const websocket_1 = require("./websocket");
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires -- SW-1310
21
+ const SSH_CONSTANTS = require('ssh2/lib/protocol/constants');
22
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires -- SW-1310
23
+ const { KexInit } = require('ssh2/lib/protocol/kex');
28
24
  class Tunnel {
29
- constructor(url, testIDs, proxy, reporter) {
25
+ constructor(url, testIDs, proxyAgent, reporter) {
30
26
  this.url = url;
31
27
  this.testIDs = testIDs;
28
+ this.reporter = reporter;
29
+ this.FORWARDING_TIMEOUT = 40000;
32
30
  this.connected = false;
33
31
  this.forwardedSockets = new Set();
34
- this.FORWARDING_TIMEOUT = 40000;
35
- this.log = (message) => reporter.log(`[${chalk_1.default.bold.blue('Tunnel')}] ${message}\n`);
36
- this.logError = (message) => reporter.error(`[${chalk_1.default.bold.red('Tunnel')}] ${message}\n`);
37
- this.logWarning = (message) => reporter.log(`[${chalk_1.default.bold.yellow('Tunnel')}] ${message}\n`);
38
32
  // Setup SSH
39
33
  const { privateKey: hostPrivateKey } = crypto_2.generateOpenSSHKeys();
40
34
  const parsedHostPrivateKey = crypto_2.parseSSHKey(hostPrivateKey);
@@ -49,14 +43,14 @@ class Tunnel {
49
43
  highWaterMark: 255 * 1024,
50
44
  hostKeys: [hostPrivateKey],
51
45
  };
52
- this.ws = new websocket_1.WebSocket(this.url, proxy);
46
+ this.ws = new websocket_1.WebSocket(this.url, proxyAgent);
53
47
  }
54
48
  /**
55
49
  * keepAlive will return a promise that tracks the state of the tunnel (and reject in case of error)
56
50
  */
57
51
  keepAlive() {
58
52
  return __awaiter(this, void 0, void 0, function* () {
59
- if (!this.ws || !this.ws.keepAlive()) {
53
+ if (!this.ws) {
60
54
  throw new Error('No WebSocket connection');
61
55
  }
62
56
  return this.ws.keepAlive();
@@ -69,9 +63,10 @@ class Tunnel {
69
63
  * - establish a WebSocket connection to the tunnel service
70
64
  */
71
65
  start() {
66
+ var _a, _b, _c;
72
67
  return __awaiter(this, void 0, void 0, function* () {
73
- this.log(`Opening tunnel for ${chalk_1.default.bold.dim(...this.testIDs)}…`);
74
- this.log('Generating encryption key, setting up SSH and opening WebSocket connection…');
68
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.log(`Opening tunnel for ${this.testIDs.length} tests…`);
69
+ (_b = this.reporter) === null || _b === void 0 ? void 0 : _b.log('Generating encryption key, setting up SSH and opening WebSocket connection…');
75
70
  try {
76
71
  // Establish a WebSocket connection to the tunnel service
77
72
  yield this.ws.connect();
@@ -80,7 +75,7 @@ class Tunnel {
80
75
  return connectionInfo;
81
76
  }
82
77
  catch (err) {
83
- this.logError('Tunnel setup failed, cleaning up and exiting…');
78
+ (_c = this.reporter) === null || _c === void 0 ? void 0 : _c.error('Tunnel setup failed, cleaning up and exiting…');
84
79
  yield this.stop(); // Clean up
85
80
  throw err;
86
81
  }
@@ -90,8 +85,9 @@ class Tunnel {
90
85
  * stop the tunnel
91
86
  */
92
87
  stop() {
88
+ var _a;
93
89
  return __awaiter(this, void 0, void 0, function* () {
94
- this.log('Shutting down tunnel…');
90
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.log('Shutting down tunnel…');
95
91
  this.forwardedSockets.forEach((socket) => {
96
92
  if (!!socket) {
97
93
  socket.destroy();
@@ -105,6 +101,7 @@ class Tunnel {
105
101
  }
106
102
  // Authenticate SSH with key authentication - username should be the test ID
107
103
  authenticateSSHConnection(ctx) {
104
+ var _a;
108
105
  const allowedUsers = this.testIDs.map((testId) => Buffer.from(testId));
109
106
  // Ensure username is allowed
110
107
  const user = Buffer.from(ctx.username);
@@ -131,7 +128,7 @@ class Tunnel {
131
128
  if (!this.connected) {
132
129
  // Limit to one log per tunnel
133
130
  this.connected = true;
134
- this.log('Successfully connected');
131
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.log('Successfully connected');
135
132
  }
136
133
  ctx.accept();
137
134
  }
@@ -150,7 +147,8 @@ class Tunnel {
150
147
  dest.setTimeout(this.FORWARDING_TIMEOUT);
151
148
  this.forwardedSockets.add(dest);
152
149
  dest.on('timeout', () => {
153
- this.logWarning(`Connection timeout (${destIP})`);
150
+ var _a;
151
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.warn(`Connection timeout (${destIP})`);
154
152
  if (src) {
155
153
  src.destroy();
156
154
  }
@@ -174,16 +172,17 @@ class Tunnel {
174
172
  });
175
173
  });
176
174
  dest.on('error', (error) => {
175
+ var _a, _b, _c;
177
176
  if (src) {
178
- this.logWarning(`Error on opened connection (${destIP}): ${error.code}`);
177
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.warn(`Error on opened connection (${destIP}): ${error.code}`);
179
178
  src.close();
180
179
  }
181
180
  else {
182
181
  if ('code' in error && error.code === 'ENOTFOUND') {
183
- this.logWarning(`Unable to resolve host (${destIP})`);
182
+ (_b = this.reporter) === null || _b === void 0 ? void 0 : _b.warn(`Unable to resolve host (${destIP})`);
184
183
  }
185
184
  else {
186
- this.logWarning(`Connection error (${destIP}): ${error.code}`);
185
+ (_c = this.reporter) === null || _c === void 0 ? void 0 : _c.warn(`Connection error (${destIP}): ${error.code}`);
187
186
  }
188
187
  reject();
189
188
  this.forwardedSockets.delete(dest);
@@ -209,9 +208,10 @@ class Tunnel {
209
208
  });
210
209
  }
211
210
  forwardWebSocketToSSH() {
211
+ var _a;
212
212
  return __awaiter(this, void 0, void 0, function* () {
213
213
  const connectionInfo = yield this.getConnectionInfo();
214
- this.log(`Websocket connection to tunnel ${connectionInfo.id} opened, proxy is ready!`);
214
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.log(`Websocket connection to tunnel ${connectionInfo.id} opened, proxy is ready!`);
215
215
  // Stop any existing multiplexing
216
216
  if (this.multiplexer) {
217
217
  this.multiplexer.close();
@@ -225,22 +225,25 @@ class Tunnel {
225
225
  };
226
226
  this.multiplexer = new yamux_js_1.Server((stream) => {
227
227
  stream.on('error', (error) => {
228
- this.logError(`Error in multiplexing: ${error}`);
228
+ var _a;
229
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.error(`Error in multiplexing: ${error}`);
229
230
  });
230
- this.processSSHStream(stream);
231
+ void this.processSSHStream(stream);
231
232
  }, multiplexerConfig);
232
233
  // Pipe WebSocket to multiplexing
233
234
  const duplex = this.ws.duplex();
234
- this.multiplexer.on('error', (error) => this.logError(`Multiplexer error: ${error.message}`));
235
- duplex.on('error', (error) => this.logError(`Websocket error: ${error.message}`));
235
+ this.multiplexer.on('error', (error) => { var _a; return (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.error(`Multiplexer error: ${error.message}`); });
236
+ duplex.on('error', (error) => { var _a; return (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.error(`Websocket error: ${error.message}`); });
236
237
  stream_1.pipeline([duplex, this.multiplexer], (err) => {
238
+ var _a;
237
239
  if (err) {
238
- this.logWarning(`Error on duplex connection close: ${err}`);
240
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.warn(`Error on duplex connection close: ${err}`);
239
241
  }
240
242
  });
241
243
  stream_1.pipeline([this.multiplexer, duplex], (err) => {
244
+ var _a;
242
245
  if (err) {
243
- this.logWarning(`Error on Multiplexer connection close: ${err}`);
246
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.warn(`Error on Multiplexer connection close: ${err}`);
244
247
  }
245
248
  });
246
249
  return connectionInfo;
@@ -291,7 +294,8 @@ class Tunnel {
291
294
  server.close();
292
295
  })
293
296
  .on('error', (err) => {
294
- this.logError(`SSH error in proxy: ${err.message}`);
297
+ var _a;
298
+ (_a = this.reporter) === null || _a === void 0 ? void 0 : _a.error(`SSH error in proxy: ${err.message}`);
295
299
  });
296
300
  });
297
301
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/tunnel/tunnel.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
+ import type ProxyAgent from 'proxy-agent';
3
4
  import { default as WebSocketModule } from 'ws';
4
- import { ProxyConfiguration } from '../../helpers/utils';
5
5
  export declare class WebSocket extends EventEmitter {
6
6
  private url;
7
- private proxyOpts;
7
+ private proxyAgent;
8
8
  private firstMessage?;
9
9
  private keepAliveWebsocket?;
10
10
  private websocket?;
11
- constructor(url: string, proxyOpts: ProxyConfiguration);
11
+ constructor(url: string, proxyAgent: ReturnType<typeof ProxyAgent> | undefined);
12
12
  /**
13
13
  * close will terminate the WebSocket connection
14
14
  */
@@ -31,12 +31,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.WebSocket = void 0;
32
32
  const events_1 = require("events");
33
33
  const ws_1 = __importStar(require("ws"));
34
- const utils_1 = require("../../helpers/utils");
35
34
  class WebSocket extends events_1.EventEmitter {
36
- constructor(url, proxyOpts) {
35
+ constructor(url, proxyAgent) {
37
36
  super();
38
37
  this.url = url;
39
- this.proxyOpts = proxyOpts;
38
+ this.proxyAgent = proxyAgent;
40
39
  }
41
40
  /**
42
41
  * close will terminate the WebSocket connection
@@ -118,11 +117,9 @@ class WebSocket extends events_1.EventEmitter {
118
117
  }
119
118
  establishWebsocketConnection(resolve, reject) {
120
119
  if (!this.websocket) {
121
- const options = {};
122
- const proxyAgent = utils_1.getProxyAgent(this.proxyOpts);
123
- if (proxyAgent) {
124
- options.agent = proxyAgent;
125
- }
120
+ const options = {
121
+ agent: this.proxyAgent,
122
+ };
126
123
  this.websocket = new ws_1.default(this.url, options);
127
124
  }
128
125
  this.firstMessage = new Promise((firstMessageResolve, firstMessageReject) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/tunnel/websocket.ts"],"names":[],"mappings":"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"}
@@ -33,14 +33,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  exports.pluralize = exports.getDatadogHost = exports.renderResults = exports.sortResultsByOutcome = exports.getResultUrl = exports.getBatchUrl = exports.getAppBaseURL = exports.parseVariablesFromCli = exports.retry = exports.fetchTest = exports.runTests = exports.getTestsToTrigger = exports.isDeviceIdSet = exports.getTestAndOverrideConfig = exports.getReporter = exports.getResultDuration = exports.createInitialSummary = exports.waitForResults = exports.wait = exports.getFilePathRelativeToRepo = exports.getSuites = exports.getResultOutcome = exports.hasResultPassed = exports.getStrictestExecutionRule = exports.getExecutionRule = exports.setCiTriggerApp = exports.getOverriddenConfig = exports.ciTriggerApp = exports.readableOperation = void 0;
35
35
  const child_process_1 = require("child_process");
36
- const deep_extend_1 = __importDefault(require("deep-extend"));
37
36
  const fs = __importStar(require("fs"));
38
37
  const path = __importStar(require("path"));
39
- const url_1 = require("url");
38
+ const process_1 = __importDefault(require("process"));
40
39
  const util_1 = require("util");
41
40
  const chalk_1 = __importDefault(require("chalk"));
41
+ const deep_extend_1 = __importDefault(require("deep-extend"));
42
42
  const glob_1 = __importDefault(require("glob"));
43
- const process_1 = __importDefault(require("process"));
44
43
  const ci_1 = require("../../helpers/ci");
45
44
  const tags_1 = require("../../helpers/tags");
46
45
  const utils_1 = require("../../helpers/utils");
@@ -51,7 +50,6 @@ const interfaces_1 = require("./interfaces");
51
50
  const mobile_1 = require("./mobile");
52
51
  const POLLING_INTERVAL = 5000; // In ms
53
52
  const PUBLIC_ID_REGEX = /^[\d\w]{3}-[\d\w]{3}-[\d\w]{3}$/;
54
- const SUBDOMAIN_REGEX = /(.*?)\.(?=[^\/]*\..{2,5})/;
55
53
  const TEMPLATE_REGEX = /{{\s*([^{}]*?)\s*}}/g;
56
54
  exports.readableOperation = {
57
55
  [interfaces_1.Operator.contains]: 'should contain',
@@ -98,11 +96,7 @@ const getOverriddenConfig = (test, publicId, reporter, config) => {
98
96
  'variables',
99
97
  ]));
100
98
  if ((test.type === 'browser' || test.subtype === 'http') && config.startUrl) {
101
- const context = parseUrlVariables(test.config.request.url, reporter);
102
- if (URL_VARIABLES.some((v) => { var _a; return (_a = config.startUrl) === null || _a === void 0 ? void 0 : _a.includes(v); })) {
103
- reporter.error('[DEPRECATION] The usage of URL variables is deprecated, see explanation in the README\n\n');
104
- }
105
- overriddenConfig.startUrl = template(config.startUrl, context);
99
+ overriddenConfig.startUrl = template(config.startUrl, Object.assign({}, process_1.default.env));
106
100
  }
107
101
  return overriddenConfig;
108
102
  };
@@ -111,56 +105,6 @@ const setCiTriggerApp = (source) => {
111
105
  exports.ciTriggerApp = source;
112
106
  };
113
107
  exports.setCiTriggerApp = setCiTriggerApp;
114
- const parseUrlVariables = (url, reporter) => {
115
- const context = Object.assign(Object.assign({}, process_1.default.env), { URL: url });
116
- let objUrl;
117
- try {
118
- objUrl = new url_1.URL(url);
119
- }
120
- catch (_a) {
121
- reporter.error(`The start url ${url} contains variables, CI overrides will be ignored\n`);
122
- return context;
123
- }
124
- warnOnReservedEnvVarNames(context, reporter);
125
- const subdomainMatch = objUrl.hostname.match(SUBDOMAIN_REGEX);
126
- const domain = subdomainMatch ? objUrl.hostname.replace(`${subdomainMatch[1]}.`, '') : objUrl.hostname;
127
- context.DOMAIN = domain;
128
- context.HASH = objUrl.hash;
129
- context.HOST = objUrl.host;
130
- context.HOSTNAME = objUrl.hostname;
131
- context.ORIGIN = objUrl.origin;
132
- context.PARAMS = objUrl.search;
133
- context.PATHNAME = objUrl.pathname;
134
- context.PORT = objUrl.port;
135
- context.PROTOCOL = objUrl.protocol;
136
- context.SUBDOMAIN = subdomainMatch ? subdomainMatch[1] : undefined;
137
- return context;
138
- };
139
- const URL_VARIABLES = [
140
- 'DOMAIN',
141
- 'HASH',
142
- 'HOST',
143
- 'HOSTNAME',
144
- 'ORIGIN',
145
- 'PARAMS',
146
- 'PATHNAME',
147
- 'PORT',
148
- 'PROTOCOL',
149
- 'SUBDOMAIN',
150
- ];
151
- const warnOnReservedEnvVarNames = (context, reporter) => {
152
- const reservedVarNames = new Set(URL_VARIABLES);
153
- const usedEnvVarNames = Object.keys(context).filter((name) => reservedVarNames.has(name));
154
- if (usedEnvVarNames.length > 0) {
155
- const names = usedEnvVarNames.join(', ');
156
- const plural = usedEnvVarNames.length > 1;
157
- reporter.log(`Detected ${names} environment variable${plural ? 's' : ''}. ${names} ${plural ? 'are' : 'is a'} Datadog ` +
158
- `reserved variable${plural ? 's' : ''} used to parse your original test URL, read more about it on ` +
159
- 'our documentation https://docs.datadoghq.com/synthetics/ci/?tab=apitest#start-url. ' +
160
- 'If you want to override your startUrl parameter using environment variables, ' +
161
- `use ${plural ? '' : 'a '}different namespace${plural ? 's' : ''}.\n\n`);
162
- }
163
- };
164
108
  const getExecutionRule = (test, configOverride) => {
165
109
  var _a, _b, _c, _d;
166
110
  if (configOverride && configOverride.executionRule) {
@@ -334,7 +278,10 @@ const waitForResults = (api, trigger, tests, options, reporter, tunnel) => __awa
334
278
  return hasTunnel ? 'Tunneled' : locationNames[dcId] || dcId;
335
279
  };
336
280
  const pollResultMap = yield getPollResultMap(api, batch);
337
- const results = batch.results.map((resultInBatch) => getResultFromBatch(getLocation, hasExceededMaxPollingDate, options.failOnCriticalErrors, options.failOnTimeout, pollResultMap, resultInBatch, tests));
281
+ const results = batch.results.map((resultInBatch) => {
282
+ var _a, _b;
283
+ return getResultFromBatch(getLocation, hasExceededMaxPollingDate, (_a = options.failOnCriticalErrors) !== null && _a !== void 0 ? _a : false, (_b = options.failOnTimeout) !== null && _b !== void 0 ? _b : false, pollResultMap, resultInBatch, tests);
284
+ });
338
285
  return results;
339
286
  });
340
287
  exports.waitForResults = waitForResults;
@@ -432,6 +379,7 @@ const getReporter = (reporters) => ({
432
379
  });
433
380
  exports.getReporter = getReporter;
434
381
  const getTest = (api, { id, suite }) => __awaiter(void 0, void 0, void 0, function* () {
382
+ var _d;
435
383
  try {
436
384
  const test = Object.assign(Object.assign({}, (yield api.getTest(id))), { suite });
437
385
  return { test };
@@ -441,7 +389,7 @@ const getTest = (api, { id, suite }) => __awaiter(void 0, void 0, void 0, functi
441
389
  const errorMessage = api_1.formatBackendErrors(error);
442
390
  return { errorMessage: `[${chalk_1.default.bold.dim(id)}] ${chalk_1.default.yellow.bold('Test not found')}: ${errorMessage}` };
443
391
  }
444
- throw error;
392
+ throw new api_1.EndpointError(`Failed to get test: ${api_1.formatBackendErrors(error)}\n`, (_d = error.response) === null || _d === void 0 ? void 0 : _d.status);
445
393
  }
446
394
  });
447
395
  const getTestAndOverrideConfig = (api, { config, id, suite }, reporter, summary) => __awaiter(void 0, void 0, void 0, function* () {
@@ -521,7 +469,7 @@ const getTestsToTrigger = (api, triggerConfigs, reporter, triggerFromSearch, fai
521
469
  });
522
470
  exports.getTestsToTrigger = getTestsToTrigger;
523
471
  const runTests = (api, testsToTrigger) => __awaiter(void 0, void 0, void 0, function* () {
524
- var _d;
472
+ var _e;
525
473
  const payload = { tests: testsToTrigger };
526
474
  const tagsToLimit = {
527
475
  [tags_1.GIT_COMMIT_MESSAGE]: 500,
@@ -537,7 +485,7 @@ const runTests = (api, testsToTrigger) => __awaiter(void 0, void 0, void 0, func
537
485
  const errorMessage = api_1.formatBackendErrors(e);
538
486
  const testIds = testsToTrigger.map((t) => t.public_id).join(',');
539
487
  // Rewrite error message
540
- throw new api_1.EndpointError(`[${testIds}] Failed to trigger tests: ${errorMessage}\n`, (_d = e.response) === null || _d === void 0 ? void 0 : _d.status);
488
+ throw new api_1.EndpointError(`[${testIds}] Failed to trigger tests: ${errorMessage}\n`, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status);
541
489
  }
542
490
  });
543
491
  exports.runTests = runTests;