@alwaysmeticulous/remote-replay-launcher 2.150.0 → 2.152.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.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { ExecuteRemoteTestRunOptions, ExecuteRemoteTestRunResult } from "./types";
2
2
  export { TunnelData } from "./types";
3
- export declare const executeRemoteTestRun: ({ apiToken: apiToken_, appUrl, commitSha, secureTunnelHost, onTunnelCreated, onTestRunCreated, onProgressUpdate, keepTunnelOpenPromise, environment, }: ExecuteRemoteTestRunOptions) => Promise<ExecuteRemoteTestRunResult>;
3
+ export declare const executeRemoteTestRun: ({ apiToken: apiToken_, appUrl, commitSha, secureTunnelHost, onTunnelCreated, onTestRunCreated, onProgressUpdate, onTunnelStillLocked, keepTunnelOpenPromise, environment, isLockable, }: ExecuteRemoteTestRunOptions) => Promise<ExecuteRemoteTestRunResult>;
package/dist/index.js CHANGED
@@ -9,9 +9,10 @@ const common_1 = require("@alwaysmeticulous/common");
9
9
  const tunnels_client_1 = require("@alwaysmeticulous/tunnels-client");
10
10
  const loglevel_1 = __importDefault(require("loglevel"));
11
11
  const url_utils_1 = require("./url.utils");
12
+ const POLL_LOCK_INTERVAL_MS = 5000; // 5 seconds
12
13
  const PROGRESS_UPDATE_INTERVAL_MS = 5000; // 5 seconds
13
14
  const MS_TO_WAIT_FOR_RETRY = 5 * 60 * 1000; // 5 minutes
14
- const executeRemoteTestRun = async ({ apiToken: apiToken_, appUrl, commitSha, secureTunnelHost, onTunnelCreated, onTestRunCreated, onProgressUpdate, keepTunnelOpenPromise, environment, }) => {
15
+ const executeRemoteTestRun = async ({ apiToken: apiToken_, appUrl, commitSha, secureTunnelHost, onTunnelCreated, onTestRunCreated, onProgressUpdate, onTunnelStillLocked, keepTunnelOpenPromise, environment, isLockable, }) => {
15
16
  const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
16
17
  const apiToken = (0, client_1.getApiToken)(apiToken_);
17
18
  if (!apiToken) {
@@ -48,17 +49,19 @@ const executeRemoteTestRun = async ({ apiToken: apiToken_, appUrl, commitSha, se
48
49
  basicAuthUser: tunnel.basicAuthUser,
49
50
  basicAuthPassword: tunnel.basicAuthPassword,
50
51
  });
51
- const testRun = await (0, client_1.executeSecureTunnelTestRun)({
52
+ const response = await (0, client_1.executeSecureTunnelTestRun)({
52
53
  client,
53
54
  headSha: commitSha,
54
55
  tunnelUrl: tunnel.url,
55
56
  basicAuthUser: tunnel.basicAuthUser,
56
57
  basicAuthPassword: tunnel.basicAuthPassword,
57
58
  environment,
59
+ isLockable,
58
60
  });
59
- if (!testRun) {
61
+ if (!response.testRun) {
60
62
  throw new Error("Test run was not created");
61
63
  }
64
+ const { testRun, deploymentId } = response;
62
65
  onTestRunCreated === null || onTestRunCreated === void 0 ? void 0 : onTestRunCreated(testRun);
63
66
  const testRunCompleted = (0, common_1.defer)();
64
67
  let progressUpdateInterval = undefined;
@@ -79,16 +82,7 @@ const executeRemoteTestRun = async ({ apiToken: apiToken_, appUrl, commitSha, se
79
82
  if (progressUpdateInterval) {
80
83
  clearInterval(progressUpdateInterval);
81
84
  }
82
- if (keepTunnelOpenPromise) {
83
- void keepTunnelOpenPromise.then(() => {
84
- tunnel.close();
85
- testRunCompleted.resolve(completedTestRun);
86
- });
87
- }
88
- else {
89
- tunnel.close();
90
- testRunCompleted.resolve(completedTestRun);
91
- }
85
+ testRunCompleted.resolve(completedTestRun);
92
86
  };
93
87
  // Poll every few seconds for progress updates and exit when the test run is completed
94
88
  progressUpdateInterval = setInterval(async () => {
@@ -104,6 +98,29 @@ const executeRemoteTestRun = async ({ apiToken: apiToken_, appUrl, commitSha, se
104
98
  }
105
99
  }, PROGRESS_UPDATE_INTERVAL_MS);
106
100
  const completedTestRun = await testRunCompleted.promise;
101
+ const tunnelUnlocked = (0, common_1.defer)();
102
+ let tunnelCheckInterval = undefined;
103
+ const checkUnlocked = async () => {
104
+ const isLocked = await (0, client_1.getIsLocked)({ client, deploymentId });
105
+ if (isLocked) {
106
+ onTunnelStillLocked === null || onTunnelStillLocked === void 0 ? void 0 : onTunnelStillLocked();
107
+ return false;
108
+ }
109
+ tunnelUnlocked.resolve();
110
+ return true;
111
+ };
112
+ const alreadyUnlocked = await checkUnlocked();
113
+ if (!alreadyUnlocked) {
114
+ tunnelCheckInterval = setInterval(checkUnlocked, POLL_LOCK_INTERVAL_MS);
115
+ await tunnelUnlocked.promise;
116
+ }
117
+ if (tunnelCheckInterval) {
118
+ clearInterval(tunnelCheckInterval);
119
+ }
120
+ if (keepTunnelOpenPromise) {
121
+ await keepTunnelOpenPromise;
122
+ }
123
+ tunnel.close();
107
124
  return {
108
125
  testRun: completedTestRun,
109
126
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -12,12 +12,17 @@ export interface ExecuteRemoteTestRunOptions {
12
12
  onTunnelCreated?: (data: TunnelData) => void;
13
13
  onTestRunCreated?: (testRun: TestRun) => void;
14
14
  onProgressUpdate?: (testRun: TestRun) => void;
15
+ /**
16
+ * Called periodically when the test run has completed but the tunnel is still locked.
17
+ */
18
+ onTunnelStillLocked?: () => void;
15
19
  /**
16
20
  * If set, the tunnel will be kept open until this promise is resolved.
17
21
  * `executeRemoteTestRun` will not resolve until this promise is resolved.
18
22
  */
19
23
  keepTunnelOpenPromise?: Promise<void>;
20
24
  environment: string;
25
+ isLockable: boolean;
21
26
  }
22
27
  export interface ExecuteRemoteTestRunResult {
23
28
  testRun: TestRun;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/remote-replay-launcher",
3
- "version": "2.150.0",
3
+ "version": "2.152.0",
4
4
  "description": "Executes a remote replay on Meticulous' infrastructure",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -20,8 +20,8 @@
20
20
  "test": "jest --passWithNoTests"
21
21
  },
22
22
  "dependencies": {
23
- "@alwaysmeticulous/client": "^2.150.0",
24
- "@alwaysmeticulous/common": "^2.150.0",
23
+ "@alwaysmeticulous/client": "^2.152.0",
24
+ "@alwaysmeticulous/common": "^2.152.0",
25
25
  "@alwaysmeticulous/tunnels-client": "^2.143.0",
26
26
  "loglevel": "^1.8.0"
27
27
  },
@@ -45,5 +45,5 @@
45
45
  "jest": {
46
46
  "preset": "../../jest.config.js"
47
47
  },
48
- "gitHead": "b25707a5dbb53a20305c2b46a1bbd2a6df696ddc"
48
+ "gitHead": "95717c6bee4830ff0c977ba642d6253753952481"
49
49
  }