@trackunit/iris-app-e2e 1.9.12 → 1.9.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## 1.9.14 (2026-04-22)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated react-test-setup to 1.8.100
6
+
7
+ ## 1.9.13 (2026-04-21)
8
+
9
+ ### 🚀 Features
10
+
11
+ - **e2e:** add sensitive data redaction in logs ([9985e912c2d](https://github.com/Trackunit/manager/commit/9985e912c2d))
12
+
13
+ ### 🩹 Fixes
14
+
15
+ - **e2e:** improve domain check and add timeout for identity provider requests ([706c788164e](https://github.com/Trackunit/manager/commit/706c788164e))
16
+
17
+ ### 🔥 Performance
18
+
19
+ - **e2e:** land E2E login on user profile instead of map ([f033a57a8ab](https://github.com/Trackunit/manager/commit/f033a57a8ab))
20
+
21
+ ### ❤️ Thank You
22
+
23
+ - Mikkel Thorbjørn Andersen
24
+
1
25
  ## 1.9.12 (2026-04-21)
2
26
 
3
27
  ### 🧱 Updated Dependencies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app-e2e",
3
- "version": "1.9.12",
3
+ "version": "1.9.14",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "generators": "./generators.json",
@@ -45,7 +45,7 @@ function setupDefaultCommands() {
45
45
  }).then(envResponse => {
46
46
  const env = envResponse.body;
47
47
  const domain = env.auth?.url;
48
- if (!(Boolean(domain))) {
48
+ if (!Boolean(domain)) {
49
49
  throw new Error(`No domain found from servers /env found env: ${JSON.stringify(env)}`);
50
50
  }
51
51
  cy.log(`Using: ${domain}`);
@@ -66,11 +66,15 @@ function setupDefaultCommands() {
66
66
  password,
67
67
  options,
68
68
  },
69
+ // Fail fast if the identity provider is unreachable.
70
+ // Without this, cy.request waits for the full responseTimeout (150s),
71
+ // and with 3 retries per test that can balloon a single down-auth run into 90+ minutes.
72
+ timeout: 20000,
69
73
  })
70
74
  .then(response => {
71
75
  if (response.isOkStatusCode) {
72
76
  const sessionToken = response.body.sessionToken;
73
- return cy.visit(`/auth/manager-classic#session_token=${sessionToken}&fleetHome=true`);
77
+ return cy.visit(`/auth/manager-classic#session_token=${sessionToken}&userProfile=true`);
74
78
  }
75
79
  else {
76
80
  throw new Error(`Could not get a session token for user: ${username}, ${JSON.stringify(response)}`);
@@ -4,6 +4,18 @@ exports.setupE2E = setupE2E;
4
4
  const tslib_1 = require("tslib");
5
5
  const installLogsCollector_1 = tslib_1.__importDefault(require("cypress-terminal-report/src/installLogsCollector"));
6
6
  const setupHarRecording_1 = require("./setupHarRecording");
7
+ const SENSITIVE_KEYS = ["password", "sessionToken", "accessToken", "refreshToken", "idToken", "authorization"];
8
+ const NETWORK_TYPES = new Set(["cy:request", "cy:fetch", "cy:xhr", "cy:intercept"]);
9
+ const redactSensitive = (message) => {
10
+ let redacted = message;
11
+ for (const key of SENSITIVE_KEYS) {
12
+ // "password": "anything" (pretty-printed JSON)
13
+ redacted = redacted.replace(new RegExp(`("${key}"\\s*:\\s*)"[^"]*"`, "gi"), `$1"***"`);
14
+ // password=anything (urlencoded bodies / query strings)
15
+ redacted = redacted.replace(new RegExp(`(${key}=)[^&\\s"]+`, "gi"), "$1***");
16
+ }
17
+ return redacted;
18
+ };
7
19
  /**
8
20
  * Sets up the E2E testing environment with HAR recording and terminal logging.
9
21
  */
@@ -14,6 +26,11 @@ function setupE2E() {
14
26
  printHeaderData: true,
15
27
  printRequestData: true,
16
28
  },
29
+ processLog: log => {
30
+ if (!NETWORK_TYPES.has(log.type))
31
+ return log;
32
+ return { ...log, message: redactSensitive(log.message) };
33
+ },
17
34
  });
18
35
  Cypress.on("uncaught:exception", (err) => {
19
36
  // eslint-disable-next-line no-console