@reventlessdev/reventless-core 3.0.0-alpha.170 → 3.0.0-alpha.171

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.
Files changed (74) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +14 -14
  3. package/src/components/ExtensionPoint/ExtensionPoint_Builder.res +5 -2
  4. package/src/components/ExtensionPoint/ExtensionPoint_Builder.res.mjs +3 -3
  5. package/src/components/Task/Task_Builder.res +6 -4
  6. package/src/components/Task/Task_Builder.res.mjs +4 -4
  7. package/src/plugin/connect/PluginExtensionPoint_Builder.res +2 -0
  8. package/src/plugin/connect/PluginExtensionPoint_Builder.res.mjs +3 -3
  9. package/tests/IdentityTest.res.mjs +0 -174
  10. package/tests/adapter/MonitoringTest.res.mjs +0 -82
  11. package/tests/admin/Platform_ComponentDefinitionsApiTest.res.mjs +0 -356
  12. package/tests/admin/Platform_UIFragmentsApiTest.res.mjs +0 -101
  13. package/tests/aggregate/AggregateCacheTest.res.mjs +0 -433
  14. package/tests/aggregate/AggregateCallbackTest.res.mjs +0 -143
  15. package/tests/aggregate/AggregateCausationTest.res.mjs +0 -47
  16. package/tests/aggregate/AggregateConflictTest.res.mjs +0 -386
  17. package/tests/aggregate/AggregateFixtures.res.mjs +0 -308
  18. package/tests/aggregate/AggregateRejectionTest.res.mjs +0 -166
  19. package/tests/aggregate/AggregateSnapshotTest.res.mjs +0 -645
  20. package/tests/api/ApiNoApiTest.res.mjs +0 -90
  21. package/tests/api/GraphQL_StitcherTest.res.mjs +0 -112
  22. package/tests/api/SimpleTest.res.mjs +0 -10
  23. package/tests/api/SuryToJsonSchemaTest.res.mjs +0 -674
  24. package/tests/commandgenerator/CommandGeneratorCallbackTest.res.mjs +0 -160
  25. package/tests/commandgenerator/CommandGeneratorFixtures.res.mjs +0 -197
  26. package/tests/commandtopic/CommandTopicCallbackFixtures.res.mjs +0 -152
  27. package/tests/commandtopic/CommandTopicCallbackTest.res.mjs +0 -106
  28. package/tests/commandtopic/CommandTopicHelpersRejectionTest.res.mjs +0 -109
  29. package/tests/counter/CounterCallbackTest.res.mjs +0 -140
  30. package/tests/counter/CounterFixtures.res.mjs +0 -67
  31. package/tests/dcb/DcbDecodeTest.res.mjs +0 -194
  32. package/tests/dcb/DcbEventLogOperationsTest.res.mjs +0 -268
  33. package/tests/dcb/DcbFixtures.res.mjs +0 -534
  34. package/tests/dcb/DcbScopeInferenceTest.res.mjs +0 -480
  35. package/tests/dcb/DcbStateChangeSliceTest.res.mjs +0 -540
  36. package/tests/dcb/DcbTagTest.res.mjs +0 -867
  37. package/tests/dcb/DcbValidationTest.res.mjs +0 -476
  38. package/tests/eventlog/EventLogFixtures.res.mjs +0 -196
  39. package/tests/eventlog/EventLogOperationsTest.res.mjs +0 -192
  40. package/tests/eventlog/EventLogRetryTest.res.mjs +0 -195
  41. package/tests/eventmapper/EventMapperCallbackTest.res.mjs +0 -141
  42. package/tests/eventmapper/EventMapperFixtures.res.mjs +0 -440
  43. package/tests/eventmapper/EventMapperTest.res.mjs +0 -83
  44. package/tests/eventtopic/EventTopicFixtures.res.mjs +0 -65
  45. package/tests/eventtopic/EventTopicOperationsTest.res.mjs +0 -71
  46. package/tests/extensionpoint/ExtensionPointCallbackTest.res.mjs +0 -94
  47. package/tests/extensionpoint/ExtensionPointFixtures.res.mjs +0 -205
  48. package/tests/extensionpoint/ExtensionPointOperationsTest.res.mjs +0 -304
  49. package/tests/ftp/FTPTest.res.mjs +0 -88
  50. package/tests/logger/LogFormatTest.res.mjs +0 -309
  51. package/tests/logger/LoggerLazyTest.res.mjs +0 -40
  52. package/tests/message/MessageTest.res.mjs +0 -218
  53. package/tests/message/MetaEnvelopeTest.res.mjs +0 -188
  54. package/tests/plugin/ManifestVisibilityTest.res.mjs +0 -215
  55. package/tests/plugin/PluginSpecExperiment.res.mjs +0 -31
  56. package/tests/plugin/PluginStructureTest.res.mjs +0 -419
  57. package/tests/plugin/PluginVersionTest.res.mjs +0 -30
  58. package/tests/plugin/SchemaWalkerTest.res.mjs +0 -160
  59. package/tests/plugin/StateChangeSlice/PsPlaceOrder.res.mjs +0 -62
  60. package/tests/plugin/StateChangeSlice/PsShipOrder.res.mjs +0 -69
  61. package/tests/plugin/StateViewSlice/PsAnnotatedView.res.mjs +0 -95
  62. package/tests/plugin/StateViewSlice/PsAvailableProductsView.res.mjs +0 -69
  63. package/tests/plugin/StateViewSlice/PsCustomersView.res.mjs +0 -69
  64. package/tests/plugin/StateViewSlice/PsOrdersView.res.mjs +0 -81
  65. package/tests/poc/StructuralSubtypingPoc.res.mjs +0 -61
  66. package/tests/projection/ProjectionOptimizeTest.res.mjs +0 -75
  67. package/tests/querydb/QueryDbFixtures.res.mjs +0 -135
  68. package/tests/querydb/QueryDbOperationsTest.res.mjs +0 -168
  69. package/tests/sideeffecthandler/SideEffectHandlerCallbackTest.res.mjs +0 -77
  70. package/tests/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +0 -139
  71. package/tests/util/CommandPublisherTest.res.mjs +0 -78
  72. package/tests/util/CsvStreamTest.res.mjs +0 -51
  73. package/tests/util/LruTest.res.mjs +0 -105
  74. package/tests/util/MetricsTest.res.mjs +0 -53
@@ -1,268 +0,0 @@
1
- // Generated by ReScript, PLEASE EDIT WITH CARE
2
-
3
- import * as S from "sury/src/S.res.mjs";
4
- import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
5
- import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
6
- import * as Stdlib_Result from "@rescript/runtime/lib/es6/Stdlib_Result.js";
7
- import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
8
- import * as Message$ReventlessCore from "../../src/Message.res.mjs";
9
- import * as DcbFixtures$ReventlessCore from "./DcbFixtures.res.mjs";
10
- import * as DcbEventLog_Operations$ReventlessCore from "../../src/components/DcbEventLog/DcbEventLog_Operations.res.mjs";
11
-
12
- let mock = DcbFixtures$ReventlessCore.makeMockStorage();
13
-
14
- let storage = mock.operations;
15
-
16
- let publishJson = mock.mockPublishJson;
17
-
18
- let TestOps = {
19
- name: "TestDcbEventLog",
20
- serviceName: "TestDcbEventLog",
21
- storage: storage,
22
- publishJson: publishJson
23
- };
24
-
25
- let Ops = DcbEventLog_Operations$ReventlessCore.Make(TestOps);
26
-
27
- let storage$1 = mock.operations;
28
-
29
- let publishJson$1 = mock.mockPublishJson;
30
-
31
- let TestOpsAlt = {
32
- name: "Catalog",
33
- serviceName: "CatalogDcbEventLog",
34
- storage: storage$1,
35
- publishJson: publishJson$1
36
- };
37
-
38
- let OpsAlt = DcbEventLog_Operations$ReventlessCore.Make(TestOpsAlt);
39
-
40
- globalThis.beforeEach(() => mock.reset());
41
-
42
- function encodeEvent(event) {
43
- let json = S.reverseConvertToJsonOrThrow(event, DcbFixtures$ReventlessCore.TestEventLogSpec.eventSchema);
44
- let match = Message$ReventlessCore.splitMessage(json);
45
- let tags = DcbTag$Reventless.extractTags(DcbFixtures$ReventlessCore.TestEventLogSpec.eventSchema, event);
46
- let meta = Message$ReventlessCore.generateMeta("test", undefined, undefined, undefined, undefined, undefined, undefined, undefined);
47
- return {
48
- eventType: match[0],
49
- data: match[1],
50
- tags: tags,
51
- meta: meta
52
- };
53
- }
54
-
55
- function decodeEvent(raw) {
56
- let json = Message$ReventlessCore.combineMessage(raw.eventType, Stdlib_Option.getOr(Stdlib_JSON.Decode.object(raw.data), {}));
57
- return S.parseJsonOrThrow(json, DcbFixtures$ReventlessCore.TestEventLogSpec.eventSchema);
58
- }
59
-
60
- globalThis.describe("DcbEventLog_Operations:", () => {
61
- globalThis.describe("round-trip (append then read)", () => {
62
- globalThis.test("ItemCreated preserves through round-trip", async () => {
63
- let event = {
64
- TAG: "ItemCreated",
65
- itemId: "item-1",
66
- name: "Test"
67
- };
68
- let rawEvent = encodeEvent(event);
69
- await Ops.append([rawEvent], undefined);
70
- let result = await Ops.read([{}], undefined);
71
- globalThis.expect([
72
- result.events.length,
73
- Stdlib_Option.map(result.events[0], decodeEvent)
74
- ]).toEqual([
75
- 1,
76
- event
77
- ]);
78
- });
79
- globalThis.test("CountUpdated with int tag preserves through round-trip", async () => {
80
- let event = {
81
- TAG: "CountUpdated",
82
- category: "electronics",
83
- amount: 42
84
- };
85
- let rawEvent = encodeEvent(event);
86
- await Ops.append([rawEvent], undefined);
87
- let result = await Ops.read([{}], undefined);
88
- globalThis.expect(Stdlib_Option.map(result.events[0], decodeEvent)).toEqual(event);
89
- });
90
- globalThis.test("multiple events in single append all read back", async () => {
91
- let events = [
92
- {
93
- TAG: "ItemCreated",
94
- itemId: "item-1",
95
- name: "First"
96
- },
97
- {
98
- TAG: "ItemRenamed",
99
- itemId: "item-1",
100
- newName: "Second"
101
- }
102
- ];
103
- let rawEvents = events.map(encodeEvent);
104
- await Ops.append(rawEvents, undefined);
105
- let result = await Ops.read([{}], undefined);
106
- globalThis.expect([
107
- result.events.length,
108
- result.events.map(decodeEvent)
109
- ]).toEqual([
110
- 2,
111
- events
112
- ]);
113
- });
114
- });
115
- globalThis.describe("append", () => {
116
- globalThis.test("stores events and publishes to event topic", async () => {
117
- let result = await Ops.append([encodeEvent({
118
- TAG: "ItemCreated",
119
- itemId: "item-1",
120
- name: "Test"
121
- })], undefined);
122
- globalThis.expect([
123
- Stdlib_Result.isOk(result),
124
- mock.getEvents().length,
125
- mock.publishedEvents.contents.length
126
- ]).toEqual([
127
- true,
128
- 1,
129
- 1
130
- ]);
131
- });
132
- globalThis.test("published events have correct service name", async () => {
133
- await Ops.append([encodeEvent({
134
- TAG: "ItemCreated",
135
- itemId: "item-1",
136
- name: "Test"
137
- })], undefined);
138
- globalThis.expect(Stdlib_Option.map(mock.publishedEvents.contents[0], pe => pe.service)).toEqual("TestDcbEventLog");
139
- });
140
- globalThis.test("service comes from Ops.serviceName, not Ops.name", async () => {
141
- await OpsAlt.append([encodeEvent({
142
- TAG: "ItemCreated",
143
- itemId: "item-1",
144
- name: "Test"
145
- })], undefined);
146
- globalThis.expect(Stdlib_Option.map(mock.publishedEvents.contents[0], pe => pe.service)).toEqual("CatalogDcbEventLog");
147
- });
148
- globalThis.test("error from storage does not publish to event topic", async () => {
149
- mock.failNextAppends.contents = 1;
150
- let result = await Ops.append([encodeEvent({
151
- TAG: "ItemCreated",
152
- itemId: "item-1",
153
- name: "Test"
154
- })], undefined);
155
- globalThis.expect([
156
- Stdlib_Result.isError(result),
157
- mock.publishedEvents.contents.length
158
- ]).toEqual([
159
- true,
160
- 0
161
- ]);
162
- });
163
- globalThis.test("with condition (no conflict) succeeds", async () => {
164
- await Ops.append([encodeEvent({
165
- TAG: "ItemCreated",
166
- itemId: "item-1",
167
- name: "Test"
168
- })], undefined);
169
- let condition_query = [{
170
- eventTypes: ["ItemCreated"],
171
- tags: [{
172
- key: "itemId",
173
- value: "item-1"
174
- }]
175
- }];
176
- let condition_after = "1";
177
- let condition = {
178
- query: condition_query,
179
- after: condition_after
180
- };
181
- let result = await Ops.append([encodeEvent({
182
- TAG: "ItemRenamed",
183
- itemId: "item-1",
184
- newName: "Updated"
185
- })], condition);
186
- globalThis.expect(Stdlib_Result.isOk(result)).toBe(true);
187
- });
188
- globalThis.test("multiple events all stored and published", async () => {
189
- let events = [
190
- {
191
- TAG: "ItemCreated",
192
- itemId: "item-1",
193
- name: "First"
194
- },
195
- {
196
- TAG: "ItemCreated",
197
- itemId: "item-2",
198
- name: "Second"
199
- }
200
- ];
201
- await Ops.append(events.map(encodeEvent), undefined);
202
- globalThis.expect([
203
- mock.getEvents().length,
204
- mock.publishedEvents.contents.length
205
- ]).toEqual([
206
- 2,
207
- 2
208
- ]);
209
- });
210
- });
211
- globalThis.describe("read", () => {
212
- globalThis.test("returns headPosition from storage", async () => {
213
- await Ops.append([encodeEvent({
214
- TAG: "ItemCreated",
215
- itemId: "item-1",
216
- name: "Test"
217
- })], undefined);
218
- let result = await Ops.read([{}], undefined);
219
- globalThis.expect(result.headPosition).toEqual("1");
220
- });
221
- globalThis.test("with ~after parameter filters out earlier events", async () => {
222
- await Ops.append([encodeEvent({
223
- TAG: "ItemCreated",
224
- itemId: "item-1",
225
- name: "First"
226
- })], undefined);
227
- await Ops.append([encodeEvent({
228
- TAG: "ItemRenamed",
229
- itemId: "item-1",
230
- newName: "Second"
231
- })], undefined);
232
- let result = await Ops.read([{}], "1");
233
- globalThis.expect([
234
- result.events.length,
235
- Stdlib_Option.map(result.events[0], decodeEvent)
236
- ]).toEqual([
237
- 1,
238
- {
239
- TAG: "ItemRenamed",
240
- itemId: "item-1",
241
- newName: "Second"
242
- }
243
- ]);
244
- });
245
- globalThis.test("no matching events returns empty array", async () => {
246
- await Ops.append([encodeEvent({
247
- TAG: "ItemCreated",
248
- itemId: "item-1",
249
- name: "Test"
250
- })], undefined);
251
- let result = await Ops.read([{
252
- eventTypes: ["NonExistent"]
253
- }], undefined);
254
- globalThis.expect(result.events.length).toEqual(0);
255
- });
256
- });
257
- });
258
-
259
- export {
260
- mock,
261
- TestOps,
262
- Ops,
263
- TestOpsAlt,
264
- OpsAlt,
265
- encodeEvent,
266
- decodeEvent,
267
- }
268
- /* mock Not a pure module */