@elastic/synthetics 1.24.4 → 1.26.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 (119) hide show
  1. package/README.md +67 -0
  2. package/dist/cli.js +3 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/common_types.d.ts +25 -0
  5. package/dist/common_types.d.ts.map +1 -1
  6. package/dist/core/certs.d.ts +55 -0
  7. package/dist/core/certs.d.ts.map +1 -0
  8. package/dist/core/certs.js +111 -0
  9. package/dist/core/certs.js.map +1 -0
  10. package/dist/core/gatherer.d.ts +4 -4
  11. package/dist/core/gatherer.d.ts.map +1 -1
  12. package/dist/core/gatherer.js +44 -7
  13. package/dist/core/gatherer.js.map +1 -1
  14. package/dist/core/globals.js +1 -1
  15. package/dist/core/index.d.ts +2 -1
  16. package/dist/core/index.d.ts.map +1 -1
  17. package/dist/core/index.js +16 -1
  18. package/dist/core/index.js.map +1 -1
  19. package/dist/core/runner.d.ts +1 -1
  20. package/dist/core/runner.d.ts.map +1 -1
  21. package/dist/core/runner.js +87 -58
  22. package/dist/core/runner.js.map +1 -1
  23. package/dist/dsl/api-journey.d.ts +62 -0
  24. package/dist/dsl/api-journey.d.ts.map +1 -0
  25. package/dist/dsl/api-journey.js +55 -0
  26. package/dist/dsl/api-journey.js.map +1 -0
  27. package/dist/dsl/index.d.ts +1 -0
  28. package/dist/dsl/index.d.ts.map +1 -1
  29. package/dist/dsl/index.js +1 -0
  30. package/dist/dsl/index.js.map +1 -1
  31. package/dist/dsl/journey.d.ts +10 -2
  32. package/dist/dsl/journey.d.ts.map +1 -1
  33. package/dist/dsl/journey.js +11 -2
  34. package/dist/dsl/journey.js.map +1 -1
  35. package/dist/dsl/monitor.d.ts +2 -1
  36. package/dist/dsl/monitor.d.ts.map +1 -1
  37. package/dist/dsl/monitor.js.map +1 -1
  38. package/dist/index.d.ts +2 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/loader.d.ts.map +1 -1
  43. package/dist/loader.js +66 -1
  44. package/dist/loader.js.map +1 -1
  45. package/dist/network-timings.d.ts +55 -0
  46. package/dist/network-timings.d.ts.map +1 -0
  47. package/dist/network-timings.js +107 -0
  48. package/dist/network-timings.js.map +1 -0
  49. package/dist/options.d.ts +1 -0
  50. package/dist/options.d.ts.map +1 -1
  51. package/dist/options.js +16 -0
  52. package/dist/options.js.map +1 -1
  53. package/dist/plugins/api-network.d.ts +39 -0
  54. package/dist/plugins/api-network.d.ts.map +1 -0
  55. package/dist/plugins/api-network.js +235 -0
  56. package/dist/plugins/api-network.js.map +1 -0
  57. package/dist/plugins/network.d.ts +0 -6
  58. package/dist/plugins/network.d.ts.map +1 -1
  59. package/dist/plugins/network.js +5 -70
  60. package/dist/plugins/network.js.map +1 -1
  61. package/dist/plugins/plugin-manager.d.ts +11 -4
  62. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  63. package/dist/plugins/plugin-manager.js +36 -16
  64. package/dist/plugins/plugin-manager.js.map +1 -1
  65. package/dist/push/index.d.ts.map +1 -1
  66. package/dist/push/index.js +4 -0
  67. package/dist/push/index.js.map +1 -1
  68. package/dist/push/monitor.d.ts.map +1 -1
  69. package/dist/push/monitor.js +1 -1
  70. package/dist/push/monitor.js.map +1 -1
  71. package/dist/push/run-local.d.ts.map +1 -1
  72. package/dist/push/run-local.js +15 -3
  73. package/dist/push/run-local.js.map +1 -1
  74. package/dist/push/utils.d.ts +7 -0
  75. package/dist/push/utils.d.ts.map +1 -1
  76. package/dist/push/utils.js +15 -1
  77. package/dist/push/utils.js.map +1 -1
  78. package/dist/reporters/base.d.ts +2 -2
  79. package/dist/reporters/base.d.ts.map +1 -1
  80. package/dist/reporters/base.js.map +1 -1
  81. package/dist/reporters/index.d.ts +2 -2
  82. package/dist/reporters/index.d.ts.map +1 -1
  83. package/dist/reporters/index.js.map +1 -1
  84. package/dist/reporters/json.d.ts +6 -2
  85. package/dist/reporters/json.d.ts.map +1 -1
  86. package/dist/reporters/json.js +68 -33
  87. package/dist/reporters/json.js.map +1 -1
  88. package/package.json +11 -21
  89. package/src/cli.ts +3 -0
  90. package/src/common_types.ts +34 -0
  91. package/src/core/certs.ts +122 -0
  92. package/src/core/gatherer.ts +63 -10
  93. package/src/core/globals.ts +1 -1
  94. package/src/core/index.ts +28 -0
  95. package/src/core/runner.ts +94 -67
  96. package/src/dsl/api-journey.ts +93 -0
  97. package/src/dsl/index.ts +1 -0
  98. package/src/dsl/journey.ts +21 -9
  99. package/src/dsl/monitor.ts +2 -0
  100. package/src/index.ts +6 -0
  101. package/src/loader.ts +78 -2
  102. package/src/network-timings.ts +130 -0
  103. package/src/options.ts +25 -0
  104. package/src/plugins/api-network.ts +252 -0
  105. package/src/plugins/network.ts +5 -87
  106. package/src/plugins/plugin-manager.ts +60 -19
  107. package/src/push/index.ts +11 -0
  108. package/src/push/monitor.ts +6 -2
  109. package/src/push/run-local.ts +25 -15
  110. package/src/push/utils.ts +15 -0
  111. package/src/reporters/base.ts +2 -1
  112. package/src/reporters/index.ts +2 -1
  113. package/src/reporters/json.ts +74 -41
  114. package/templates/README.md +3 -1
  115. package/templates/journeys/advanced-api-example-helpers.ts +79 -0
  116. package/templates/journeys/advanced-api-example.journey.ts +52 -0
  117. package/templates/journeys/api-example.journey.ts +35 -0
  118. package/templates/synthetics.config.ts +2 -0
  119. package/.husky/install.mjs +0 -7
package/README.md CHANGED
@@ -19,6 +19,73 @@ Run the suites via CLI
19
19
  npx @elastic/synthetics [options] [dir] [files] file
20
20
  ```
21
21
 
22
+ ## Browser journeys
23
+
24
+ The default `journey()` DSL launches a real Chromium browser via Playwright and
25
+ is the right choice when you want to verify user-facing flows.
26
+
27
+ ```ts
28
+ import { journey, step, expect } from '@elastic/synthetics';
29
+
30
+ journey('homepage loads', ({ page, params }) => {
31
+ step('open', async () => {
32
+ await page.goto(params.url);
33
+ });
34
+ step('check title', async () => {
35
+ expect(await page.title()).toContain('Welcome');
36
+ });
37
+ });
38
+ ```
39
+
40
+ ## API journeys (no browser)
41
+
42
+ For API-only checks, use `apiJourney()`. It runs without launching a browser,
43
+ which makes it suitable for OAuth-protected endpoints, multi-step API flows,
44
+ and high-frequency lightweight monitoring.
45
+
46
+ ```ts
47
+ import { apiJourney, monitor, step, expect } from '@elastic/synthetics';
48
+
49
+ apiJourney('orders API health', ({ request, params }) => {
50
+ monitor.use({ schedule: 1, locations: ['us_east'] });
51
+
52
+ let token: string;
53
+ step('obtain OAuth2 token', async () => {
54
+ const r = await request.post(`${params.authUrl}/oauth2/token`, {
55
+ form: {
56
+ grant_type: 'client_credentials',
57
+ client_id: params.clientId,
58
+ client_secret: params.clientSecret,
59
+ },
60
+ });
61
+ expect(r.status()).toBe(200);
62
+ token = (await r.json()).access_token;
63
+ });
64
+
65
+ step('check /orders', async () => {
66
+ const r = await request.get(`${params.apiUrl}/orders`, {
67
+ headers: { Authorization: `Bearer ${token}` },
68
+ });
69
+ expect(r.status()).toBe(200);
70
+ });
71
+ });
72
+ ```
73
+
74
+ API journeys share most of the regular `journey()` surface — `step()`, `expect`,
75
+ `params`, `monitor.use()`, `apiJourney.skip` / `apiJourney.only` — and integrate
76
+ with the same `push` command. They are pushed to Kibana as `api`-type monitors.
77
+
78
+ Each API journey gets its own isolated `APIRequestContext` with an independent
79
+ cookie jar; cookies set in one journey are not visible in another. All
80
+ `playwrightOptions` (`baseURL`, `extraHTTPHeaders`, `ignoreHTTPSErrors`,
81
+ `httpCredentials`, client certificates, proxy, etc.) flow through to the
82
+ underlying Playwright API context.
83
+
84
+ Per-request network data — URL, method, status, headers, body sizes, timings,
85
+ and (for HTTPS) the peer certificate's issuer / subject / `validFrom` /
86
+ `validTo` / protocol — is captured and emitted in the same `journey/network_info`
87
+ events used by browser journeys.
88
+
22
89
  ## Documentation
23
90
 
24
91
  - [Introduction](https://www.elastic.co/guide/en/observability/current/monitor-uptime-synthetics.html#monitoring-synthetics)
package/dist/cli.js CHANGED
@@ -48,7 +48,7 @@ const helpers_2 = require("./helpers");
48
48
  /* eslint-disable-next-line @typescript-eslint/no-var-requires */
49
49
  const { name, version } = require('../package.json');
50
50
  const proxySettings = {};
51
- const { params, pattern, playwrightOpts, auth, authMandatory, configOpt, tags, match, fields, maintenanceWindows, } = (0, options_1.getCommonCommandOpts)();
51
+ const { params, pattern, playwrightOpts, auth, authMandatory, configOpt, tags, match, fields, maintenanceWindows, certificateErrorSpkiAllowlist, } = (0, options_1.getCommonCommandOpts)();
52
52
  commander_1.program
53
53
  .name(`npx ${name}`)
54
54
  .usage('[options] [dir] [files] file')
@@ -70,6 +70,7 @@ commander_1.program
70
70
  .option('--ws-endpoint <endpoint>', 'Browser WebSocket endpoint to connect to')
71
71
  .option('--pause-on-error', 'pause on error until a keypress is made in the console. Useful during development')
72
72
  .option('--ignore-https-errors', 'ignores any HTTPS errors in sites being tested, including ones related to unrecognized certs or signatures. This can be insecure!')
73
+ .addOption(certificateErrorSpkiAllowlist)
73
74
  .option('--quiet-exit-code', 'always return 0 as an exit code status, regardless of test pass / fail. Only return > 0 exit codes on internal errors where the suite could not be run')
74
75
  .option('--throttling <config>', 'JSON object to throttle network conditions for download and upload throughput in megabits/second and latency in milliseconds. Ex: { "download": 10, "upload": 5, "latency": 200 }.', options_1.parseThrottling)
75
76
  .option('--no-throttling', 'Turns off default network throttling.', options_1.parseThrottling)
@@ -123,6 +124,7 @@ commander_1.program
123
124
  .addOption(match)
124
125
  .addOption(params)
125
126
  .addOption(playwrightOpts)
127
+ .addOption(certificateErrorSpkiAllowlist)
126
128
  .addOption(configOpt)
127
129
  .addOption(maintenanceWindows)
128
130
  .action(async (cmdOpts) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,9 @@ export type NetworkConditions = {
52
52
  uploadThroughput: number;
53
53
  latency: number;
54
54
  };
55
+ export type APIDriver = {
56
+ request: APIRequestContext;
57
+ };
55
58
  export type Driver = {
56
59
  browser: ChromiumBrowser;
57
60
  context: ChromiumBrowserContext;
@@ -174,6 +177,12 @@ type GrepOptions = {
174
177
  tags?: Array<string>;
175
178
  match?: string;
176
179
  };
180
+ /**
181
+ * PEM certificates (or Buffers) used to build Chromium's SPKI certificate-error
182
+ * allowlist. This does not add a CA to Chromium's trust store: matching
183
+ * certificates bypass certificate validation errors.
184
+ */
185
+ export type CertificateErrorSpkiAllowlist = string | Buffer | Array<string | Buffer>;
177
186
  type BaseArgs = {
178
187
  params?: Params;
179
188
  screenshots?: ScreenshotOptions;
@@ -183,6 +192,7 @@ type BaseArgs = {
183
192
  outfd?: number;
184
193
  wsEndpoint?: string;
185
194
  pauseOnError?: boolean;
195
+ certificateErrorSpkiAllowlist?: CertificateErrorSpkiAllowlist;
186
196
  playwrightOptions?: PlaywrightOptions;
187
197
  quietExitCode?: boolean;
188
198
  throttling?: MonitorConfig['throttling'];
@@ -219,6 +229,12 @@ export type RunOptions = BaseArgs & {
219
229
  reporter?: BuiltInReporterName | ReporterInstance;
220
230
  grepOpts?: GrepOptions;
221
231
  };
232
+ export type APIRunOptions = BaseArgs & {
233
+ network?: boolean;
234
+ environment?: string;
235
+ reporter?: BuiltInReporterName | ReporterInstance;
236
+ grepOpts?: GrepOptions;
237
+ };
222
238
  export type PushOptions = Partial<ProjectSettings> & Partial<BaseArgs> & {
223
239
  auth: string;
224
240
  kibanaVersion?: string;
@@ -247,6 +263,12 @@ export type SyntheticsConfig = {
247
263
  monitor?: MonitorConfig;
248
264
  project?: ProjectSettings;
249
265
  proxy?: ProxySettings;
266
+ certificateErrorSpkiAllowlist?: CertificateErrorSpkiAllowlist;
267
+ };
268
+ /** Runner Payload types */
269
+ export type APIJourneyResult = Partial<Journey> & {
270
+ networkinfo?: PluginOutput['networkinfo'];
271
+ stepsresults?: Array<StepResult>;
250
272
  };
251
273
  /** Runner Payload types */
252
274
  export type JourneyResult = Partial<Journey> & {
@@ -279,6 +301,9 @@ export type JourneyEndResult = JourneyStartResult & JourneyResult & {
279
301
  browserDelay: number;
280
302
  options: RunOptions;
281
303
  };
304
+ export type APIJourneyEndResult = JourneyStartResult & APIJourneyResult & {
305
+ options: RunOptions;
306
+ };
282
307
  export type StepEndResult = StepResult;
283
308
  export type ProxySettings = {
284
309
  uri?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"common_types.d.ts","sourceRoot":"","sources":["../src/common_types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common_types.d.ts","sourceRoot":"","sources":["../src/common_types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2020-present, Elastic NV
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ */
25
+ import { CertificateErrorSpkiAllowlist } from '../common_types';
26
+ /**
27
+ * Normalize user-provided PEM certificates (string, Buffer, or an array of
28
+ * either) into a flat list of PEM strings. Each entry may itself be a bundle
29
+ * that contains more than one certificate.
30
+ */
31
+ export declare function normalizeCertificateErrorSpkiAllowlist(certificates?: CertificateErrorSpkiAllowlist): string[];
32
+ /**
33
+ * Split a PEM bundle into the individual certificates it contains. Node's
34
+ * `X509Certificate` only parses the first certificate of a bundle, so we have
35
+ * to slice them apart ourselves to support full chains / multiple CAs.
36
+ */
37
+ export declare function splitPemCertificates(pem: string): string[];
38
+ /**
39
+ * Compute the base64 encoded SHA-256 fingerprint of a certificate's
40
+ * SubjectPublicKeyInfo (SPKI). This is the exact value Chromium expects in the
41
+ * `--ignore-certificate-errors-spki-list` switch.
42
+ */
43
+ export declare function getSpkiFingerprint(pem: string): string;
44
+ /**
45
+ * Build the list of SPKI fingerprints for all supplied certificates. Chromium
46
+ * uses this list to bypass certificate errors for matching presented
47
+ * certificates; it does not establish CA trust. Invalid certificates are
48
+ * skipped, with a warning, so a single bad entry never aborts the whole run
49
+ * but also never fails silently - a `certificateErrorSpkiAllowlist` entry that
50
+ * doesn't resolve to a real file and isn't valid PEM (e.g. a typo'd path)
51
+ * would otherwise never be allowlisted, and matching endpoints would keep
52
+ * failing certificate validation with no indication why.
53
+ */
54
+ export declare function getSpkiFingerprints(certificates?: CertificateErrorSpkiAllowlist): string[];
55
+ //# sourceMappingURL=certs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certs.d.ts","sourceRoot":"","sources":["../../src/core/certs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAMhE;;;;GAIG;AACH,wBAAgB,sCAAsC,CACpD,YAAY,CAAC,EAAE,6BAA6B,GAC3C,MAAM,EAAE,CAQV;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMtD;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,CAAC,EAAE,6BAA6B,GAC3C,MAAM,EAAE,CAsBV"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * MIT License
4
+ *
5
+ * Copyright (c) 2020-present, Elastic NV
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ *
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.getSpkiFingerprints = exports.getSpkiFingerprint = exports.splitPemCertificates = exports.normalizeCertificateErrorSpkiAllowlist = void 0;
28
+ const crypto_1 = require("crypto");
29
+ const helpers_1 = require("../helpers");
30
+ const PEM_CERTIFICATE_RE = /-----BEGIN CERTIFICATE-----[\s\S]+?-----END CERTIFICATE-----/g;
31
+ /**
32
+ * Normalize user-provided PEM certificates (string, Buffer, or an array of
33
+ * either) into a flat list of PEM strings. Each entry may itself be a bundle
34
+ * that contains more than one certificate.
35
+ */
36
+ function normalizeCertificateErrorSpkiAllowlist(certificates) {
37
+ if (certificates == null) {
38
+ return [];
39
+ }
40
+ const entries = Array.isArray(certificates) ? certificates : [certificates];
41
+ return entries
42
+ .map(entry => (Buffer.isBuffer(entry) ? entry.toString('utf-8') : entry))
43
+ .filter((entry) => Boolean(entry && entry.trim()));
44
+ }
45
+ exports.normalizeCertificateErrorSpkiAllowlist = normalizeCertificateErrorSpkiAllowlist;
46
+ /**
47
+ * Split a PEM bundle into the individual certificates it contains. Node's
48
+ * `X509Certificate` only parses the first certificate of a bundle, so we have
49
+ * to slice them apart ourselves to support full chains / multiple CAs.
50
+ */
51
+ function splitPemCertificates(pem) {
52
+ return pem.match(PEM_CERTIFICATE_RE) ?? [];
53
+ }
54
+ exports.splitPemCertificates = splitPemCertificates;
55
+ /**
56
+ * Compute the base64 encoded SHA-256 fingerprint of a certificate's
57
+ * SubjectPublicKeyInfo (SPKI). This is the exact value Chromium expects in the
58
+ * `--ignore-certificate-errors-spki-list` switch.
59
+ */
60
+ function getSpkiFingerprint(pem) {
61
+ const der = new crypto_1.X509Certificate(pem).publicKey.export({
62
+ type: 'spki',
63
+ format: 'der',
64
+ });
65
+ return (0, crypto_1.createHash)('sha256').update(der).digest('base64');
66
+ }
67
+ exports.getSpkiFingerprint = getSpkiFingerprint;
68
+ /**
69
+ * Describe an entry that failed to parse as a certificate for use in a
70
+ * warning message. A raw file path (e.g. from a typo'd
71
+ * `certificateErrorSpkiAllowlist` entry that didn't match an existing file) is
72
+ * shown as-is since that's the actionable detail; inline PEM content is not,
73
+ * to avoid dumping key material to the console.
74
+ */
75
+ function describeInvalidCertificateEntry(candidate) {
76
+ if (candidate.includes('-----BEGIN CERTIFICATE-----')) {
77
+ return 'an inline PEM certificate';
78
+ }
79
+ const preview = candidate.length > 80 ? `${candidate.slice(0, 80)}...` : candidate;
80
+ return `"${preview}"`;
81
+ }
82
+ /**
83
+ * Build the list of SPKI fingerprints for all supplied certificates. Chromium
84
+ * uses this list to bypass certificate errors for matching presented
85
+ * certificates; it does not establish CA trust. Invalid certificates are
86
+ * skipped, with a warning, so a single bad entry never aborts the whole run
87
+ * but also never fails silently - a `certificateErrorSpkiAllowlist` entry that
88
+ * doesn't resolve to a real file and isn't valid PEM (e.g. a typo'd path)
89
+ * would otherwise never be allowlisted, and matching endpoints would keep
90
+ * failing certificate validation with no indication why.
91
+ */
92
+ function getSpkiFingerprints(certificates) {
93
+ const fingerprints = new Set();
94
+ for (const entry of normalizeCertificateErrorSpkiAllowlist(certificates)) {
95
+ const pemCertificates = splitPemCertificates(entry);
96
+ // Fall back to treating the whole entry as a single certificate when no
97
+ // PEM boundary markers are present.
98
+ const candidates = pemCertificates.length > 0 ? pemCertificates : [entry];
99
+ for (const certificate of candidates) {
100
+ try {
101
+ fingerprints.add(getSpkiFingerprint(certificate));
102
+ }
103
+ catch (e) {
104
+ (0, helpers_1.warn)(`certificateErrorSpkiAllowlist: could not parse ${describeInvalidCertificateEntry(certificate)} as a certificate - it will not be allowlisted and matching endpoints may still fail certificate validation (${e.message})`);
105
+ }
106
+ }
107
+ }
108
+ return [...fingerprints];
109
+ }
110
+ exports.getSpkiFingerprints = getSpkiFingerprints;
111
+ //# sourceMappingURL=certs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certs.js","sourceRoot":"","sources":["../../src/core/certs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,mCAAqD;AAErD,wCAAkC;AAElC,MAAM,kBAAkB,GACtB,+DAA+D,CAAC;AAElE;;;;GAIG;AACH,SAAgB,sCAAsC,CACpD,YAA4C;IAE5C,IAAI,YAAY,IAAI,IAAI,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5E,OAAO,OAAO;SACX,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACxE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAVD,wFAUC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAFD,oDAEC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,MAAM,GAAG,GAAG,IAAI,wBAAe,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QACpD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAND,gDAMC;AAED;;;;;;GAMG;AACH,SAAS,+BAA+B,CAAC,SAAiB;IACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;QACrD,OAAO,2BAA2B,CAAC;KACpC;IACD,MAAM,OAAO,GACX,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,OAAO,IAAI,OAAO,GAAG,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB,CACjC,YAA4C;IAE5C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,sCAAsC,CAAC,YAAY,CAAC,EAAE;QACxE,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpD,wEAAwE;QACxE,oCAAoC;QACpC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE;YACpC,IAAI;gBACF,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;aACnD;YAAC,OAAO,CAAC,EAAE;gBACV,IAAA,cAAI,EACF,kDAAkD,+BAA+B,CAC/E,WAAW,CACZ,gHACC,CAAC,CAAC,OACJ,GAAG,CACJ,CAAC;aACH;SACF;KACF;IACD,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;AAC3B,CAAC;AAxBD,kDAwBC"}
@@ -24,7 +24,7 @@
24
24
  */
25
25
  import { ChromiumBrowser, BrowserContext } from 'playwright-core';
26
26
  import { PluginManager } from '../plugins';
27
- import { Driver, NetworkConditions, RunOptions } from '../common_types';
27
+ import { APIDriver, Driver, NetworkConditions, RunOptions } from '../common_types';
28
28
  /**
29
29
  * Purpose of the Gatherer is to set up the necessary browser driver
30
30
  * related capabilities for the runner to run all journeys
@@ -33,16 +33,16 @@ export declare class Gatherer {
33
33
  static browser: ChromiumBrowser;
34
34
  static pluginManager: PluginManager;
35
35
  static launchBrowser(options: RunOptions): Promise<void>;
36
- static setupDriver(options: RunOptions): Promise<Driver>;
36
+ static setupDriver<T extends 'browser' | 'api' = 'browser'>(options: RunOptions, journeyType?: T): Promise<T extends 'api' ? APIDriver : Driver>;
37
37
  static getUserAgent(userAgent?: string): Promise<string>;
38
38
  static setNetworkConditions(context: BrowserContext, networkConditions: NetworkConditions): void;
39
39
  /**
40
40
  * Starts recording all events related to the v8 devtools protocol
41
41
  * https://chromedevtools.github.io/devtools-protocol/v8/
42
42
  */
43
- static beginRecording(driver: Driver, options: RunOptions): Promise<PluginManager>;
43
+ static beginRecording(driver: Driver | APIDriver, options: RunOptions): Promise<PluginManager>;
44
44
  static endRecording(): Promise<void>;
45
- static dispose(driver: Driver): Promise<void>;
45
+ static dispose(driver: Driver | APIDriver): Promise<void>;
46
46
  static stop(): Promise<void>;
47
47
  }
48
48
  //# sourceMappingURL=gatherer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEL,eAAe,EACf,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKxE;;;GAGG;AACH,qBAAa,QAAQ;IACnB,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;IAChC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;WAEvB,aAAa,CAAC,OAAO,EAAE,UAAU;WA0BjC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;WA4BjD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM;IAS5C,MAAM,CAAC,oBAAoB,CACzB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,iBAAiB;IAsBtC;;;OAGG;WACU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;WAYlD,YAAY;WAKZ,OAAO,CAAC,MAAM,EAAE,MAAM;WAMtB,IAAI;CAOlB"}
1
+ {"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAEL,eAAe,EACf,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EACL,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAKzB;;;GAGG;AACH,qBAAa,QAAQ;IACnB,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;IAChC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;WAEvB,aAAa,CAAC,OAAO,EAAE,UAAU;WA+CjC,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,SAAS,EAC9D,OAAO,EAAE,UAAU,EACnB,WAAW,GAAE,CAAkB,GAC9B,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;WAyCnC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM;IAS5C,MAAM,CAAC,oBAAoB,CACzB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,iBAAiB;IAsBtC;;;OAGG;WACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU;WAoB9D,YAAY;WAKZ,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;WAQlC,IAAI;CAOlB"}
@@ -28,6 +28,7 @@ exports.Gatherer = void 0;
28
28
  const playwright_core_1 = require("playwright-core");
29
29
  const plugins_1 = require("../plugins");
30
30
  const logger_1 = require("./logger");
31
+ const certs_1 = require("./certs");
31
32
  // Default timeout for Playwright actions and Navigations
32
33
  const DEFAULT_TIMEOUT = 50000;
33
34
  /**
@@ -48,10 +49,25 @@ class Gatherer {
48
49
  Gatherer.browser = await playwright_core_1.chromium.connect(wsEndpoint);
49
50
  }
50
51
  else {
52
+ /**
53
+ * Chromium on Linux has its own NSS trust store. This flag does not add
54
+ * a CA to that store: it bypasses certificate errors only when a
55
+ * presented certificate's SPKI matches one of the supplied fingerprints.
56
+ * It is narrower than `ignoreHTTPSErrors`, but is not CA trust.
57
+ */
58
+ const spkiFingerprints = (0, certs_1.getSpkiFingerprints)(options.certificateErrorSpkiAllowlist);
59
+ if (spkiFingerprints.length > 0) {
60
+ (0, logger_1.log)(`Gatherer: bypassing certificate errors for ${spkiFingerprints.length} allowlisted SPKI fingerprint(s)`);
61
+ }
51
62
  Gatherer.browser = await playwright_core_1.chromium.launch({
52
63
  ...playwrightOptions,
53
64
  args: [
54
65
  ...(playwrightOptions?.headless ? ['--disable-gpu'] : []),
66
+ ...(spkiFingerprints.length > 0
67
+ ? [
68
+ `--ignore-certificate-errors-spki-list=${spkiFingerprints.join(',')}`,
69
+ ]
70
+ : []),
55
71
  ...(playwrightOptions?.args ?? []),
56
72
  ],
57
73
  });
@@ -62,9 +78,13 @@ class Gatherer {
62
78
  process.exit(130);
63
79
  });
64
80
  }
65
- static async setupDriver(options) {
66
- await Gatherer.launchBrowser(options);
81
+ static async setupDriver(options, journeyType = 'browser') {
67
82
  const { playwrightOptions } = options;
83
+ if (journeyType === 'api') {
84
+ const request = await playwright_core_1.request.newContext({ ...playwrightOptions });
85
+ return { request };
86
+ }
87
+ await Gatherer.launchBrowser(options);
68
88
  const context = await Gatherer.browser.newContext({
69
89
  ...playwrightOptions,
70
90
  userAgent: await Gatherer.getUserAgent(playwrightOptions?.userAgent),
@@ -81,7 +101,13 @@ class Gatherer {
81
101
  const page = await context.newPage();
82
102
  const client = await context.newCDPSession(page);
83
103
  const request = await playwright_core_1.request.newContext({ ...playwrightOptions });
84
- return { browser: Gatherer.browser, context, page, client, request };
104
+ return {
105
+ browser: Gatherer.browser,
106
+ context,
107
+ page,
108
+ client,
109
+ request,
110
+ };
85
111
  }
86
112
  static async getUserAgent(userAgent) {
87
113
  if (!userAgent) {
@@ -118,9 +144,18 @@ class Gatherer {
118
144
  const { network, metrics } = options;
119
145
  Gatherer.pluginManager = new plugins_1.PluginManager(driver);
120
146
  Gatherer.pluginManager.registerAll(options);
121
- const plugins = [await Gatherer.pluginManager.start('browserconsole')];
122
- network && plugins.push(await Gatherer.pluginManager.start('network'));
123
- metrics && plugins.push(await Gatherer.pluginManager.start('performance'));
147
+ const plugins = [];
148
+ if ('browser' in driver) {
149
+ plugins.push(await Gatherer.pluginManager.start('browserconsole'));
150
+ network && plugins.push(await Gatherer.pluginManager.start('network'));
151
+ metrics &&
152
+ plugins.push(await Gatherer.pluginManager.start('performance'));
153
+ }
154
+ else {
155
+ // Network is the only data source for API journeys, so always capture
156
+ // it regardless of `options.network`.
157
+ plugins.push(await Gatherer.pluginManager.start('network'));
158
+ }
124
159
  await Promise.all(plugins);
125
160
  return Gatherer.pluginManager;
126
161
  }
@@ -131,7 +166,9 @@ class Gatherer {
131
166
  static async dispose(driver) {
132
167
  (0, logger_1.log)(`Gatherer: closing all contexts`);
133
168
  await driver.request.dispose();
134
- await driver.context.close();
169
+ if ('context' in driver) {
170
+ await driver.context.close();
171
+ }
135
172
  }
136
173
  static async stop() {
137
174
  (0, logger_1.log)(`Gatherer: closing browser`);
@@ -1 +1 @@
1
- {"version":3,"file":"gatherer.js","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatherer.js","sourceRoot":"","sources":["../../src/core/gatherer.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.inDebugMode = exports.runner = void 0;
31
31
  const runner_1 = __importDefault(require("./runner"));
32
32
  /**
33
- * Use a gloabl Runner which would be accessed by the runtime and
33
+ * Use a global Runner which would be accessed by the runtime and
34
34
  * required to handle the local vs global invocation through CLI
35
35
  */
36
36
  const SYNTHETICS_RUNNER = Symbol.for('SYNTHETICS_RUNNER');
@@ -22,10 +22,11 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { JourneyWithAnnotations, StepWithAnnotations } from '../dsl';
25
+ import { APIJourneyWithAnnotations, JourneyWithAnnotations, StepWithAnnotations } from '../dsl';
26
26
  import { HooksCallback } from '../common_types';
27
27
  import { MonitorConfig } from '../dsl/monitor';
28
28
  export declare const journey: JourneyWithAnnotations;
29
+ export declare const apiJourney: APIJourneyWithAnnotations;
29
30
  export declare const step: StepWithAnnotations;
30
31
  export declare const monitor: {
31
32
  use: (config: MonitorConfig) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAIL,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAgB,aAAa,EAAY,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,eAAO,MAAM,OAAO,wBAA4C,CAAC;AAgBjE,eAAO,MAAM,IAAI,qBAAsC,CAAC;AAKxD,eAAO,MAAM,OAAO;;CAYnB,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,aAAa,SAEhD,CAAC;AAEF,eAAO,MAAM,QAAQ,aAAc,aAAa,SAE/C,CAAC;AAEF,eAAO,MAAM,MAAM,aAAc,aAAa,SAK7C,CAAC;AAEF,eAAO,MAAM,KAAK,aAAc,aAAa,SAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,4BAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAIL,yBAAyB,EAIzB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAgB,aAAa,EAAY,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAsB/C,eAAO,MAAM,OAAO,wBAA4C,CAAC;AAwBjE,eAAO,MAAM,UAAU,2BAAkD,CAAC;AAgB1E,eAAO,MAAM,IAAI,qBAAsC,CAAC;AAKxD,eAAO,MAAM,OAAO;;CAYnB,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,aAAa,SAEhD,CAAC;AAEF,eAAO,MAAM,QAAQ,aAAc,aAAa,SAE/C,CAAC;AAEF,eAAO,MAAM,MAAM,aAAc,aAAa,SAK7C,CAAC;AAEF,eAAO,MAAM,KAAK,aAAc,aAAa,SAK5C,CAAC;AAEF,eAAO,MAAM,MAAM,4BAAe,CAAC"}
@@ -24,7 +24,7 @@
24
24
  *
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.runner = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.journey = void 0;
27
+ exports.runner = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.apiJourney = exports.journey = void 0;
28
28
  const dsl_1 = require("../dsl");
29
29
  const globals_1 = require("./globals");
30
30
  const helpers_1 = require("../helpers");
@@ -44,6 +44,21 @@ const createJourney = (type) => (0, helpers_1.wrapFnWithLocation)((location, opt
44
44
  exports.journey = createJourney();
45
45
  exports.journey.skip = createJourney('skip');
46
46
  exports.journey.only = createJourney('only');
47
+ const createAPIJourney = (type) => (0, helpers_1.wrapFnWithLocation)((location, options, callback) => {
48
+ (0, logger_1.log)(`API Journey register: ${JSON.stringify(options)}`);
49
+ if (typeof options === 'string') {
50
+ options = { name: options, id: options };
51
+ }
52
+ const j = new dsl_1.APIJourney(options, callback, location);
53
+ if (type) {
54
+ j[type] = true;
55
+ }
56
+ exports.runner._addJourney(j);
57
+ return j;
58
+ });
59
+ exports.apiJourney = createAPIJourney();
60
+ exports.apiJourney.skip = createAPIJourney('skip');
61
+ exports.apiJourney.only = createAPIJourney('only');
47
62
  const createStep = (type) => (0, helpers_1.wrapFnWithLocation)((location, name, callback) => {
48
63
  (0, logger_1.log)(`Step register: ${name}`);
49
64
  const step = exports.runner.currentJourney?._addStep(name, callback, location);