@restatedev/restate-sdk 1.1.0 → 1.1.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.
@@ -1,2 +1,2 @@
1
- export declare const SDK_VERSION = "1.1.0";
1
+ export declare const SDK_VERSION = "1.1.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = '1.1.0';
4
+ exports.SDK_VERSION = '1.1.1';
5
5
  //# sourceMappingURL=version.js.map
@@ -233,10 +233,10 @@ const service = (service) => {
233
233
  throw new Error("service must be defined");
234
234
  }
235
235
  const handlers = Object.entries(service.handlers).map(([name, handler]) => {
236
- if (handler instanceof HandlerWrapper) {
237
- return [name, handler.transpose()];
238
- }
239
236
  if (handler instanceof Function) {
237
+ if (HandlerWrapper.fromHandler(handler) !== undefined) {
238
+ return [name, handler];
239
+ }
240
240
  return [
241
241
  name,
242
242
  HandlerWrapper.from(HandlerKind.SERVICE, handler).transpose(),
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/types/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/types/rpc.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const X_RESTATE_SERVER = "restate-sdk-typescript/1.1.0";
1
+ export declare const X_RESTATE_SERVER = "restate-sdk-typescript/1.1.1";
2
2
  //# sourceMappingURL=user_agent.d.ts.map
@@ -9,8 +9,32 @@
9
9
  * directory of this repository or package, or at
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
12
35
  Object.defineProperty(exports, "__esModule", { value: true });
13
36
  const testdriver_js_1 = require("./testdriver.js");
37
+ const restate = __importStar(require("../src/public_api.js"));
14
38
  const protoutils_js_1 = require("./protoutils.js");
15
39
  const vitest_1 = require("vitest");
16
40
  const greeter = {
@@ -47,4 +71,28 @@ const greeterFoo = {
47
71
  ]).run();
48
72
  });
49
73
  });
74
+ const acceptBytes = restate.service({
75
+ name: "acceptBytes",
76
+ handlers: {
77
+ greeter: restate.handlers.handler({
78
+ accept: "application/octet-stream",
79
+ contentType: "application/json",
80
+ },
81
+ // eslint-disable-next-line @typescript-eslint/require-await
82
+ async (_ctx, audio) => {
83
+ return { length: audio.length };
84
+ }),
85
+ },
86
+ });
87
+ (0, vitest_1.describe)("AcceptBytes", () => {
88
+ (0, vitest_1.it)("should accept bytes", async () => {
89
+ const result = await (0, testdriver_js_1.testService)(acceptBytes).run({
90
+ input: [(0, protoutils_js_1.startMessage)(), (0, protoutils_js_1.inputMessage)(new Uint8Array([0, 1, 2, 3, 4]))],
91
+ });
92
+ (0, vitest_1.expect)(result).toStrictEqual([
93
+ (0, protoutils_js_1.outputMessage)(Buffer.from(JSON.stringify({ length: 5 }))),
94
+ protoutils_js_1.END_MESSAGE,
95
+ ]);
96
+ });
97
+ });
50
98
  //# sourceMappingURL=service_bind.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service_bind.test.js","sourceRoot":"","sources":["../../../test/service_bind.test.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAGH,mDAA2D;AAE3D,mDAA2E;AAC3E,mCAAsC;AAEtC,MAAM,OAAO,GAAgB;IAC3B,4DAA4D;IAC5D,KAAK,EAAE,KAAK;IACV,6DAA6D;IAC7D,GAA0B;IAC1B,6DAA6D;IAC7D,GAAgB,EACO,EAAE;QACzB,OAAO,4BAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,sDAAsD;IACtD,KAAK,CAAC,GAA0B,EAAE,GAAgB;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,GAAG,CACP,GAA0B,EAC1B,GAAgB;QAEhB,OAAO,4BAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC;AAEF,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,WAAE,EAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,0BAAU,CAAC,OAAO,EAAE;YAC5B,IAAA,4BAAY,EAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACjC,IAAA,4BAAY,EAAC,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;SACnC,CAAC,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,0BAAU,CAAC,UAAU,EAAE;YAC/B,IAAA,4BAAY,EAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACjC,IAAA,4BAAY,EAAC,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;SACnC,CAAC,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"service_bind.test.js","sourceRoot":"","sources":["../../../test/service_bind.test.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,mDAAwE;AACxE,8DAAgD;AAChD,mDAMyB;AACzB,mCAA8C;AAE9C,MAAM,OAAO,GAAgB;IAC3B,4DAA4D;IAC5D,KAAK,EAAE,KAAK;IACV,6DAA6D;IAC7D,GAA0B;IAC1B,6DAA6D;IAC7D,GAAgB,EACO,EAAE;QACzB,OAAO,4BAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,sDAAsD;IACtD,KAAK,CAAC,GAA0B,EAAE,GAAgB;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,GAAG,CACP,GAA0B,EAC1B,GAAgB;QAEhB,OAAO,4BAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC;AAEF,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,WAAE,EAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,0BAAU,CAAC,OAAO,EAAE;YAC5B,IAAA,4BAAY,EAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACjC,IAAA,4BAAY,EAAC,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;SACnC,CAAC,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,0BAAU,CAAC,UAAU,EAAE;YAC/B,IAAA,4BAAY,EAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACjC,IAAA,4BAAY,EAAC,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;SACnC,CAAC,CAAC,GAAG,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAC/B;YACE,MAAM,EAAE,0BAA0B;YAClC,WAAW,EAAE,kBAAkB;SAChC;QACD,4DAA4D;QAC5D,KAAK,EAAE,IAAqB,EAAE,KAAiB,EAAE,EAAE;YACjD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC,CACF;KACF;CACF,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,WAAE,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC;YAChD,KAAK,EAAE,CAAC,IAAA,4BAAY,GAAE,EAAE,IAAA,4BAAY,EAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACvE,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,2BAAW;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,6 @@
1
- import type { Connection } from "../src/connection/connection.js";
2
1
  import { Message } from "../src/types/types.js";
3
2
  import type { ObjectContext } from "../src/context.js";
4
- import type { VirtualObjectDefinition } from "../src/public_api.js";
3
+ import type { ServiceDefinition, VirtualObjectDefinition, WorkflowDefinition } from "../src/public_api.js";
5
4
  export type TestRequest = {
6
5
  name: string;
7
6
  };
@@ -15,17 +14,24 @@ export declare const GreeterApi: VirtualObjectDefinition<"greeter", TestGreeter>
15
14
  export interface TestGreeter {
16
15
  greet(ctx: ObjectContext, message: TestRequest): Promise<TestResponse>;
17
16
  }
18
- export declare class TestDriver implements Connection {
19
- private readonly result;
20
- private restateServer;
21
- private stateMachine;
22
- private completionMessages;
17
+ export declare class TestDriver {
18
+ private readonly uut;
19
+ private readonly input;
23
20
  constructor(instance: TestGreeter, entries: Message[]);
24
- headers(): ReadonlyMap<string, string | string[] | undefined>;
25
21
  run(): Promise<Message[]>;
26
- send(msg: Message): Promise<void>;
27
- onClose(): void;
28
- end(): Promise<void>;
29
- onError(): void;
30
22
  }
23
+ interface RunOptions {
24
+ service?: string;
25
+ handler?: string;
26
+ input: Message[];
27
+ }
28
+ export declare class UUT<N extends string, T> {
29
+ private readonly definition;
30
+ private readonly defaultService;
31
+ private readonly defaultHandler;
32
+ constructor(definition: ServiceDefinition<N, T> | VirtualObjectDefinition<N, T> | WorkflowDefinition<N, T>);
33
+ run(options: RunOptions): Promise<Message[]>;
34
+ }
35
+ export declare function testService<N extends string, T>(definition: ServiceDefinition<N, T> | VirtualObjectDefinition<N, T> | WorkflowDefinition<N, T>): UUT<N, T>;
36
+ export {};
31
37
  //# sourceMappingURL=testdriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testdriver.d.ts","sourceRoot":"","sources":["../../../test/testdriver.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAMpE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY;mBACR,YAAY,KAAG,YAAY;CAC3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAEtE,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACxE;AAED,qBAAa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,kBAAkB,CAAY;gBAE1B,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;IA0GrD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAIvD,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAkB/B,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjC,OAAO;IAID,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1B,OAAO;CAGR"}
1
+ {"version":3,"file":"testdriver.d.ts","sourceRoot":"","sources":["../../../test/testdriver.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY;mBACR,YAAY,KAAG,YAAY;CAC3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAEtE,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACxE;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAGtB,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;IAc/C,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAKhC;AAUD,UAAU,UAAU;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,qBAAa,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAMhC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAIrB,UAAU,EACvB,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IA4BjB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiH1D;AAGD,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC7C,UAAU,EACN,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC3B,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAEX"}
@@ -10,14 +10,12 @@
10
10
  * https://github.com/restatedev/sdk-typescript/blob/main/LICENSE
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TestDriver = exports.GreeterApi = exports.TestResponse = void 0;
13
+ exports.testService = exports.UUT = exports.TestDriver = exports.GreeterApi = exports.TestResponse = void 0;
14
14
  const protocol_js_1 = require("../src/types/protocol.js");
15
- const utils_js_1 = require("../src/utils/utils.js");
16
15
  const types_js_1 = require("../src/types/types.js");
17
16
  const state_machine_js_1 = require("../src/state_machine.js");
18
17
  const invocation_js_1 = require("../src/invocation.js");
19
18
  const public_api_js_1 = require("../src/public_api.js");
20
- const rpc_js_1 = require("../src/types/rpc.js");
21
19
  const node_endpoint_js_1 = require("../src/endpoint/node_endpoint.js");
22
20
  exports.TestResponse = {
23
21
  create: (test) => test,
@@ -26,112 +24,153 @@ exports.GreeterApi = {
26
24
  name: "greeter",
27
25
  };
28
26
  class TestDriver {
29
- result = [];
30
- restateServer;
31
- stateMachine;
32
- completionMessages;
27
+ uut;
28
+ input;
29
+ // Deprecated, please use testService below
33
30
  constructor(instance, entries) {
34
- this.restateServer = new TestRestateServer();
35
- const svc = (0, public_api_js_1.object)({
31
+ this.uut = testService((0, public_api_js_1.object)({
36
32
  name: "greeter",
37
33
  handlers: {
38
34
  greet: async (ctx, arg) => {
39
35
  return instance.greet(ctx, arg);
40
36
  },
41
37
  },
38
+ }));
39
+ this.input = entries;
40
+ }
41
+ async run() {
42
+ return await this.uut.run({
43
+ input: this.input,
42
44
  });
43
- this.restateServer.bind(svc);
44
- if (entries.length < 2) {
45
+ }
46
+ }
47
+ exports.TestDriver = TestDriver;
48
+ /**
49
+ * This class' only purpose is to make certain methods accessible in tests.
50
+ * Those methods are otherwise protected, to reduce the public interface and
51
+ * make it simpler for users to understand what methods are relevant for them,
52
+ * and which ones are not.
53
+ */
54
+ class TestRestateServer extends node_endpoint_js_1.NodeEndpoint {
55
+ }
56
+ class UUT {
57
+ definition;
58
+ defaultService;
59
+ defaultHandler;
60
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
61
+ constructor(definition) {
62
+ this.definition = definition;
63
+ // Infer service name and handler
64
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
65
+ this.defaultService = definition.name;
66
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
67
+ const definitionRecord = definition;
68
+ if (definitionRecord && definitionRecord.service != undefined) {
69
+ this.defaultHandler = Object.keys(definitionRecord.service)[0];
70
+ }
71
+ else if (definitionRecord && definitionRecord.object != undefined) {
72
+ this.defaultHandler = Object.keys(definitionRecord.object)[0];
73
+ }
74
+ else if (definitionRecord && definitionRecord.workflow != undefined) {
75
+ this.defaultHandler = Object.keys(definitionRecord.workflow)[0];
76
+ }
77
+ else {
78
+ throw new TypeError("supports only a service or a virtual object or a workflow definition");
79
+ }
80
+ }
81
+ async run(options) {
82
+ const restateServer = new TestRestateServer();
83
+ restateServer.bind(this.definition);
84
+ // Sanity check on input messages
85
+ if (options.input.length < 2) {
45
86
  throw new Error("Less than two runtime messages supplied for test. Need to have at least start message and input message.");
46
87
  }
47
- if (entries[0].messageType !== protocol_js_1.START_MESSAGE_TYPE) {
88
+ if (options.input[0].messageType !== protocol_js_1.START_MESSAGE_TYPE) {
48
89
  throw new Error("First message has to be start message.");
49
90
  }
50
91
  // Get the index of where the completion messages start in the entries list
51
- const firstCompletionIndex = entries.findIndex((value) => value.messageType === protocol_js_1.COMPLETION_MESSAGE_TYPE ||
92
+ const firstCompletionIndex = options.input.findIndex((value) => value.messageType === protocol_js_1.COMPLETION_MESSAGE_TYPE ||
52
93
  value.messageType === protocol_js_1.ENTRY_ACK_MESSAGE_TYPE);
53
94
  // The last message of the replay is the one right before the first completion
54
- const endOfReplay = firstCompletionIndex !== -1 ? firstCompletionIndex : entries.length;
55
- const msg = entries[0];
56
- // We need to set the right number for known entries. Copy the rest
57
- const startEntry = msg.message;
58
- entries[0] = new types_js_1.Message(msg.messageType, new protocol_js_1.StartMessage({
95
+ const endOfReplay = firstCompletionIndex !== -1 ? firstCompletionIndex : options.input.length;
96
+ // --- Patch StartMessage with the right number of entries
97
+ const startMsg = options.input[0];
98
+ const startEntry = startMsg.message;
99
+ options.input[0] = new types_js_1.Message(startMsg.messageType, new protocol_js_1.StartMessage({
59
100
  id: startEntry.id,
60
101
  debugId: startEntry.debugId,
61
102
  knownEntries: endOfReplay - 1,
62
103
  stateMap: startEntry.stateMap,
63
104
  partialState: startEntry.partialState,
64
105
  key: startEntry.key,
65
- }), msg.completed, msg.requiresAck);
66
- const replayMessages = entries.slice(0, endOfReplay);
67
- this.completionMessages = entries.slice(endOfReplay);
106
+ }), startMsg.completed, startMsg.requiresAck);
107
+ // TODO the production code here is doing some bad assumption,
108
+ // by assuming that during the initial replay phase no CompletionMessages are sent.
109
+ // Although this is currently correct, it is correct only due to how the runtime is implemented,
110
+ // and might not be generally true if we change the runtime.
111
+ // This should probably be fixed in the production code, and subsequently the test should
112
+ // stop splitting the input messages here.
113
+ const replayMessages = options.input.slice(0, endOfReplay);
114
+ const completionMessages = options.input.slice(endOfReplay);
68
115
  if (replayMessages.filter((value) => value.messageType === protocol_js_1.COMPLETION_MESSAGE_TYPE ||
69
116
  value.messageType === protocol_js_1.ENTRY_ACK_MESSAGE_TYPE).length > 0) {
70
117
  throw new Error("You cannot interleave replay messages with completion or ack messages. First define the replay messages, then the completion messages.");
71
118
  }
72
- if (this.completionMessages.filter((value) => value.messageType !== protocol_js_1.COMPLETION_MESSAGE_TYPE &&
119
+ if (completionMessages.filter((value) => value.messageType !== protocol_js_1.COMPLETION_MESSAGE_TYPE &&
73
120
  value.messageType !== protocol_js_1.ENTRY_ACK_MESSAGE_TYPE).length > 0) {
74
121
  throw new Error("You cannot interleave replay messages with completion or ack messages. First define the replay messages, then the completion messages.");
75
122
  }
76
- const method = this.restateServer
77
- .componentByName("greeter")
123
+ const method = restateServer
124
+ .componentByName(options.service ? options.service : this.defaultService)
78
125
  ?.handlerMatching({
79
- componentName: "greeter",
80
- handlerName: "greet",
126
+ componentName: options.service ? options.service : this.defaultService,
127
+ handlerName: options.handler ? options.handler : this.defaultHandler,
81
128
  });
82
129
  if (!method) {
83
- throw new Error("Something is wrong with the test setup");
130
+ throw new Error("Can't find the handler to execute");
84
131
  }
85
132
  const invocationBuilder = new invocation_js_1.InvocationBuilder(method);
86
133
  replayMessages.forEach((el) => invocationBuilder.handleMessage(el));
87
134
  const invocation = invocationBuilder.build();
88
- this.stateMachine = new state_machine_js_1.StateMachine(this, invocation, rpc_js_1.HandlerKind.EXCLUSIVE,
135
+ const testConnection = new TestConnection();
136
+ const stateMachine = new state_machine_js_1.StateMachine(testConnection, invocation, method.kind(),
89
137
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
90
- this.restateServer.builder.logger, invocation.inferLoggerContext());
91
- }
92
- headers() {
93
- return new Map();
94
- }
95
- async run() {
96
- const completed = this.stateMachine.invoke();
138
+ restateServer.builder.logger, invocation.inferLoggerContext());
139
+ const completed = stateMachine.invoke();
97
140
  // we send the completions here. Because we don't await the messages that we send the completions for,
98
141
  // we enqueue those completions in the event loop, so they get processed when everything else is done.
99
142
  // This is highly fragile!!!
100
- this.completionMessages.forEach((el) => {
101
- setTimeout(() => this.stateMachine.handleMessage(el));
143
+ completionMessages.forEach((el) => {
144
+ setTimeout(() => stateMachine.handleMessage(el));
102
145
  });
103
146
  // Set the input channel to closed a bit after sending the messages
104
147
  // to make the service finish up the work it can do and suspend or send back a response.
105
- setTimeout(() => this.stateMachine.handleInputClosed());
148
+ setTimeout(() => stateMachine.handleInputClosed());
106
149
  await completed;
107
- return Promise.resolve(this.result);
150
+ return Promise.resolve(testConnection.sentMessages());
151
+ }
152
+ }
153
+ exports.UUT = UUT;
154
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
155
+ function testService(definition) {
156
+ return new UUT(definition);
157
+ }
158
+ exports.testService = testService;
159
+ class TestConnection {
160
+ result = [];
161
+ headers() {
162
+ return new Map();
108
163
  }
109
164
  send(msg) {
110
165
  this.result.push(msg);
111
- this.restateServer.builder.rlog.debug(`Adding result to the result array. Message type: ${msg.messageType}, message:
112
- ${msg.message instanceof Uint8Array
113
- ? msg.message.toString()
114
- : (0, utils_js_1.formatMessageAsJson)(msg.message)}`);
115
166
  return Promise.resolve();
116
167
  }
117
- onClose() {
118
- // nothing to do
119
- }
120
168
  async end() {
121
169
  // nothing to do
122
170
  return Promise.resolve();
123
171
  }
124
- onError() {
125
- // nothing to do
172
+ sentMessages() {
173
+ return this.result;
126
174
  }
127
175
  }
128
- exports.TestDriver = TestDriver;
129
- /**
130
- * This class' only purpose is to make certain methods accessible in tests.
131
- * Those methods are otherwise protected, to reduce the public interface and
132
- * make it simpler for users to understand what methods are relevant for them,
133
- * and which ones are not.
134
- */
135
- class TestRestateServer extends node_endpoint_js_1.NodeEndpoint {
136
- }
137
176
  //# sourceMappingURL=testdriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testdriver.js","sourceRoot":"","sources":["../../../test/testdriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testdriver.js","sourceRoot":"","sources":["../../../test/testdriver.ts"],"names":[],"mappings":"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"}