syntropylog 0.6.13 โ 0.6.14
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/README.md +73 -7
- package/dist/testing/SyntropyLogMock.js +166 -0
- package/dist/testing/SyntropyLogMock.js.map +1 -0
- package/dist/testing/index.cjs +226 -0
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.ts +155 -3
- package/dist/testing/index.js +4 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/index.mjs +213 -1
- package/dist/testing/index.mjs.map +1 -1
- package/dist/testing/test-helper.js +48 -0
- package/dist/testing/test-helper.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/testing/SyntropyLogMock.d.ts +106 -0
- package/dist/types/testing/index.d.ts +2 -0
- package/dist/types/testing/test-helper.d.ts +44 -0
- package/package.json +11 -1
package/README.md
CHANGED
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
|
|
22
22
|
## ๐ Quick Start
|
|
23
23
|
|
|
24
|
-
Get started with SyntropyLog in **30 seconds
|
|
24
|
+
Get started with SyntropyLog usage in **30 seconds** (after initialization):
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npm install syntropylog@0.6.
|
|
27
|
+
npm install syntropylog@0.6.14
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
```typescript
|
|
@@ -42,10 +42,16 @@ await syntropyLog.init({
|
|
|
42
42
|
const logger = syntropyLog.getLogger();
|
|
43
43
|
logger.info('Hello, SyntropyLog!');
|
|
44
44
|
```
|
|
45
|
+
// Note: This shows the "zero boilerplate" usage pattern.
|
|
46
|
+
// Initialization and shutdown require the boilerplate shown in the documentation.
|
|
47
|
+
|
|
48
|
+
> โ ๏ธ **CRITICAL REQUIREMENT**: You **MUST** include the [graceful shutdown boilerplate](https://syntropysoft.github.io/syntropylog-doc/docs/production/graceful-shutdown) in ALL applications. This ensures logs are flushed and resources are cleaned up when:
|
|
49
|
+
> - **Development**: You press Ctrl+C to stop the application
|
|
50
|
+
> - **Production**: Kubernetes sends SIGTERM to terminate your pod
|
|
45
51
|
|
|
46
52
|
## โจ Key Features
|
|
47
53
|
|
|
48
|
-
- **๐ Zero Boilerplate** - Get started in 30 seconds with automatic context propagation
|
|
54
|
+
- **๐ Zero Boilerplate** - Get started in 30 seconds with automatic context propagation (usage only - initialization/shutdown boilerplate required)
|
|
49
55
|
- **๐ Automatic Correlation** - Distributed tracing across services, HTTP calls, and message brokers
|
|
50
56
|
- **๐ฏ Framework Agnostic** - Works with Express, Fastify, Koa, NestJS, and any Node.js app
|
|
51
57
|
- **๐ก๏ธ Security First** - Built-in data masking and compliance-ready logging
|
|
@@ -56,14 +62,24 @@ logger.info('Hello, SyntropyLog!');
|
|
|
56
62
|
|
|
57
63
|
- **[Getting Started](https://syntropysoft.github.io/syntropylog-doc/docs/getting-started)** - Complete setup guide *(in progress)*
|
|
58
64
|
- **[API Reference](https://syntropysoft.github.io/syntropylog-doc/docs/api-reference)** - Full API documentation *(in progress)*
|
|
59
|
-
- **[Examples](https://syntropysoft.github.io/syntropylog-doc/examples)** -
|
|
65
|
+
- **[Examples](https://syntropysoft.github.io/syntropylog-doc/examples)** - 30 production-ready examples *(in progress)*
|
|
60
66
|
- **[Configuration Guide](https://syntropysoft.github.io/syntropylog-doc/docs/configuration)** - Advanced configuration *(in progress)*
|
|
61
67
|
|
|
62
68
|
## ๐ฏ Production Ready
|
|
63
69
|
|
|
64
|
-
SyntropyLog is **BETA (0.6.
|
|
70
|
+
SyntropyLog is **BETA (0.6.14)** and ready for production use:
|
|
65
71
|
|
|
66
72
|
### ๐ Version Notes
|
|
73
|
+
**v0.6.14** - *Testing Revolution Release*
|
|
74
|
+
- ๐งช **NEW: SyntropyLogMock** - Eliminates all connection boilerplate in tests
|
|
75
|
+
- ๐งช **NEW: BeaconRedisMock** - In-memory Redis simulation for testing
|
|
76
|
+
- ๐งช **NEW: Test Helpers** - Simplified setup and teardown for all test frameworks
|
|
77
|
+
- ๐ **NEW: 3 Comprehensive Testing Examples** - Vitest, Jest, and Redis context patterns
|
|
78
|
+
- ๐ **NEW: Docusaurus Documentation** - Complete testing guides with AI-friendly instructions
|
|
79
|
+
- ๐ฏ **Focus on Declarative Testing** - Test behavior, not implementation details
|
|
80
|
+
- โก **Zero External Dependencies** - No Redis, brokers, or HTTP servers needed for testing
|
|
81
|
+
- ๐ **Framework Agnostic Testing** - Works with Vitest, Jest, and any test runner
|
|
82
|
+
|
|
67
83
|
**v0.6.13** - *Documentation Release*
|
|
68
84
|
- ๐ Enhanced README with detailed Singleton pattern explanation
|
|
69
85
|
- ๐ New GitHub Pages documentation site
|
|
@@ -191,21 +207,71 @@ This pattern provides critical advantages in production environments:
|
|
|
191
207
|
- **๐๏ธ Resource Management**: Automatic cleanup and connection pooling
|
|
192
208
|
- **๐ Kubernetes Ready**: Essential for containerized environments where memory is limited
|
|
193
209
|
|
|
210
|
+
## ๐งช Testing Revolution
|
|
211
|
+
|
|
212
|
+
### **๐ฏ Zero Boilerplate Testing with SyntropyLogMock**
|
|
213
|
+
|
|
214
|
+
Testing SyntropyLog applications is now **dramatically simplified** with our new testing framework:
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
import { describe, it, expect, beforeEach } from 'vitest';
|
|
218
|
+
import { UserService } from './UserService';
|
|
219
|
+
const { createTestHelper } = require('syntropylog/testing');
|
|
220
|
+
|
|
221
|
+
// No initialization, no shutdown, no external dependencies
|
|
222
|
+
const testHelper = createTestHelper();
|
|
223
|
+
|
|
224
|
+
describe('UserService', () => {
|
|
225
|
+
let userService: UserService;
|
|
226
|
+
|
|
227
|
+
beforeEach(() => {
|
|
228
|
+
testHelper.beforeEach(); // Reset mocks
|
|
229
|
+
userService = new UserService(testHelper.mockSyntropyLog); // Inject mock
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
it('should create user successfully', async () => {
|
|
233
|
+
const result = await userService.createUser({ name: 'John', email: 'john@example.com' });
|
|
234
|
+
expect(result).toHaveProperty('userId');
|
|
235
|
+
expect(result.name).toBe('John');
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### **๐ What's New in v0.6.14**
|
|
241
|
+
|
|
242
|
+
- **๐งช SyntropyLogMock** - Complete framework simulation in memory
|
|
243
|
+
- **๐งช BeaconRedisMock** - Full Redis simulation without external dependencies
|
|
244
|
+
- **๐งช Test Helpers** - One-line setup for any test framework
|
|
245
|
+
- **๐ 3 Testing Examples** - Example 28 (Vitest), Example 29 (Jest), Example 30 (Redis context)
|
|
246
|
+
- **๐ฏ Declarative Testing** - Focus on behavior, not implementation
|
|
247
|
+
- **โก Zero External Dependencies** - No Redis, brokers, or HTTP servers needed
|
|
248
|
+
|
|
249
|
+
### **โ
Benefits**
|
|
250
|
+
|
|
251
|
+
- **๐ซ No Connection Boilerplate** - No init/shutdown in tests
|
|
252
|
+
- **โก Lightning Fast** - Everything runs in memory
|
|
253
|
+
- **๐ Reliable** - No network issues or state conflicts
|
|
254
|
+
- **๐ฏ Focused** - Test business logic, not framework internals
|
|
255
|
+
- **๐ Framework Agnostic** - Works with Vitest, Jest, and any test runner
|
|
256
|
+
|
|
257
|
+
[View Testing Examples โ](https://syntropysoft.github.io/syntropylog-doc/docs/examples/28-testing-patterns-vitest)
|
|
258
|
+
|
|
194
259
|
## ๐ฆ Ecosystem
|
|
195
260
|
|
|
196
261
|
- **[syntropylog](https://www.npmjs.com/package/syntropylog)** - Core framework
|
|
197
262
|
- **[@syntropylog/adapters](https://www.npmjs.com/package/@syntropylog/adapters)** - HTTP and broker adapters
|
|
198
263
|
- **[@syntropylog/types](https://www.npmjs.com/package/@syntropylog/types)** - TypeScript types
|
|
199
|
-
- **[syntropylog-examples](https://github.com/Syntropysoft/syntropylog-examples-)** -
|
|
264
|
+
- **[syntropylog-examples](https://github.com/Syntropysoft/syntropylog-examples-)** - 30 complete examples
|
|
200
265
|
|
|
201
266
|
## ๐ Examples
|
|
202
267
|
|
|
203
268
|
Complete examples demonstrating SyntropyLog features:
|
|
204
269
|
|
|
205
|
-
### โ
**Complete & Tested (00-13, 20-24)**
|
|
270
|
+
### โ
**Complete & Tested (00-13, 20-24, 28-30)**
|
|
206
271
|
- **00-09**: Core Framework Features - Basic setup, context, configuration
|
|
207
272
|
- **10-13**: HTTP & Redis Integration - Framework agnosticism (Express, Fastify)
|
|
208
273
|
- **20-24**: Message Brokers - Kafka, RabbitMQ, NATS with correlation
|
|
274
|
+
- **28-30**: Testing Patterns - Vitest, Jest, and Redis context testing with SyntropyLogMock
|
|
209
275
|
|
|
210
276
|
### ๐ง **In Development (14-19, 25-27)**
|
|
211
277
|
- **14-19**: Advanced Framework Features - NestJS, Koa, Hapi, custom serializers
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
/**
|
|
3
|
+
* Create a mock logger instance
|
|
4
|
+
*/
|
|
5
|
+
export function createMockLogger() {
|
|
6
|
+
const logs = [];
|
|
7
|
+
return {
|
|
8
|
+
info: (message, metadata) => {
|
|
9
|
+
logs.push({ level: 'info', message, metadata });
|
|
10
|
+
},
|
|
11
|
+
warn: (message, metadata) => {
|
|
12
|
+
logs.push({ level: 'warn', message, metadata });
|
|
13
|
+
},
|
|
14
|
+
error: (message, metadata) => {
|
|
15
|
+
logs.push({ level: 'error', message, metadata });
|
|
16
|
+
},
|
|
17
|
+
debug: (message, metadata) => {
|
|
18
|
+
logs.push({ level: 'debug', message, metadata });
|
|
19
|
+
},
|
|
20
|
+
trace: (message, metadata) => {
|
|
21
|
+
logs.push({ level: 'trace', message, metadata });
|
|
22
|
+
},
|
|
23
|
+
fatal: (message, metadata) => {
|
|
24
|
+
logs.push({ level: 'fatal', message, metadata });
|
|
25
|
+
},
|
|
26
|
+
withSource: (source) => {
|
|
27
|
+
return createMockLogger(); // Return new instance with source context
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a mock context manager instance
|
|
33
|
+
*/
|
|
34
|
+
export function createMockContextManager() {
|
|
35
|
+
const context = {};
|
|
36
|
+
return {
|
|
37
|
+
run: async (fn) => {
|
|
38
|
+
// Simulate context execution
|
|
39
|
+
const correlationId = randomUUID();
|
|
40
|
+
const transactionId = randomUUID();
|
|
41
|
+
// Set default context values
|
|
42
|
+
context['x-correlation-id'] = correlationId;
|
|
43
|
+
context['x-transaction-id'] = transactionId;
|
|
44
|
+
context['x-correlation-id-test'] = correlationId;
|
|
45
|
+
// Execute the function with context
|
|
46
|
+
return await fn();
|
|
47
|
+
},
|
|
48
|
+
set: (key, value) => {
|
|
49
|
+
context[key] = value;
|
|
50
|
+
},
|
|
51
|
+
get: (key) => {
|
|
52
|
+
return context[key] || null;
|
|
53
|
+
},
|
|
54
|
+
getCorrelationIdHeaderName: () => 'x-correlation-id',
|
|
55
|
+
getTransactionIdHeaderName: () => 'x-transaction-id',
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a mock HTTP manager instance
|
|
60
|
+
*/
|
|
61
|
+
export function createMockHttpManager() {
|
|
62
|
+
return {
|
|
63
|
+
createClient: () => ({
|
|
64
|
+
get: async () => ({ data: {} }),
|
|
65
|
+
post: async () => ({ data: {} }),
|
|
66
|
+
put: async () => ({ data: {} }),
|
|
67
|
+
delete: async () => ({ data: {} }),
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create a mock broker manager instance
|
|
73
|
+
*/
|
|
74
|
+
export function createMockBrokerManager() {
|
|
75
|
+
return {
|
|
76
|
+
createClient: () => ({
|
|
77
|
+
publish: async () => undefined,
|
|
78
|
+
subscribe: async () => undefined,
|
|
79
|
+
}),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Create a mock serialization manager instance
|
|
84
|
+
*/
|
|
85
|
+
export function createMockSerializationManager() {
|
|
86
|
+
return {
|
|
87
|
+
serialize: async () => '{}',
|
|
88
|
+
deserialize: async () => ({}),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Global mock instances
|
|
92
|
+
let mockLogger;
|
|
93
|
+
let mockContextManager;
|
|
94
|
+
let mockHttpManager;
|
|
95
|
+
let mockBrokerManager;
|
|
96
|
+
let mockSerializationManager;
|
|
97
|
+
/**
|
|
98
|
+
* Get or create mock logger instance
|
|
99
|
+
*/
|
|
100
|
+
export function getMockLogger() {
|
|
101
|
+
if (!mockLogger) {
|
|
102
|
+
mockLogger = createMockLogger();
|
|
103
|
+
}
|
|
104
|
+
return mockLogger;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get or create mock context manager instance
|
|
108
|
+
*/
|
|
109
|
+
export function getMockContextManager() {
|
|
110
|
+
if (!mockContextManager) {
|
|
111
|
+
mockContextManager = createMockContextManager();
|
|
112
|
+
}
|
|
113
|
+
return mockContextManager;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get or create mock HTTP manager instance
|
|
117
|
+
*/
|
|
118
|
+
export function getMockHttpManager() {
|
|
119
|
+
if (!mockHttpManager) {
|
|
120
|
+
mockHttpManager = createMockHttpManager();
|
|
121
|
+
}
|
|
122
|
+
return mockHttpManager;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Get or create mock broker manager instance
|
|
126
|
+
*/
|
|
127
|
+
export function getMockBrokerManager() {
|
|
128
|
+
if (!mockBrokerManager) {
|
|
129
|
+
mockBrokerManager = createMockBrokerManager();
|
|
130
|
+
}
|
|
131
|
+
return mockBrokerManager;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Get or create mock serialization manager instance
|
|
135
|
+
*/
|
|
136
|
+
export function getMockSerializationManager() {
|
|
137
|
+
if (!mockSerializationManager) {
|
|
138
|
+
mockSerializationManager = createMockSerializationManager();
|
|
139
|
+
}
|
|
140
|
+
return mockSerializationManager;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Create a complete mock of SyntropyLog
|
|
144
|
+
*/
|
|
145
|
+
export function createSyntropyLogMock() {
|
|
146
|
+
return {
|
|
147
|
+
init: async () => undefined,
|
|
148
|
+
shutdown: async () => undefined,
|
|
149
|
+
getLogger: () => getMockLogger(),
|
|
150
|
+
getContextManager: () => getMockContextManager(),
|
|
151
|
+
getHttpManager: () => getMockHttpManager(),
|
|
152
|
+
getBrokerManager: () => getMockBrokerManager(),
|
|
153
|
+
getSerializationManager: () => getMockSerializationManager(),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Reset all mock instances
|
|
158
|
+
*/
|
|
159
|
+
export function resetSyntropyLogMocks() {
|
|
160
|
+
mockLogger = undefined;
|
|
161
|
+
mockContextManager = undefined;
|
|
162
|
+
mockHttpManager = undefined;
|
|
163
|
+
mockBrokerManager = undefined;
|
|
164
|
+
mockSerializationManager = undefined;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=SyntropyLogMock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyntropyLogMock.js","sourceRoot":"","sources":["../../src/testing/SyntropyLogMock.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.cjs
CHANGED
|
@@ -307,6 +307,218 @@ class SpyTransport extends Transport {
|
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
+
/**
|
|
311
|
+
* Create a mock logger instance
|
|
312
|
+
*/
|
|
313
|
+
function createMockLogger() {
|
|
314
|
+
const logs = [];
|
|
315
|
+
return {
|
|
316
|
+
info: (message, metadata) => {
|
|
317
|
+
logs.push({ level: 'info', message, metadata });
|
|
318
|
+
},
|
|
319
|
+
warn: (message, metadata) => {
|
|
320
|
+
logs.push({ level: 'warn', message, metadata });
|
|
321
|
+
},
|
|
322
|
+
error: (message, metadata) => {
|
|
323
|
+
logs.push({ level: 'error', message, metadata });
|
|
324
|
+
},
|
|
325
|
+
debug: (message, metadata) => {
|
|
326
|
+
logs.push({ level: 'debug', message, metadata });
|
|
327
|
+
},
|
|
328
|
+
trace: (message, metadata) => {
|
|
329
|
+
logs.push({ level: 'trace', message, metadata });
|
|
330
|
+
},
|
|
331
|
+
fatal: (message, metadata) => {
|
|
332
|
+
logs.push({ level: 'fatal', message, metadata });
|
|
333
|
+
},
|
|
334
|
+
withSource: (source) => {
|
|
335
|
+
return createMockLogger(); // Return new instance with source context
|
|
336
|
+
},
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Create a mock context manager instance
|
|
341
|
+
*/
|
|
342
|
+
function createMockContextManager() {
|
|
343
|
+
const context = {};
|
|
344
|
+
return {
|
|
345
|
+
run: async (fn) => {
|
|
346
|
+
// Simulate context execution
|
|
347
|
+
const correlationId = crypto.randomUUID();
|
|
348
|
+
const transactionId = crypto.randomUUID();
|
|
349
|
+
// Set default context values
|
|
350
|
+
context['x-correlation-id'] = correlationId;
|
|
351
|
+
context['x-transaction-id'] = transactionId;
|
|
352
|
+
context['x-correlation-id-test'] = correlationId;
|
|
353
|
+
// Execute the function with context
|
|
354
|
+
return await fn();
|
|
355
|
+
},
|
|
356
|
+
set: (key, value) => {
|
|
357
|
+
context[key] = value;
|
|
358
|
+
},
|
|
359
|
+
get: (key) => {
|
|
360
|
+
return context[key] || null;
|
|
361
|
+
},
|
|
362
|
+
getCorrelationIdHeaderName: () => 'x-correlation-id',
|
|
363
|
+
getTransactionIdHeaderName: () => 'x-transaction-id',
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Create a mock HTTP manager instance
|
|
368
|
+
*/
|
|
369
|
+
function createMockHttpManager() {
|
|
370
|
+
return {
|
|
371
|
+
createClient: () => ({
|
|
372
|
+
get: async () => ({ data: {} }),
|
|
373
|
+
post: async () => ({ data: {} }),
|
|
374
|
+
put: async () => ({ data: {} }),
|
|
375
|
+
delete: async () => ({ data: {} }),
|
|
376
|
+
}),
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Create a mock broker manager instance
|
|
381
|
+
*/
|
|
382
|
+
function createMockBrokerManager() {
|
|
383
|
+
return {
|
|
384
|
+
createClient: () => ({
|
|
385
|
+
publish: async () => undefined,
|
|
386
|
+
subscribe: async () => undefined,
|
|
387
|
+
}),
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Create a mock serialization manager instance
|
|
392
|
+
*/
|
|
393
|
+
function createMockSerializationManager() {
|
|
394
|
+
return {
|
|
395
|
+
serialize: async () => '{}',
|
|
396
|
+
deserialize: async () => ({}),
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
// Global mock instances
|
|
400
|
+
let mockLogger;
|
|
401
|
+
let mockContextManager;
|
|
402
|
+
let mockHttpManager;
|
|
403
|
+
let mockBrokerManager;
|
|
404
|
+
let mockSerializationManager;
|
|
405
|
+
/**
|
|
406
|
+
* Get or create mock logger instance
|
|
407
|
+
*/
|
|
408
|
+
function getMockLogger() {
|
|
409
|
+
if (!mockLogger) {
|
|
410
|
+
mockLogger = createMockLogger();
|
|
411
|
+
}
|
|
412
|
+
return mockLogger;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Get or create mock context manager instance
|
|
416
|
+
*/
|
|
417
|
+
function getMockContextManager() {
|
|
418
|
+
if (!mockContextManager) {
|
|
419
|
+
mockContextManager = createMockContextManager();
|
|
420
|
+
}
|
|
421
|
+
return mockContextManager;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Get or create mock HTTP manager instance
|
|
425
|
+
*/
|
|
426
|
+
function getMockHttpManager() {
|
|
427
|
+
if (!mockHttpManager) {
|
|
428
|
+
mockHttpManager = createMockHttpManager();
|
|
429
|
+
}
|
|
430
|
+
return mockHttpManager;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Get or create mock broker manager instance
|
|
434
|
+
*/
|
|
435
|
+
function getMockBrokerManager() {
|
|
436
|
+
if (!mockBrokerManager) {
|
|
437
|
+
mockBrokerManager = createMockBrokerManager();
|
|
438
|
+
}
|
|
439
|
+
return mockBrokerManager;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Get or create mock serialization manager instance
|
|
443
|
+
*/
|
|
444
|
+
function getMockSerializationManager() {
|
|
445
|
+
if (!mockSerializationManager) {
|
|
446
|
+
mockSerializationManager = createMockSerializationManager();
|
|
447
|
+
}
|
|
448
|
+
return mockSerializationManager;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Create a complete mock of SyntropyLog
|
|
452
|
+
*/
|
|
453
|
+
function createSyntropyLogMock() {
|
|
454
|
+
return {
|
|
455
|
+
init: async () => undefined,
|
|
456
|
+
shutdown: async () => undefined,
|
|
457
|
+
getLogger: () => getMockLogger(),
|
|
458
|
+
getContextManager: () => getMockContextManager(),
|
|
459
|
+
getHttpManager: () => getMockHttpManager(),
|
|
460
|
+
getBrokerManager: () => getMockBrokerManager(),
|
|
461
|
+
getSerializationManager: () => getMockSerializationManager(),
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Reset all mock instances
|
|
466
|
+
*/
|
|
467
|
+
function resetSyntropyLogMocks() {
|
|
468
|
+
mockLogger = undefined;
|
|
469
|
+
mockContextManager = undefined;
|
|
470
|
+
mockHttpManager = undefined;
|
|
471
|
+
mockBrokerManager = undefined;
|
|
472
|
+
mockSerializationManager = undefined;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* Create a test helper for SyntropyLog testing
|
|
477
|
+
*
|
|
478
|
+
* @example
|
|
479
|
+
* ```typescript
|
|
480
|
+
* const testHelper = createTestHelper();
|
|
481
|
+
*
|
|
482
|
+
* describe('MyService', () => {
|
|
483
|
+
* beforeEach(() => testHelper.beforeEach());
|
|
484
|
+
* afterEach(() => testHelper.afterEach());
|
|
485
|
+
*
|
|
486
|
+
* it('should work', () => {
|
|
487
|
+
* const service = new MyService(testHelper.mockSyntropyLog);
|
|
488
|
+
* // ... test logic
|
|
489
|
+
* });
|
|
490
|
+
* });
|
|
491
|
+
* ```
|
|
492
|
+
*/
|
|
493
|
+
function createTestHelper() {
|
|
494
|
+
const mockSyntropyLog = createSyntropyLogMock();
|
|
495
|
+
return {
|
|
496
|
+
mockSyntropyLog,
|
|
497
|
+
beforeEach: () => {
|
|
498
|
+
resetSyntropyLogMocks();
|
|
499
|
+
},
|
|
500
|
+
afterEach: () => {
|
|
501
|
+
// Clean up if needed
|
|
502
|
+
}
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Create a service with SyntropyLog mock for testing
|
|
507
|
+
*
|
|
508
|
+
* @param ServiceClass - The service class to instantiate
|
|
509
|
+
* @param mockSyntropyLog - The mock SyntropyLog instance
|
|
510
|
+
* @returns Instance of the service with mock injected
|
|
511
|
+
*
|
|
512
|
+
* @example
|
|
513
|
+
* ```typescript
|
|
514
|
+
* const mockSyntropyLog = createSyntropyLogMock();
|
|
515
|
+
* const userService = createServiceWithMock(UserService, mockSyntropyLog);
|
|
516
|
+
* ```
|
|
517
|
+
*/
|
|
518
|
+
function createServiceWithMock(ServiceClass, mockSyntropyLog) {
|
|
519
|
+
return new ServiceClass(mockSyntropyLog);
|
|
520
|
+
}
|
|
521
|
+
|
|
310
522
|
/**
|
|
311
523
|
* @file src/testing/index.ts
|
|
312
524
|
* @description Public entry point for testing utilities.
|
|
@@ -318,4 +530,18 @@ class SpyTransport extends Transport {
|
|
|
318
530
|
|
|
319
531
|
exports.MockContextManager = MockContextManager;
|
|
320
532
|
exports.SpyTransport = SpyTransport;
|
|
533
|
+
exports.createMockBrokerManager = createMockBrokerManager;
|
|
534
|
+
exports.createMockContextManager = createMockContextManager;
|
|
535
|
+
exports.createMockHttpManager = createMockHttpManager;
|
|
536
|
+
exports.createMockLogger = createMockLogger;
|
|
537
|
+
exports.createMockSerializationManager = createMockSerializationManager;
|
|
538
|
+
exports.createServiceWithMock = createServiceWithMock;
|
|
539
|
+
exports.createSyntropyLogMock = createSyntropyLogMock;
|
|
540
|
+
exports.createTestHelper = createTestHelper;
|
|
541
|
+
exports.getMockBrokerManager = getMockBrokerManager;
|
|
542
|
+
exports.getMockContextManager = getMockContextManager;
|
|
543
|
+
exports.getMockHttpManager = getMockHttpManager;
|
|
544
|
+
exports.getMockLogger = getMockLogger;
|
|
545
|
+
exports.getMockSerializationManager = getMockSerializationManager;
|
|
546
|
+
exports.resetSyntropyLogMocks = resetSyntropyLogMocks;
|
|
321
547
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/context/MockContextManager.ts","../../src/logger/levels.ts","../../src/logger/transports/Transport.ts","../../src/logger/transports/SpyTransport.ts","../../src/testing/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["randomUUID"],"mappings":";;;;AAAA;;;;AAIG;AAcH;;;;;;AAMG;MACU,kBAAkB,CAAA;AAA/B,IAAA,WAAA,GAAA;;QAEU,IAAK,CAAA,KAAA,GAAgB,EAAE,CAAC;;QAExB,IAAmB,CAAA,mBAAA,GAAG,kBAAkB,CAAC;;QAEzC,IAAmB,CAAA,mBAAA,GAAG,YAAY,CAAC;KAkK5C;AAhKC;;;;;AAKG;AACI,IAAA,SAAS,CAAC,OAAuB,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE,mBAAmB,EAAE;AAChC,YAAA,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;SACxD;AACD,QAAA,IAAI,OAAO,EAAE,mBAAmB,EAAE;AAChC,YAAA,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;SACxD;KACF;AAED;;;;;;;;AAQG;IACI,MAAM,GAAG,CAAC,EAAmB,EAAA;;AAElC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAE/B,QAAA,IAAI;;YAEF,MAAM,EAAE,EAAE,CAAC;SACZ;gBAAS;;AAER,YAAA,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;SAC5B;KACF;AAED;;;;;AAKG;AACH,IAAA,GAAG,CAAmB,GAAW,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;KACzC;AAED;;;AAGG;IACH,MAAM,GAAA;;AAEJ,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;KAC1B;AAED;;;;;AAKG;IACH,GAAG,CAAC,GAAW,EAAE,KAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KACzB;AAED;;;;AAIG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;AAED;;;AAGG;IACH,gBAAgB,GAAA;;QAEd,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACvD,aAAa,GAAGA,iBAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;SACnD;AACD,QAAA,OAAO,aAAuB,CAAC;KAChC;AAED;;;AAGG;IACH,gBAAgB,GAAA;;AAEd,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAClC;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,aAAqB,EAAA;;AAEpC,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;KAC1C;AAED;;;AAGG;IACH,0BAA0B,GAAA;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;AAED;;;AAGG;IACH,0BAA0B,GAAA;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;AAED;;;;AAIG;IACI,sBAAsB,GAAA;QAC3B,MAAM,OAAO,GAAmB,EAAE,CAAC;;AAEnC,QAAA,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,OAAO,CAAC;SAChB;AACD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC9C,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAG,aAAa,CAAC;SAC5D;QACD,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAG,aAAa,CAAC;SAC5D;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;IAEM,kBAAkB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;KACtB;AAED;;;;;AAKG;AACI,IAAA,wBAAwB,CAAC,SAAwB,EAAA;;;KAGvD;AACF;;ACjMD;;;AAGG;AAEH;;;AAGG;AACI,MAAM,iBAAiB,GAAG;AAC/B,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,MAAM,EAAE,CAAC;CACD,CAAC;AAEX;;AAEG;AACI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAClC,iBAAiB,CACoB;;ACxBvC;;;AAGG;AAgCH;;;;;AAKG;MACmB,SAAS,CAAA;AAQ7B;;;AAGG;AACH,IAAA,WAAA,CAAY,UAA4B,EAAE,EAAA;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AACrC,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAClD,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;AACpC,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,CAAC;KACvD;AAED;;;;AAIG;AACH,IAAA,cAAc,CAAC,KAAe,EAAA;QAC5B,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClE;AAUD;;;;AAIG;AACI,IAAA,MAAM,KAAK,GAAA;;AAEhB,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;AACF;;AC/ED;;;;;AAKG;AACG,MAAO,YAAa,SAAQ,SAAS,CAAA;AAGzC;;;AAGG;AACH,IAAA,WAAA,CAAY,OAA0B,EAAA;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAPT,IAAO,CAAA,OAAA,GAAe,EAAE,CAAC;KAQhC;AAED;;;;AAIG;IACI,MAAM,GAAG,CAAC,KAAe,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED;;;AAGG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;KAC1B;AAED;;;;;AAKG;AACI,IAAA,WAAW,CAChB,SAA6D,EAAA;AAE7D,QAAA,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;;YAEnC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACvC;;QAGD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAI;AACnC,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAI;gBAC1C,MAAM,CAAC,GAAG,GAAqB,CAAC;gBAChC,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED;;;;AAIG;IACI,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED;;;AAGG;IACI,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACxB;AAED;;;AAGG;IACI,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC9C;AACF;;
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/context/MockContextManager.ts","../../src/logger/levels.ts","../../src/logger/transports/Transport.ts","../../src/logger/transports/SpyTransport.ts","../../src/testing/SyntropyLogMock.ts","../../src/testing/test-helper.ts","../../src/testing/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["randomUUID"],"mappings":"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"}
|