@aiconnect/confidant 1.0.0 → 1.0.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,308 +0,0 @@
1
- /**
2
- * Registry System Tests
3
- *
4
- * Tests for the generic registry system including:
5
- * - Basic registry operations
6
- * - Register/unregister functionality
7
- * - Get/has/list methods
8
- * - Lifecycle hooks (init/destroy)
9
- * - Error handling
10
- * - Typed registry instances
11
- */
12
- import { describe, it, expect, beforeEach, vi } from 'vitest';
13
- import { Registry, storageRegistry, validatorRegistry, transformerRegistry } from './registry.js';
14
- describe('Registry', () => {
15
- let registry;
16
- let mockModule;
17
- beforeEach(() => {
18
- registry = new Registry();
19
- mockModule = {
20
- name: 'test-module',
21
- init: vi.fn(),
22
- destroy: vi.fn(),
23
- };
24
- });
25
- describe('register', () => {
26
- it('should register a module successfully', async () => {
27
- await registry.register('test', mockModule);
28
- expect(registry.has('test')).toBe(true);
29
- expect(mockModule.init).toHaveBeenCalledOnce();
30
- });
31
- it('should throw error when registering duplicate module', async () => {
32
- await registry.register('test', mockModule);
33
- await expect(registry.register('test', mockModule)).rejects.toThrow("Module with name 'test' is already registered");
34
- });
35
- it('should call init hook if present', async () => {
36
- const moduleWithInit = {
37
- name: 'module-with-init',
38
- init: vi.fn(),
39
- };
40
- await registry.register('init-test', moduleWithInit);
41
- expect(moduleWithInit.init).toHaveBeenCalledOnce();
42
- });
43
- it('should not throw if init hook is not present', async () => {
44
- const moduleWithoutInit = {
45
- name: 'module-without-init',
46
- };
47
- await expect(registry.register('no-init-test', moduleWithoutInit)).resolves.not.toThrow();
48
- });
49
- });
50
- describe('unregister', () => {
51
- it('should unregister a module successfully', async () => {
52
- await registry.register('test', mockModule);
53
- await registry.unregister('test');
54
- expect(registry.has('test')).toBe(false);
55
- expect(mockModule.destroy).toHaveBeenCalledOnce();
56
- });
57
- it('should throw error when unregistering non-existent module', async () => {
58
- await expect(registry.unregister('non-existent')).rejects.toThrow("Module 'non-existent' not found");
59
- });
60
- it('should call destroy hook if present', async () => {
61
- const moduleWithDestroy = {
62
- name: 'module-with-destroy',
63
- destroy: vi.fn(),
64
- };
65
- await registry.register('destroy-test', moduleWithDestroy);
66
- await registry.unregister('destroy-test');
67
- expect(moduleWithDestroy.destroy).toHaveBeenCalledOnce();
68
- });
69
- it('should not throw if destroy hook is not present', async () => {
70
- const moduleWithoutDestroy = {
71
- name: 'module-without-destroy',
72
- };
73
- await registry.register('no-destroy-test', moduleWithoutDestroy);
74
- await expect(registry.unregister('no-destroy-test')).resolves.not.toThrow();
75
- });
76
- });
77
- describe('get', () => {
78
- it('should retrieve a registered module', async () => {
79
- await registry.register('test', mockModule);
80
- const retrieved = registry.get('test');
81
- expect(retrieved).toBe(mockModule);
82
- });
83
- it('should return undefined for non-existent module', () => {
84
- const retrieved = registry.get('non-existent');
85
- expect(retrieved).toBeUndefined();
86
- });
87
- });
88
- describe('has', () => {
89
- it('should return true for registered module', async () => {
90
- await registry.register('test', mockModule);
91
- expect(registry.has('test')).toBe(true);
92
- });
93
- it('should return false for non-existent module', () => {
94
- expect(registry.has('non-existent')).toBe(false);
95
- });
96
- });
97
- describe('list', () => {
98
- it('should return empty array when no modules are registered', () => {
99
- const list = registry.list();
100
- expect(list).toEqual([]);
101
- });
102
- it('should return list of all registered module names', async () => {
103
- await registry.register('module1', { name: 'module1' });
104
- await registry.register('module2', { name: 'module2' });
105
- await registry.register('module3', { name: 'module3' });
106
- const list = registry.list();
107
- expect(list).toEqual(['module1', 'module2', 'module3']);
108
- expect(list).toHaveLength(3);
109
- });
110
- });
111
- describe('clear', () => {
112
- it('should clear all registered modules', async () => {
113
- await registry.register('module1', { name: 'module1', destroy: vi.fn() });
114
- await registry.register('module2', { name: 'module2', destroy: vi.fn() });
115
- await registry.clear();
116
- expect(registry.list()).toEqual([]);
117
- expect(registry.has('module1')).toBe(false);
118
- expect(registry.has('module2')).toBe(false);
119
- });
120
- it('should call destroy hook on all modules when clearing', async () => {
121
- const module1 = { name: 'module1', destroy: vi.fn() };
122
- const module2 = { name: 'module2', destroy: vi.fn() };
123
- await registry.register('module1', module1);
124
- await registry.register('module2', module2);
125
- await registry.clear();
126
- expect(module1.destroy).toHaveBeenCalledOnce();
127
- expect(module2.destroy).toHaveBeenCalledOnce();
128
- });
129
- it('should not throw when clearing empty registry', async () => {
130
- await expect(registry.clear()).resolves.not.toThrow();
131
- });
132
- });
133
- describe('Error Handling', () => {
134
- it('should handle init hook errors gracefully', async () => {
135
- const moduleWithError = {
136
- name: 'module-with-error',
137
- init: vi.fn().mockRejectedValue(new Error('Init failed')),
138
- };
139
- await expect(registry.register('error-test', moduleWithError)).rejects.toThrow('Init failed');
140
- });
141
- it('should handle destroy hook errors gracefully', async () => {
142
- const moduleWithError = {
143
- name: 'module-with-error',
144
- destroy: vi.fn().mockRejectedValue(new Error('Destroy failed')),
145
- };
146
- await registry.register('error-test', moduleWithError);
147
- await expect(registry.unregister('error-test')).rejects.toThrow('Destroy failed');
148
- });
149
- });
150
- describe('Lifecycle Hooks', () => {
151
- it('should call init hook exactly once per registration', async () => {
152
- const module = {
153
- name: 'lifecycle-test',
154
- init: vi.fn(),
155
- };
156
- await registry.register('test', module);
157
- expect(module.init).toHaveBeenCalledTimes(1);
158
- });
159
- it('should call destroy hook exactly once per unregistration', async () => {
160
- const module = {
161
- name: 'lifecycle-test',
162
- destroy: vi.fn(),
163
- };
164
- await registry.register('test', module);
165
- await registry.unregister('test');
166
- expect(module.destroy).toHaveBeenCalledTimes(1);
167
- });
168
- it('should support async init hooks', async () => {
169
- const asyncInitModule = {
170
- name: 'async-init-module',
171
- init: async () => {
172
- await new Promise(resolve => setTimeout(resolve, 10));
173
- },
174
- };
175
- await expect(registry.register('async-test', asyncInitModule)).resolves.not.toThrow();
176
- expect(registry.has('async-test')).toBe(true);
177
- });
178
- it('should support async destroy hooks', async () => {
179
- const asyncDestroyModule = {
180
- name: 'async-destroy-module',
181
- destroy: async () => {
182
- await new Promise(resolve => setTimeout(resolve, 10));
183
- },
184
- };
185
- await registry.register('async-test', asyncDestroyModule);
186
- await expect(registry.unregister('async-test')).resolves.not.toThrow();
187
- expect(registry.has('async-test')).toBe(false);
188
- });
189
- });
190
- });
191
- describe('Typed Registry Instances', () => {
192
- beforeEach(() => {
193
- // Clear all registries before each test
194
- storageRegistry.clear();
195
- validatorRegistry.clear();
196
- transformerRegistry.clear();
197
- });
198
- describe('Storage Registry', () => {
199
- it('should register and retrieve storage modules', async () => {
200
- const storageModule = {
201
- name: 'test-storage',
202
- get: vi.fn(),
203
- set: vi.fn(),
204
- delete: vi.fn(),
205
- };
206
- await storageRegistry.register('test', storageModule);
207
- const retrieved = storageRegistry.get('test');
208
- expect(retrieved).toBe(storageModule);
209
- });
210
- it('should enforce StorageModule interface', async () => {
211
- const invalidModule = {
212
- name: 'invalid-storage',
213
- };
214
- // TypeScript should catch this at compile time
215
- // At runtime, it will still register but won't have the required methods
216
- await storageRegistry.register('invalid', invalidModule);
217
- expect(storageRegistry.has('invalid')).toBe(true);
218
- });
219
- });
220
- describe('Validator Registry', () => {
221
- it('should register and retrieve validator modules', async () => {
222
- const validatorModule = {
223
- name: 'test-validator',
224
- validate: vi.fn().mockReturnValue(true),
225
- getErrors: vi.fn().mockReturnValue([]),
226
- };
227
- await validatorRegistry.register('test', validatorModule);
228
- const retrieved = validatorRegistry.get('test');
229
- expect(retrieved).toBe(validatorModule);
230
- });
231
- });
232
- describe('Transformer Registry', () => {
233
- it('should register and retrieve transformer modules', async () => {
234
- const transformerModule = {
235
- name: 'test-transformer',
236
- transform: vi.fn().mockImplementation((data) => data),
237
- };
238
- await transformerRegistry.register('test', transformerModule);
239
- const retrieved = transformerRegistry.get('test');
240
- expect(retrieved).toBe(transformerModule);
241
- });
242
- });
243
- describe('Registry Isolation', () => {
244
- it('should keep registries isolated from each other', async () => {
245
- const storageModule = {
246
- name: 'storage',
247
- get: vi.fn(),
248
- set: vi.fn(),
249
- delete: vi.fn(),
250
- };
251
- const validatorModule = {
252
- name: 'validator',
253
- validate: vi.fn().mockReturnValue(true),
254
- getErrors: vi.fn().mockReturnValue([]),
255
- };
256
- await storageRegistry.register('test', storageModule);
257
- await validatorRegistry.register('test', validatorModule);
258
- expect(storageRegistry.list()).toEqual(['test']);
259
- expect(validatorRegistry.list()).toEqual(['test']);
260
- expect(transformerRegistry.list()).toEqual([]);
261
- });
262
- });
263
- });
264
- describe('Integration Tests', () => {
265
- beforeEach(() => {
266
- storageRegistry.clear();
267
- validatorRegistry.clear();
268
- transformerRegistry.clear();
269
- });
270
- it('should support multiple modules of same type', async () => {
271
- const storage1 = {
272
- name: 'storage1',
273
- get: vi.fn(),
274
- set: vi.fn(),
275
- delete: vi.fn(),
276
- };
277
- const storage2 = {
278
- name: 'storage2',
279
- get: vi.fn(),
280
- set: vi.fn(),
281
- delete: vi.fn(),
282
- };
283
- await storageRegistry.register('s1', storage1);
284
- await storageRegistry.register('s2', storage2);
285
- expect(storageRegistry.list()).toEqual(['s1', 's2']);
286
- expect(storageRegistry.get('s1')).toBe(storage1);
287
- expect(storageRegistry.get('s2')).toBe(storage2);
288
- });
289
- it('should support module replacement after unregister', async () => {
290
- const storage1 = {
291
- name: 'storage1',
292
- get: vi.fn(),
293
- set: vi.fn(),
294
- delete: vi.fn(),
295
- };
296
- const storage2 = {
297
- name: 'storage2',
298
- get: vi.fn(),
299
- set: vi.fn(),
300
- delete: vi.fn(),
301
- };
302
- await storageRegistry.register('test', storage1);
303
- await storageRegistry.unregister('test');
304
- await storageRegistry.register('test', storage2);
305
- expect(storageRegistry.get('test')).toBe(storage2);
306
- });
307
- });
308
- //# sourceMappingURL=registry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../src/registry.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for MemoryStorage class
3
- */
4
- export {};
5
- //# sourceMappingURL=storage.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../src/storage.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}