@mbc-cqrs-serverless/master 1.1.0-beta.0 → 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.
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Third-party Integration Tests: ulid
3
+ *
4
+ * This test suite validates the ulid package's input/output behavior
5
+ * to ensure compatibility with the MBC CQRS Serverless framework.
6
+ *
7
+ * Package: ulid (^2.3.0)
8
+ * Purpose: Generate Universally Unique Lexicographically Sortable Identifiers
9
+ *
10
+ * Test coverage:
11
+ * - Basic ULID generation
12
+ * - Sequential ordering guarantee (lexicographic sort)
13
+ * - Monotonic ULID generation
14
+ * - Timestamp decoding
15
+ * - ULID format validation (26 characters, Crockford Base32)
16
+ * - Seed time option
17
+ * - Factory pattern for monotonic IDs
18
+ */
19
+ export {};
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ /**
3
+ * Third-party Integration Tests: ulid
4
+ *
5
+ * This test suite validates the ulid package's input/output behavior
6
+ * to ensure compatibility with the MBC CQRS Serverless framework.
7
+ *
8
+ * Package: ulid (^2.3.0)
9
+ * Purpose: Generate Universally Unique Lexicographically Sortable Identifiers
10
+ *
11
+ * Test coverage:
12
+ * - Basic ULID generation
13
+ * - Sequential ordering guarantee (lexicographic sort)
14
+ * - Monotonic ULID generation
15
+ * - Timestamp decoding
16
+ * - ULID format validation (26 characters, Crockford Base32)
17
+ * - Seed time option
18
+ * - Factory pattern for monotonic IDs
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ const ulid_1 = require("ulid");
22
+ describe('ulid Integration Tests', () => {
23
+ describe('Basic ULID Generation', () => {
24
+ it('should generate a valid ULID string', () => {
25
+ // Input: No parameters
26
+ // Output: 26-character ULID string
27
+ const id = (0, ulid_1.ulid)();
28
+ expect(typeof id).toBe('string');
29
+ expect(id).toHaveLength(26);
30
+ });
31
+ it('should generate unique IDs on each call', () => {
32
+ // Generate multiple IDs
33
+ const ids = new Set();
34
+ const count = 1000;
35
+ for (let i = 0; i < count; i++) {
36
+ ids.add((0, ulid_1.ulid)());
37
+ }
38
+ // All IDs should be unique
39
+ expect(ids.size).toBe(count);
40
+ });
41
+ it('should generate IDs with Crockford Base32 characters only', () => {
42
+ // Crockford Base32 alphabet (excludes I, L, O, U)
43
+ const crockfordRegex = /^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$/;
44
+ const id = (0, ulid_1.ulid)();
45
+ expect(id).toMatch(crockfordRegex);
46
+ });
47
+ });
48
+ describe('ULID Format Validation', () => {
49
+ it('should have correct structure: 10 chars timestamp + 16 chars randomness', () => {
50
+ const id = (0, ulid_1.ulid)();
51
+ // First 10 characters: timestamp component
52
+ const timestamp = id.substring(0, 10);
53
+ expect(timestamp).toHaveLength(10);
54
+ // Remaining 16 characters: randomness component
55
+ const randomness = id.substring(10);
56
+ expect(randomness).toHaveLength(16);
57
+ });
58
+ it('should generate uppercase characters', () => {
59
+ const id = (0, ulid_1.ulid)();
60
+ // ULID should be uppercase
61
+ expect(id).toBe(id.toUpperCase());
62
+ });
63
+ it('should not contain ambiguous characters (I, L, O, U)', () => {
64
+ // Generate multiple IDs to increase chance of catching issues
65
+ for (let i = 0; i < 100; i++) {
66
+ const id = (0, ulid_1.ulid)();
67
+ expect(id).not.toMatch(/[ILOU]/);
68
+ }
69
+ });
70
+ });
71
+ describe('Lexicographic Sort Order', () => {
72
+ it('should maintain chronological order when sorted lexicographically', async () => {
73
+ const ids = [];
74
+ // Generate IDs with small delays to ensure different timestamps
75
+ for (let i = 0; i < 5; i++) {
76
+ ids.push((0, ulid_1.ulid)());
77
+ // Small delay to ensure different timestamp
78
+ await new Promise((resolve) => setTimeout(resolve, 2));
79
+ }
80
+ const sortedIds = [...ids].sort();
81
+ // Lexicographically sorted IDs should match generation order
82
+ expect(sortedIds).toEqual(ids);
83
+ });
84
+ it('should generate IDs that sort correctly for database queries', () => {
85
+ const oldId = (0, ulid_1.ulid)(Date.now() - 10000); // 10 seconds ago
86
+ const newId = (0, ulid_1.ulid)(); // Now
87
+ // String comparison should maintain chronological order
88
+ expect(oldId < newId).toBe(true);
89
+ // Array sort should put older ID first
90
+ const sorted = [newId, oldId].sort();
91
+ expect(sorted).toEqual([oldId, newId]);
92
+ });
93
+ });
94
+ describe('Monotonic ULID Factory', () => {
95
+ it('should create monotonic IDs within same millisecond', () => {
96
+ const monotonic = (0, ulid_1.monotonicFactory)();
97
+ // Generate IDs rapidly (likely same millisecond)
98
+ const ids = [];
99
+ for (let i = 0; i < 100; i++) {
100
+ ids.push(monotonic());
101
+ }
102
+ // All IDs should be unique
103
+ const uniqueIds = new Set(ids);
104
+ expect(uniqueIds.size).toBe(100);
105
+ // IDs should already be in sorted order (monotonically increasing)
106
+ const sortedIds = [...ids].sort();
107
+ expect(ids).toEqual(sortedIds);
108
+ });
109
+ it('should increment randomness within same millisecond', () => {
110
+ const monotonic = (0, ulid_1.monotonicFactory)();
111
+ // Generate IDs in rapid succession
112
+ const id1 = monotonic();
113
+ const id2 = monotonic();
114
+ const id3 = monotonic();
115
+ // Timestamps may be the same
116
+ const ts1 = id1.substring(0, 10);
117
+ const ts2 = id2.substring(0, 10);
118
+ const ts3 = id3.substring(0, 10);
119
+ if (ts1 === ts2 && ts2 === ts3) {
120
+ // If timestamps are same, randomness should increment
121
+ const rand1 = id1.substring(10);
122
+ const rand2 = id2.substring(10);
123
+ const rand3 = id3.substring(10);
124
+ expect(rand1 < rand2).toBe(true);
125
+ expect(rand2 < rand3).toBe(true);
126
+ }
127
+ // Regardless, IDs should be strictly increasing
128
+ expect(id1 < id2).toBe(true);
129
+ expect(id2 < id3).toBe(true);
130
+ });
131
+ it('should maintain ordering across millisecond boundaries', async () => {
132
+ const monotonic = (0, ulid_1.monotonicFactory)();
133
+ const id1 = monotonic();
134
+ await new Promise((resolve) => setTimeout(resolve, 5));
135
+ const id2 = monotonic();
136
+ expect(id1 < id2).toBe(true);
137
+ });
138
+ it('should generate monotonic IDs with factory defaults', () => {
139
+ // monotonicFactory without arguments uses Date.now() internally
140
+ const monotonic = (0, ulid_1.monotonicFactory)();
141
+ const ids = [];
142
+ for (let i = 0; i < 10; i++) {
143
+ ids.push(monotonic());
144
+ }
145
+ // All IDs should be unique
146
+ const uniqueIds = new Set(ids);
147
+ expect(uniqueIds.size).toBe(10);
148
+ // IDs should be in sorted order (monotonically increasing)
149
+ expect(ids).toEqual([...ids].sort());
150
+ });
151
+ });
152
+ describe('Timestamp Decoding', () => {
153
+ it('should decode timestamp from ULID', () => {
154
+ const now = Date.now();
155
+ const id = (0, ulid_1.ulid)(now);
156
+ // Input: ULID string
157
+ // Output: Unix timestamp in milliseconds
158
+ const decodedTime = (0, ulid_1.decodeTime)(id);
159
+ expect(typeof decodedTime).toBe('number');
160
+ expect(decodedTime).toBe(now);
161
+ });
162
+ it('should decode timestamp with millisecond precision', () => {
163
+ const timestamp = 1700000000123; // Specific timestamp with ms
164
+ const id = (0, ulid_1.ulid)(timestamp);
165
+ const decodedTime = (0, ulid_1.decodeTime)(id);
166
+ expect(decodedTime).toBe(timestamp);
167
+ });
168
+ it('should decode timestamps correctly for date range queries', () => {
169
+ const startDate = new Date('2024-01-01T00:00:00.000Z');
170
+ const endDate = new Date('2024-01-02T00:00:00.000Z');
171
+ const startId = (0, ulid_1.ulid)(startDate.getTime());
172
+ const endId = (0, ulid_1.ulid)(endDate.getTime());
173
+ const decodedStart = (0, ulid_1.decodeTime)(startId);
174
+ const decodedEnd = (0, ulid_1.decodeTime)(endId);
175
+ expect(decodedStart).toBe(startDate.getTime());
176
+ expect(decodedEnd).toBe(endDate.getTime());
177
+ expect(decodedEnd - decodedStart).toBe(24 * 60 * 60 * 1000); // 24 hours
178
+ });
179
+ it('should return Date object from decoded timestamp', () => {
180
+ const originalDate = new Date('2024-06-15T12:30:45.678Z');
181
+ const id = (0, ulid_1.ulid)(originalDate.getTime());
182
+ const decodedTime = (0, ulid_1.decodeTime)(id);
183
+ const decodedDate = new Date(decodedTime);
184
+ expect(decodedDate.getTime()).toBe(originalDate.getTime());
185
+ expect(decodedDate.toISOString()).toBe(originalDate.toISOString());
186
+ });
187
+ });
188
+ describe('Seed Time Option', () => {
189
+ it('should generate ULID with specific timestamp', () => {
190
+ // Input: seedTime parameter (Unix timestamp in milliseconds)
191
+ const seedTime = 1700000000000;
192
+ const id = (0, ulid_1.ulid)(seedTime);
193
+ // Output: ULID with encoded timestamp
194
+ const decodedTime = (0, ulid_1.decodeTime)(id);
195
+ expect(decodedTime).toBe(seedTime);
196
+ });
197
+ it('should generate different IDs with same seed time', () => {
198
+ const seedTime = 1700000000000;
199
+ const id1 = (0, ulid_1.ulid)(seedTime);
200
+ const id2 = (0, ulid_1.ulid)(seedTime);
201
+ // IDs should be different (random component differs)
202
+ expect(id1).not.toBe(id2);
203
+ // But timestamps should be the same
204
+ expect(id1.substring(0, 10)).toBe(id2.substring(0, 10));
205
+ });
206
+ it('should generate IDs in past and future', () => {
207
+ const past = Date.now() - 86400000; // 24 hours ago
208
+ const future = Date.now() + 86400000; // 24 hours from now
209
+ const pastId = (0, ulid_1.ulid)(past);
210
+ const futureId = (0, ulid_1.ulid)(future);
211
+ expect((0, ulid_1.decodeTime)(pastId)).toBe(past);
212
+ expect((0, ulid_1.decodeTime)(futureId)).toBe(future);
213
+ expect(pastId < futureId).toBe(true);
214
+ });
215
+ it('should handle epoch timestamp', () => {
216
+ const epoch = 0; // Unix epoch
217
+ const id = (0, ulid_1.ulid)(epoch);
218
+ expect((0, ulid_1.decodeTime)(id)).toBe(epoch);
219
+ });
220
+ it('should handle max safe timestamp', () => {
221
+ // ULID supports timestamps up to 10889-08-02
222
+ const maxTimestamp = 281474976710655; // 48-bit max value
223
+ const id = (0, ulid_1.ulid)(maxTimestamp);
224
+ expect((0, ulid_1.decodeTime)(id)).toBe(maxTimestamp);
225
+ });
226
+ });
227
+ describe('Performance Characteristics', () => {
228
+ it('should generate ULIDs quickly', () => {
229
+ const count = 10000;
230
+ const start = performance.now();
231
+ for (let i = 0; i < count; i++) {
232
+ (0, ulid_1.ulid)();
233
+ }
234
+ const elapsed = performance.now() - start;
235
+ // Should generate 10000 IDs in less than 2 seconds (relaxed for CI)
236
+ expect(elapsed).toBeLessThan(2000);
237
+ });
238
+ it('should generate monotonic ULIDs quickly', () => {
239
+ const monotonic = (0, ulid_1.monotonicFactory)();
240
+ const count = 10000;
241
+ const start = performance.now();
242
+ for (let i = 0; i < count; i++) {
243
+ monotonic();
244
+ }
245
+ const elapsed = performance.now() - start;
246
+ // Should generate 10000 monotonic IDs in less than 2 seconds (relaxed for CI)
247
+ expect(elapsed).toBeLessThan(2000);
248
+ });
249
+ });
250
+ describe('Collision Resistance', () => {
251
+ it('should have extremely low collision probability', () => {
252
+ const ids = new Set();
253
+ const count = 100000;
254
+ for (let i = 0; i < count; i++) {
255
+ const id = (0, ulid_1.ulid)();
256
+ if (ids.has(id)) {
257
+ fail(`Collision detected at iteration ${i}`);
258
+ }
259
+ ids.add(id);
260
+ }
261
+ expect(ids.size).toBe(count);
262
+ });
263
+ it('should not collide even with same timestamp', () => {
264
+ const seedTime = Date.now();
265
+ const ids = new Set();
266
+ const count = 10000;
267
+ for (let i = 0; i < count; i++) {
268
+ const id = (0, ulid_1.ulid)(seedTime);
269
+ if (ids.has(id)) {
270
+ fail(`Collision detected at iteration ${i} with same timestamp`);
271
+ }
272
+ ids.add(id);
273
+ }
274
+ expect(ids.size).toBe(count);
275
+ });
276
+ });
277
+ describe('Usage Patterns in MBC Framework', () => {
278
+ /**
279
+ * This test demonstrates the pattern used in various services
280
+ * for generating unique identifiers
281
+ */
282
+ it('should work as task code generator', () => {
283
+ // Pattern used in ImportService, TaskService, etc.
284
+ const taskCode = (0, ulid_1.ulid)();
285
+ expect(taskCode).toHaveLength(26);
286
+ expect(typeof taskCode).toBe('string');
287
+ // Can be used directly in pk/sk
288
+ const pk = `CSV_IMPORT#tenant001`;
289
+ const sk = `building#${taskCode}`;
290
+ const id = `${pk}#${sk}`;
291
+ expect(id).toContain(taskCode);
292
+ });
293
+ it('should work for entity code generation with timestamp tracking', () => {
294
+ const beforeCreation = Date.now();
295
+ const entityCode = (0, ulid_1.ulid)();
296
+ const afterCreation = Date.now();
297
+ // Can extract creation time from code
298
+ const createdAt = (0, ulid_1.decodeTime)(entityCode);
299
+ expect(createdAt).toBeGreaterThanOrEqual(beforeCreation);
300
+ expect(createdAt).toBeLessThanOrEqual(afterCreation);
301
+ });
302
+ it('should enable time-range queries on entity codes', () => {
303
+ // Generate IDs at different times
304
+ const yesterday = Date.now() - 86400000;
305
+ const now = Date.now();
306
+ const oldEntityCode = (0, ulid_1.ulid)(yesterday);
307
+ const newEntityCode = (0, ulid_1.ulid)(now);
308
+ // Can query entities created after certain time
309
+ const queryStartTime = yesterday + 1000;
310
+ const queryStartCode = (0, ulid_1.ulid)(queryStartTime);
311
+ // Only new entity should be after query start
312
+ expect(oldEntityCode < queryStartCode).toBe(true);
313
+ expect(newEntityCode > queryStartCode).toBe(true);
314
+ });
315
+ it('should maintain order for DynamoDB sort keys', () => {
316
+ const monotonic = (0, ulid_1.monotonicFactory)();
317
+ // Generate ordered IDs for sort key
318
+ const skValues = Array.from({ length: 100 }, () => monotonic());
319
+ // Verify DynamoDB BEGINS_WITH would work correctly
320
+ const prefix = 'ITEM#';
321
+ const fullSks = skValues.map((sk) => `${prefix}${sk}`);
322
+ // Lexicographic sort should maintain insertion order
323
+ const sorted = [...fullSks].sort();
324
+ expect(sorted).toEqual(fullSks);
325
+ });
326
+ });
327
+ describe('Edge Cases', () => {
328
+ it('should handle concurrent generation', async () => {
329
+ // Simulate concurrent ULID generation
330
+ const promises = Array.from({ length: 100 }, () => Promise.resolve((0, ulid_1.ulid)()));
331
+ const ids = await Promise.all(promises);
332
+ const uniqueIds = new Set(ids);
333
+ expect(uniqueIds.size).toBe(100);
334
+ });
335
+ it('should handle very old timestamps', () => {
336
+ // Year 2000
337
+ const y2k = new Date('2000-01-01T00:00:00.000Z').getTime();
338
+ const id = (0, ulid_1.ulid)(y2k);
339
+ expect((0, ulid_1.decodeTime)(id)).toBe(y2k);
340
+ });
341
+ it('should handle recent timestamps accurately', () => {
342
+ const recent = Date.now();
343
+ const id = (0, ulid_1.ulid)(recent);
344
+ // Should decode to exact same timestamp
345
+ expect((0, ulid_1.decodeTime)(id)).toBe(recent);
346
+ });
347
+ });
348
+ });
349
+ //# sourceMappingURL=ulid.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ulid.spec.js","sourceRoot":"","sources":["../../src/integration/ulid.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/master",
3
- "version": "1.1.0-beta.0",
3
+ "version": "1.1.0",
4
4
  "description": " Master data management such as setting, sequence, etc.",
5
5
  "keywords": [
6
6
  "mbc",
@@ -43,10 +43,10 @@
43
43
  "access": "public"
44
44
  },
45
45
  "dependencies": {
46
- "@mbc-cqrs-serverless/core": "1.1.0-beta.0",
47
- "@mbc-cqrs-serverless/sequence": "1.1.0-beta.0",
48
- "@mbc-cqrs-serverless/task": "1.1.0-beta.0",
46
+ "@mbc-cqrs-serverless/core": "1.1.0",
47
+ "@mbc-cqrs-serverless/sequence": "1.1.0",
48
+ "@mbc-cqrs-serverless/task": "1.1.0",
49
49
  "ulid": "^2.3.0"
50
50
  },
51
- "gitHead": "b16d8982c02933fd41a455d3e41f9750bbcf668c"
51
+ "gitHead": "f5ce26f50fa1d446a29a5a1771ca107ce426e7bc"
52
52
  }