@restatedev/restate-sdk-testcontainers 1.7.2 → 1.8.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.
@@ -9,17 +9,23 @@
9
9
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
10
10
  */
11
11
  /* eslint-disable no-console */
12
- import { endpoint, serde } from "@restatedev/restate-sdk";
12
+ import { endpoint, createEndpointHandler, serde, } from "@restatedev/restate-sdk";
13
13
  import { GenericContainer, TestContainers, Wait, } from "testcontainers";
14
14
  import { tableFromIPC } from "apache-arrow";
15
15
  import * as http2 from "http2";
16
- // Prepare the restate server
17
- async function prepareRestateEndpoint(mountServicesFn) {
16
+ async function prepareRestateEndpoint(param) {
18
17
  // Prepare RestateServer
19
- const restateEndpoint = endpoint();
20
- mountServicesFn(restateEndpoint);
18
+ let handler;
19
+ if (typeof param === "function") {
20
+ const restateEndpoint = endpoint();
21
+ param(restateEndpoint);
22
+ handler = restateEndpoint.http2Handler();
23
+ }
24
+ else {
25
+ handler = createEndpointHandler(param);
26
+ }
21
27
  // Start HTTP2 server on random port
22
- const restateHttpServer = http2.createServer(restateEndpoint.http2Handler());
28
+ const restateHttpServer = http2.createServer(handler);
23
29
  await new Promise((resolve, reject) => {
24
30
  restateHttpServer
25
31
  .listen(0)
@@ -94,8 +100,10 @@ export class RestateTestEnvironment {
94
100
  await this.startedRestateContainer.stop();
95
101
  this.startedRestateHttpServer.close();
96
102
  }
97
- static async start(mountServicesFn, restateContainerFactory = () => new RestateContainer()) {
98
- const startedRestateHttpServer = await prepareRestateEndpoint(mountServicesFn);
103
+ static async start(param, restateContainerFactory = () => new RestateContainer()) {
104
+ const startedRestateHttpServer = typeof param === "function"
105
+ ? await prepareRestateEndpoint(param)
106
+ : await prepareRestateEndpoint(param);
99
107
  const startedRestateContainer = await prepareRestateTestContainer(startedRestateHttpServer.address().port, restateContainerFactory);
100
108
  return new RestateTestEnvironment(startedRestateHttpServer, startedRestateContainer);
101
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"restate_test_environment.js","sourceRoot":"","sources":["../../../src/restate_test_environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restate_test_environment.js","sourceRoot":"","sources":["../../../src/restate_test_environment.ts"],"names":[],"mappings":"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"}