@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.
- package/dist/cjs/src/generated/version.d.ts +1 -1
- package/dist/cjs/src/generated/version.js +1 -1
- package/dist/cjs/src/types/rpc.js +3 -3
- package/dist/cjs/src/types/rpc.js.map +1 -1
- package/dist/cjs/src/user_agent.d.ts +1 -1
- package/dist/cjs/test/service_bind.test.js +48 -0
- package/dist/cjs/test/service_bind.test.js.map +1 -1
- package/dist/cjs/test/testdriver.d.ts +18 -12
- package/dist/cjs/test/testdriver.d.ts.map +1 -1
- package/dist/cjs/test/testdriver.js +96 -57
- package/dist/cjs/test/testdriver.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/generated/version.d.ts +1 -1
- package/dist/esm/src/generated/version.js +1 -1
- package/dist/esm/src/types/rpc.js +3 -3
- package/dist/esm/src/types/rpc.js.map +1 -1
- package/dist/esm/src/user_agent.d.ts +1 -1
- package/dist/esm/test/service_bind.test.js +28 -3
- package/dist/esm/test/service_bind.test.js.map +1 -1
- package/dist/esm/test/testdriver.d.ts +18 -12
- package/dist/esm/test/testdriver.d.ts.map +1 -1
- package/dist/esm/test/testdriver.js +92 -55
- package/dist/esm/test/testdriver.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.1.
|
|
1
|
+
export declare const SDK_VERSION = "1.1.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.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.
|
|
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
|
|
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
|
|
19
|
-
private readonly
|
|
20
|
-
private
|
|
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":"
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
completionMessages;
|
|
27
|
+
uut;
|
|
28
|
+
input;
|
|
29
|
+
// Deprecated, please use testService below
|
|
33
30
|
constructor(instance, entries) {
|
|
34
|
-
this.
|
|
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
|
-
|
|
44
|
-
|
|
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 (
|
|
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 =
|
|
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 :
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const startEntry =
|
|
58
|
-
|
|
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
|
-
}),
|
|
66
|
-
|
|
67
|
-
|
|
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 (
|
|
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 =
|
|
77
|
-
.componentByName(
|
|
123
|
+
const method = restateServer
|
|
124
|
+
.componentByName(options.service ? options.service : this.defaultService)
|
|
78
125
|
?.handlerMatching({
|
|
79
|
-
componentName:
|
|
80
|
-
handlerName:
|
|
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("
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
101
|
-
setTimeout(() =>
|
|
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(() =>
|
|
148
|
+
setTimeout(() => stateMachine.handleInputClosed());
|
|
106
149
|
await completed;
|
|
107
|
-
return Promise.resolve(
|
|
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
|
-
|
|
125
|
-
|
|
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":";AAAA;;;;;;;;;GASG;;;AAEH,0DAKkC;AAElC,
|
|
1
|
+
{"version":3,"file":"testdriver.js","sourceRoot":"","sources":["../../../test/testdriver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,0DAKkC;AAElC,oDAAgD;AAChD,8DAAuD;AACvD,wDAAyD;AAOzD,wDAA8C;AAC9C,uEAAgE;AAWnD,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,CAAC,IAAkB,EAAgB,EAAE,CAAC,IAAI;CACnD,CAAC;AAEW,QAAA,UAAU,GAAoD;IACzE,IAAI,EAAE,SAAS;CAChB,CAAC;AAMF,MAAa,UAAU;IACJ,GAAG,CAAuB;IAC1B,KAAK,CAAY;IAElC,2CAA2C;IAC3C,YAAY,QAAqB,EAAE,OAAkB;QACnD,IAAI,CAAC,GAAG,GAAG,WAAW,CACpB,IAAA,sBAAM,EAAC;YACL,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK,EAAE,GAAkB,EAAE,GAAgB,EAAE,EAAE;oBACpD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;aACF;SACF,CAAC,CACH,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAxBD,gCAwBC;AAED;;;;;GAKG;AACH,MAAM,iBAAkB,SAAQ,+BAAY;CAAG;AAU/C,MAAa,GAAG;IAMK;IALF,cAAc,CAAS;IACvB,cAAc,CAAS;IAExC,6EAA6E;IAC7E,YACmB,UAGW;QAHX,eAAU,GAAV,UAAU,CAGC;QAE5B,iCAAiC;QACjC,8GAA8G;QAC9G,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;QAEtC,mEAAmE;QACnE,MAAM,gBAAgB,GACpB,UAA8C,CAAC;QACjD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC/B,gBAAgB,CAAC,OAAmC,CACrD,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YACpE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC/B,gBAAgB,CAAC,MAAkC,CACpD,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;YACtE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAC/B,gBAAgB,CAAC,QAAoC,CACtD,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,OAAmB;QAClC,MAAM,aAAa,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,iCAAiC;QACjC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,gCAAkB,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,2EAA2E;QAC3E,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAClD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,WAAW,KAAK,qCAAuB;YAC7C,KAAK,CAAC,WAAW,KAAK,oCAAsB,CAC/C,CAAC;QAEF,8EAA8E;QAC9E,MAAM,WAAW,GACf,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAE5E,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAuB,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,kBAAO,CAC5B,QAAQ,CAAC,WAAW,EACpB,IAAI,0BAAY,CAAC;YACf,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,YAAY,EAAE,WAAW,GAAG,CAAC;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,GAAG,EAAE,UAAU,CAAC,GAAG;SACpB,CAAC,EACF,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,8DAA8D;QAC9D,oFAAoF;QACpF,iGAAiG;QACjG,6DAA6D;QAC7D,0FAA0F;QAC1F,2CAA2C;QAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5D,IACE,cAAc,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,WAAW,KAAK,qCAAuB;YAC7C,KAAK,CAAC,WAAW,KAAK,oCAAsB,CAC/C,CAAC,MAAM,GAAG,CAAC,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;QACJ,CAAC;QACD,IACE,kBAAkB,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,WAAW,KAAK,qCAAuB;YAC7C,KAAK,CAAC,WAAW,KAAK,oCAAsB,CAC/C,CAAC,MAAM,GAAG,CAAC,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wIAAwI,CACzI,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,aAAa;aACzB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACzE,EAAE,eAAe,CAAC;YAChB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;YACtE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;SACrE,CAAC,CAAC;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,iCAAiB,CAAC,MAAM,CAAC,CAAC;QACxD,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE7C,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,+BAAY,CACnC,cAAc,EACd,UAAU,EACV,MAAM,CAAC,IAAI,EAAE;QACb,iEAAiE;QAChE,aAAyD,CAAC,OAAO,CAAC,MAAM,EACzE,UAAU,CAAC,kBAAkB,EAAE,CAChC,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAExC,sGAAsG;QACtG,sGAAsG;QACtG,4BAA4B;QAC5B,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAChC,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,wFAAwF;QACxF,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEnD,MAAM,SAAS,CAAC;QAEhB,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAtJD,kBAsJC;AAED,6EAA6E;AAC7E,SAAgB,WAAW,CACzB,UAG4B;IAE5B,OAAO,IAAI,GAAG,CAAO,UAAU,CAAC,CAAC;AACnC,CAAC;AAPD,kCAOC;AAED,MAAM,cAAc;IACV,MAAM,GAAc,EAAE,CAAC;IAE/B,OAAO;QACL,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,GAAY;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,gBAAgB;QAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|