@temporalio/testing 1.0.1 → 1.1.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/generated-protos/index.js +3 -0
- package/lib/index.js +2 -6
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
- package/scripts/compile-proto.mjs +14 -0
- package/src/index.ts +1 -7
package/lib/index.js
CHANGED
|
@@ -46,6 +46,7 @@ const abort_controller_1 = require("abort-controller");
|
|
|
46
46
|
const child_process_1 = require("child_process");
|
|
47
47
|
const events_1 = __importDefault(require("events"));
|
|
48
48
|
const child_process_2 = require("./child-process");
|
|
49
|
+
const get_port_1 = __importDefault(require("get-port"));
|
|
49
50
|
const test_service_client_1 = require("./test-service-client");
|
|
50
51
|
const TEST_SERVER_EXECUTABLE_NAME = os_1.default.platform() === 'win32' ? 'test-server.exe' : 'test-server';
|
|
51
52
|
exports.DEFAULT_TEST_SERVER_PATH = path_1.default.join(__dirname, `../${TEST_SERVER_EXECUTABLE_NAME}`);
|
|
@@ -103,9 +104,6 @@ function addDefaults({ testServer, logger, }) {
|
|
|
103
104
|
logger: logger ?? new worker_1.DefaultLogger('INFO'),
|
|
104
105
|
};
|
|
105
106
|
}
|
|
106
|
-
// TS transforms `import` statements into `require`s, this is a workaround until
|
|
107
|
-
// tsconfig module nodenext is stable.
|
|
108
|
-
const _importDynamic = new Function('modulePath', 'return import(modulePath)');
|
|
109
107
|
/**
|
|
110
108
|
* An execution environment for running Workflow integration tests.
|
|
111
109
|
*
|
|
@@ -167,9 +165,7 @@ class TestWorkflowEnvironment {
|
|
|
167
165
|
* Create a new test environment
|
|
168
166
|
*/
|
|
169
167
|
static async create(opts) {
|
|
170
|
-
|
|
171
|
-
const getPort = (await _importDynamic('get-port')).default;
|
|
172
|
-
const port = await getPort();
|
|
168
|
+
const port = await (0, get_port_1.default)();
|
|
173
169
|
const { testServerSpawner, logger } = addDefaults(opts ?? {});
|
|
174
170
|
const child = testServerSpawner(port);
|
|
175
171
|
const address = `127.0.0.1:${port}`;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+DAAiD;AACjD,+CAM4B;AAC5B,+CAA8G;AAC9G,+CAA6E;AAC7E,gDAAwB;AACxB,4CAAoB;AACpB,uDAAmD;AACnD,iDAAkE;AAClE,oDAA4B;AAC5B,mDAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/testing",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Temporal.io SDK Testing sub-package",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@grpc/grpc-js": "^1.6.7",
|
|
21
|
-
"@temporalio/activity": "^1.0
|
|
22
|
-
"@temporalio/client": "^1.0
|
|
23
|
-
"@temporalio/common": "^1.0
|
|
24
|
-
"@temporalio/worker": "^1.0
|
|
21
|
+
"@temporalio/activity": "^1.1.0",
|
|
22
|
+
"@temporalio/client": "^1.1.0",
|
|
23
|
+
"@temporalio/common": "^1.1.0",
|
|
24
|
+
"@temporalio/worker": "^1.1.0",
|
|
25
25
|
"@types/long": "^4.0.2",
|
|
26
26
|
"abort-controller": "^3.0.0",
|
|
27
|
-
"get-port": "^
|
|
27
|
+
"get-port": "^5.0.0",
|
|
28
28
|
"got": "^12.1.0",
|
|
29
29
|
"long": "^5.2.0",
|
|
30
30
|
"protobufjs": "^7.0.0",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "132f23a47a93fecf3f39836b31f08ea837b30320"
|
|
48
48
|
}
|
|
@@ -47,6 +47,20 @@ async function compileProtos(protoPath, jsOutputFile, dtsOutputFile, ...args) {
|
|
|
47
47
|
];
|
|
48
48
|
await promisify(pbjs.main)(pbjsArgs);
|
|
49
49
|
|
|
50
|
+
// Workaround an issue that prevents protobufjs from loading 'long' in Yarn 3 PnP
|
|
51
|
+
// https://github.com/protobufjs/protobuf.js/issues/1745#issuecomment-1200319399
|
|
52
|
+
const pbjsOutput = readFileSync(jsOutputFile, 'utf8');
|
|
53
|
+
writeFileSync(
|
|
54
|
+
jsOutputFile,
|
|
55
|
+
pbjsOutput.replace(
|
|
56
|
+
/(require\("protobufjs\/minimal"\);)$/m,
|
|
57
|
+
`$1
|
|
58
|
+
$protobuf.util.Long = require('long');
|
|
59
|
+
$protobuf.configure();
|
|
60
|
+
`
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
|
|
50
64
|
console.log(`Creating protobuf TS definitions from ${protoPath}`);
|
|
51
65
|
await promisify(pbts.main)(['--out', dtsOutputFile, jsOutputFile]);
|
|
52
66
|
|
package/src/index.ts
CHANGED
|
@@ -24,7 +24,7 @@ import { AbortController } from 'abort-controller';
|
|
|
24
24
|
import { ChildProcess, spawn, StdioOptions } from 'child_process';
|
|
25
25
|
import events from 'events';
|
|
26
26
|
import { kill, waitOnChild } from './child-process';
|
|
27
|
-
import
|
|
27
|
+
import getPort from 'get-port';
|
|
28
28
|
import { Connection, TestService } from './test-service-client';
|
|
29
29
|
|
|
30
30
|
const TEST_SERVER_EXECUTABLE_NAME = os.platform() === 'win32' ? 'test-server.exe' : 'test-server';
|
|
@@ -161,10 +161,6 @@ function addDefaults({
|
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
// TS transforms `import` statements into `require`s, this is a workaround until
|
|
165
|
-
// tsconfig module nodenext is stable.
|
|
166
|
-
const _importDynamic = new Function('modulePath', 'return import(modulePath)');
|
|
167
|
-
|
|
168
164
|
/**
|
|
169
165
|
* An execution environment for running Workflow integration tests.
|
|
170
166
|
*
|
|
@@ -209,8 +205,6 @@ export class TestWorkflowEnvironment {
|
|
|
209
205
|
* Create a new test environment
|
|
210
206
|
*/
|
|
211
207
|
static async create(opts?: TestWorkflowEnvironmentOptions): Promise<TestWorkflowEnvironment> {
|
|
212
|
-
// No, we're not going to compile this to ESM for one dependency
|
|
213
|
-
const getPort = (await _importDynamic('get-port')).default as typeof getPortType;
|
|
214
208
|
const port = await getPort();
|
|
215
209
|
|
|
216
210
|
const { testServerSpawner, logger } = addDefaults(opts ?? {});
|