@temporalio/testing 1.7.4 → 1.8.1
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/lib/index.d.ts +4 -4
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/utils.js +4 -0
- package/lib/utils.js.map +1 -1
- package/package.json +10 -11
- package/src/index.ts +7 -8
- package/src/utils.ts +4 -0
package/lib/index.d.ts
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
import 'abort-controller/polyfill';
|
|
12
12
|
import events from 'node:events';
|
|
13
13
|
import * as activity from '@temporalio/activity';
|
|
14
|
-
import { AsyncCompletionClient, Client, ClientOptions,
|
|
15
|
-
import { ActivityFunction } from '@temporalio/common';
|
|
14
|
+
import { AsyncCompletionClient, Client, ClientOptions, WorkflowClient, WorkflowClientOptions, WorkflowResultOptions } from '@temporalio/client';
|
|
15
|
+
import { ActivityFunction, Duration } from '@temporalio/common';
|
|
16
16
|
import { NativeConnection } from '@temporalio/worker';
|
|
17
17
|
import { EphemeralServer, EphemeralServerConfig, DevServerConfig, TimeSkippingServerConfig } from '@temporalio/core-bridge';
|
|
18
18
|
import { Connection, TestService } from './connection';
|
|
@@ -92,7 +92,7 @@ export declare class TestWorkflowEnvironment {
|
|
|
92
92
|
/**
|
|
93
93
|
* Get an established {@link Connection} to the ephemeral server
|
|
94
94
|
*/
|
|
95
|
-
readonly connection:
|
|
95
|
+
readonly connection: Connection;
|
|
96
96
|
/**
|
|
97
97
|
* A {@link TestEnvClient} for interacting with the ephemeral server
|
|
98
98
|
*/
|
|
@@ -205,7 +205,7 @@ export declare class TestWorkflowEnvironment {
|
|
|
205
205
|
* });
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
|
-
sleep: (durationMs:
|
|
208
|
+
sleep: (durationMs: Duration) => Promise<void>;
|
|
209
209
|
/**
|
|
210
210
|
* Get the current time known to this environment.
|
|
211
211
|
*
|
package/lib/index.js
CHANGED
|
@@ -39,7 +39,6 @@ exports.MockActivityEnvironment = exports.defaultActivityInfo = exports.TestWork
|
|
|
39
39
|
require("abort-controller/polyfill"); // eslint-disable-line import/no-unassigned-import
|
|
40
40
|
const node_path_1 = __importDefault(require("node:path"));
|
|
41
41
|
const node_events_1 = __importDefault(require("node:events"));
|
|
42
|
-
const ms_1 = __importDefault(require("ms"));
|
|
43
42
|
const activity = __importStar(require("@temporalio/activity"));
|
|
44
43
|
const client_1 = require("@temporalio/client");
|
|
45
44
|
const common_1 = require("@temporalio/common");
|
|
@@ -170,7 +169,7 @@ class TestWorkflowEnvironment {
|
|
|
170
169
|
await this.connection.testService.unlockTimeSkippingWithSleep({ duration: (0, time_1.msToTs)(durationMs) });
|
|
171
170
|
}
|
|
172
171
|
else {
|
|
173
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
172
|
+
await new Promise((resolve) => setTimeout(resolve, (0, time_1.msToNumber)(durationMs)));
|
|
174
173
|
}
|
|
175
174
|
};
|
|
176
175
|
this.connection = connection;
|
|
@@ -313,7 +312,7 @@ class MockActivityEnvironment extends node_events_1.default.EventEmitter {
|
|
|
313
312
|
};
|
|
314
313
|
});
|
|
315
314
|
const heartbeatCallback = (details) => this.emit('heartbeat', details);
|
|
316
|
-
this.context = new activity.Context({ ...exports.defaultActivityInfo, ...info }, promise, abortController.signal, heartbeatCallback);
|
|
315
|
+
this.context = new activity.Context({ ...exports.defaultActivityInfo, ...info }, promise, abortController.signal, heartbeatCallback, worker_1.Runtime.instance().logger);
|
|
317
316
|
promise.catch(() => {
|
|
318
317
|
/* avoid unhandled rejection */
|
|
319
318
|
});
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAmC,CAAC,kDAAkD;AACtF,0DAA6B;AAC7B,8DAAiC;AACjC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createNamespace = exports.waitOnNamespace = void 0;
|
|
4
4
|
const time_1 = require("@temporalio/common/lib/time");
|
|
5
|
+
// Starting with 1.20, we should no longer need to wait on namespace
|
|
6
|
+
// TODO: Remove all of this once we are confident that this is no longer required
|
|
5
7
|
async function waitOnNamespace(connection, namespace, maxAttempts = 100, retryIntervalSecs = 1) {
|
|
6
8
|
const runId = '12345678-dead-beef-1234-1234567890ab';
|
|
7
9
|
for (let attempt = 1; attempt <= maxAttempts; ++attempt) {
|
|
@@ -14,6 +16,8 @@ async function waitOnNamespace(connection, namespace, maxAttempts = 100, retryIn
|
|
|
14
16
|
catch (err) {
|
|
15
17
|
if (err.details.includes('workflow history not found') ||
|
|
16
18
|
err.details.includes('Workflow executionsRow not found') ||
|
|
19
|
+
err.details.includes('operation GetCurrentExecution') ||
|
|
20
|
+
err.details.includes('operation GetWorkflowExecution encountered not found') ||
|
|
17
21
|
err.details.includes(runId)) {
|
|
18
22
|
break;
|
|
19
23
|
}
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AACA,sDAAqD;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AACA,sDAAqD;AAErD,oEAAoE;AACpE,iFAAiF;AAC1E,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,SAAiB,EACjB,WAAW,GAAG,GAAG,EACjB,iBAAiB,GAAG,CAAC;IAErB,MAAM,KAAK,GAAG,sCAAsC,CAAC;IACrD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,EAAE,OAAO,EAAE;QACvD,IAAI;YACF,MAAM,UAAU,CAAC,eAAe,CAAC,2BAA2B,CAAC;gBAC3D,SAAS;gBACT,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;aACzC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;YACjB,IACE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBAClD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBACrD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,sDAAsD,CAAC;gBAC5E,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC3B;gBACA,MAAM;aACP;YACD,IAAI,OAAO,KAAK,WAAW,EAAE;gBAC3B,MAAM,GAAG,CAAC;aACX;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;SAC/E;KACF;AACH,CAAC;AA7BD,0CA6BC;AAEM,KAAK,UAAU,eAAe,CACnC,UAAsB,EACtB,SAAiB,EACjB,WAAW,GAAG,GAAG,EACjB,iBAAiB,GAAG,CAAC;IAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,EAAE,OAAO,EAAE;QACvD,IAAI;YACF,MAAM,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC;gBACjD,SAAS;gBACT,gCAAgC,EAAE,IAAA,aAAM,EAAC,OAAO,CAAC;aAClD,CAAC,CAAC;YACH,MAAM;SACP;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,OAAO,KAAK,2BAA2B,EAAE;gBAC/C,MAAM;aACP;YACD,IAAI,OAAO,KAAK,WAAW,EAAE;gBAC3B,MAAM,GAAG,CAAC;aACX;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;SAC/E;KACF;AACH,CAAC;AAvBD,0CAuBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/testing",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Temporal.io SDK Testing sub-package",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -13,15 +13,14 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@grpc/grpc-js": "~1.7.3",
|
|
16
|
-
"@temporalio/activity": "1.
|
|
17
|
-
"@temporalio/client": "1.
|
|
18
|
-
"@temporalio/common": "1.
|
|
19
|
-
"@temporalio/core-bridge": "1.
|
|
20
|
-
"@temporalio/proto": "1.
|
|
21
|
-
"@temporalio/worker": "1.
|
|
22
|
-
"@temporalio/workflow": "1.
|
|
23
|
-
"abort-controller": "^3.0.0"
|
|
24
|
-
"ms": "^2.1.3"
|
|
16
|
+
"@temporalio/activity": "1.8.1",
|
|
17
|
+
"@temporalio/client": "1.8.1",
|
|
18
|
+
"@temporalio/common": "1.8.1",
|
|
19
|
+
"@temporalio/core-bridge": "1.8.1",
|
|
20
|
+
"@temporalio/proto": "1.8.1",
|
|
21
|
+
"@temporalio/worker": "1.8.1",
|
|
22
|
+
"@temporalio/workflow": "1.8.1",
|
|
23
|
+
"abort-controller": "^3.0.0"
|
|
25
24
|
},
|
|
26
25
|
"bugs": {
|
|
27
26
|
"url": "https://github.com/temporalio/sdk-typescript/issues"
|
|
@@ -39,5 +38,5 @@
|
|
|
39
38
|
"publishConfig": {
|
|
40
39
|
"access": "public"
|
|
41
40
|
},
|
|
42
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "97808111bbec478260e915726bb9730a489f8fa4"
|
|
43
42
|
}
|
package/src/index.ts
CHANGED
|
@@ -11,19 +11,17 @@
|
|
|
11
11
|
import 'abort-controller/polyfill'; // eslint-disable-line import/no-unassigned-import
|
|
12
12
|
import path from 'node:path';
|
|
13
13
|
import events from 'node:events';
|
|
14
|
-
import ms from 'ms';
|
|
15
14
|
import * as activity from '@temporalio/activity';
|
|
16
15
|
import {
|
|
17
16
|
AsyncCompletionClient,
|
|
18
17
|
Client,
|
|
19
18
|
ClientOptions,
|
|
20
|
-
ConnectionLike,
|
|
21
19
|
WorkflowClient,
|
|
22
20
|
WorkflowClientOptions,
|
|
23
21
|
WorkflowResultOptions,
|
|
24
22
|
} from '@temporalio/client';
|
|
25
|
-
import { ActivityFunction, CancelledFailure } from '@temporalio/common';
|
|
26
|
-
import { msToTs, tsToMs } from '@temporalio/common/lib/time';
|
|
23
|
+
import { ActivityFunction, CancelledFailure, Duration } from '@temporalio/common';
|
|
24
|
+
import { msToNumber, msToTs, tsToMs } from '@temporalio/common/lib/time';
|
|
27
25
|
import { NativeConnection, Runtime } from '@temporalio/worker';
|
|
28
26
|
import {
|
|
29
27
|
EphemeralServer,
|
|
@@ -165,7 +163,7 @@ export class TestWorkflowEnvironment {
|
|
|
165
163
|
/**
|
|
166
164
|
* Get an established {@link Connection} to the ephemeral server
|
|
167
165
|
*/
|
|
168
|
-
public readonly connection:
|
|
166
|
+
public readonly connection: Connection;
|
|
169
167
|
|
|
170
168
|
/**
|
|
171
169
|
* A {@link TestEnvClient} for interacting with the ephemeral server
|
|
@@ -342,11 +340,11 @@ export class TestWorkflowEnvironment {
|
|
|
342
340
|
* });
|
|
343
341
|
* ```
|
|
344
342
|
*/
|
|
345
|
-
sleep = async (durationMs:
|
|
343
|
+
sleep = async (durationMs: Duration): Promise<void> => {
|
|
346
344
|
if (this.supportsTimeSkipping) {
|
|
347
345
|
await (this.connection as Connection).testService.unlockTimeSkippingWithSleep({ duration: msToTs(durationMs) });
|
|
348
346
|
} else {
|
|
349
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
347
|
+
await new Promise((resolve) => setTimeout(resolve, msToNumber(durationMs)));
|
|
350
348
|
}
|
|
351
349
|
};
|
|
352
350
|
|
|
@@ -411,7 +409,8 @@ export class MockActivityEnvironment extends events.EventEmitter {
|
|
|
411
409
|
{ ...defaultActivityInfo, ...info },
|
|
412
410
|
promise,
|
|
413
411
|
abortController.signal,
|
|
414
|
-
heartbeatCallback
|
|
412
|
+
heartbeatCallback,
|
|
413
|
+
Runtime.instance().logger
|
|
415
414
|
);
|
|
416
415
|
promise.catch(() => {
|
|
417
416
|
/* avoid unhandled rejection */
|
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Connection } from '@temporalio/client';
|
|
2
2
|
import { msToTs } from '@temporalio/common/lib/time';
|
|
3
3
|
|
|
4
|
+
// Starting with 1.20, we should no longer need to wait on namespace
|
|
5
|
+
// TODO: Remove all of this once we are confident that this is no longer required
|
|
4
6
|
export async function waitOnNamespace(
|
|
5
7
|
connection: Connection,
|
|
6
8
|
namespace: string,
|
|
@@ -18,6 +20,8 @@ export async function waitOnNamespace(
|
|
|
18
20
|
if (
|
|
19
21
|
err.details.includes('workflow history not found') ||
|
|
20
22
|
err.details.includes('Workflow executionsRow not found') ||
|
|
23
|
+
err.details.includes('operation GetCurrentExecution') ||
|
|
24
|
+
err.details.includes('operation GetWorkflowExecution encountered not found') ||
|
|
21
25
|
err.details.includes(runId)
|
|
22
26
|
) {
|
|
23
27
|
break;
|