frame.soap 1.2.4 → 1.2.5

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,151 @@
1
+ import type { TDiameterRequest, TDiameterRESTRequest, TSide } from '../types';
2
+ /**
3
+ * Mock Data Generator for SOAP Test Services
4
+ * Provides realistic test data for comprehensive testing scenarios
5
+ */
6
+ export declare class SoapTestDataGenerator {
7
+ /**
8
+ * Generate mock diameter request with configurable parameters
9
+ */
10
+ static createMockDiameterRequest(overrides?: Partial<TDiameterRequest>): TDiameterRequest;
11
+ /**
12
+ * Generate mock side data
13
+ */
14
+ static createMockSide(identifier: string): TSide;
15
+ /**
16
+ * Generate mock REST request
17
+ */
18
+ static createMockRESTRequest(overrides?: Partial<TDiameterRESTRequest>): TDiameterRESTRequest;
19
+ /**
20
+ * Generate edge case test data
21
+ */
22
+ static createEdgeCaseData(): {
23
+ bkWunschMin: number;
24
+ bkWunschMax: number;
25
+ bkWunschInvalid: number[];
26
+ invalidOrderCodes: (string | null | undefined)[];
27
+ invalidLanguages: (string | null | undefined)[];
28
+ extremeOpticalValues: {
29
+ sph: number[];
30
+ zyl: number[];
31
+ ach: number[];
32
+ add: number[];
33
+ };
34
+ invalidCentering: {
35
+ zentrHor: (string | number)[];
36
+ zentrVer: (string | number)[];
37
+ };
38
+ };
39
+ }
40
+ /**
41
+ * Performance Testing Utilities
42
+ */
43
+ export declare class SoapPerformanceTester {
44
+ private static measurements;
45
+ static measureFunction<T>(name: string, fn: () => Promise<T>, iterations?: number): Promise<PerformanceMetrics>;
46
+ static measureConcurrentRequests<T>(name: string, fn: () => Promise<T>, concurrency?: number): Promise<ConcurrencyMetrics>;
47
+ }
48
+ /**
49
+ * Data Validation Utilities
50
+ */
51
+ export declare class SoapDataValidator {
52
+ /**
53
+ * Validate TDiameterRequest structure
54
+ */
55
+ static validateDiameterRequest(request: any): ValidationResult;
56
+ /**
57
+ * Validate TSide structure
58
+ */
59
+ static validateSide(side: any, sideName: string): ValidationResult;
60
+ }
61
+ /**
62
+ * Test Suite Orchestrator
63
+ */
64
+ export declare class SoapTestSuite {
65
+ private formDataRequests;
66
+ private diameterRequests;
67
+ private traceRequests;
68
+ private results;
69
+ constructor();
70
+ runComprehensiveTests(): Promise<ComprehensiveTestResults>;
71
+ private runFormDataTests;
72
+ private runDiameterTests;
73
+ private runTraceTests;
74
+ private runPerformanceTests;
75
+ private runEdgeCaseTests;
76
+ private runValidationTests;
77
+ private executeTestGroup;
78
+ private testBrandRetrieval;
79
+ private testMultiLanguageSupport;
80
+ private testModelRetrieval;
81
+ private testFormKeyRequests;
82
+ private testDiameterCalculation;
83
+ private testRESTDiameterAPI;
84
+ private testStempelGravurFeatures;
85
+ private testDiameterErrorHandling;
86
+ private testTraceLogging;
87
+ private testDiameterCalculationLogging;
88
+ private testBrandRetrievalPerformance;
89
+ private testDiameterCalculationPerformance;
90
+ private testConcurrentRequests;
91
+ private testBoundaryValues;
92
+ private testInvalidInputs;
93
+ private testExtremeOpticalValues;
94
+ private testDataSchemaValidation;
95
+ private testTypeValidation;
96
+ private testRequiredFieldValidation;
97
+ }
98
+ export interface PerformanceMetrics {
99
+ name: string;
100
+ iterations: number;
101
+ times: number[];
102
+ averageTime: number;
103
+ minTime: number;
104
+ maxTime: number;
105
+ medianTime: number;
106
+ totalTime: number;
107
+ }
108
+ export interface ConcurrencyMetrics {
109
+ name: string;
110
+ concurrency: number;
111
+ successful: number;
112
+ failed: number;
113
+ totalTime: number;
114
+ requestsPerSecond: number;
115
+ successRate: number;
116
+ }
117
+ export interface ValidationResult {
118
+ isValid: boolean;
119
+ errors: string[];
120
+ warnings: string[];
121
+ }
122
+ export interface TestResult {
123
+ groupName: string;
124
+ passed: number;
125
+ failed: number;
126
+ warnings: number;
127
+ details: string[];
128
+ }
129
+ export interface TestSuiteResult {
130
+ name: string;
131
+ success: boolean;
132
+ duration: number;
133
+ details: string;
134
+ }
135
+ export interface ComprehensiveTestResults {
136
+ formDataTests: TestResult;
137
+ diameterTests: TestResult;
138
+ traceTests: TestResult;
139
+ performanceTests: TestResult;
140
+ edgeCaseTests: TestResult;
141
+ validationTests: TestResult;
142
+ startTime: Date;
143
+ endTime: Date;
144
+ totalDuration: number;
145
+ overallSummary: {
146
+ passed: number;
147
+ failed: number;
148
+ warnings: number;
149
+ };
150
+ }
151
+ //# sourceMappingURL=SoapTestSuite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoapTestSuite.d.ts","sourceRoot":"","sources":["../../src/__tests__/SoapTestSuite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,572 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SoapTestSuite = exports.SoapDataValidator = exports.SoapPerformanceTester = exports.SoapTestDataGenerator = void 0;
7
+ const formDataRequests_1 = __importDefault(require("../formDataRequests"));
8
+ const diameterRequests_1 = __importDefault(require("../diameterRequests"));
9
+ const traceRequests_1 = __importDefault(require("../traceRequests"));
10
+ const SoapError_1 = require("../SoapError");
11
+ /**
12
+ * Mock Data Generator for SOAP Test Services
13
+ * Provides realistic test data for comprehensive testing scenarios
14
+ */
15
+ class SoapTestDataGenerator {
16
+ /**
17
+ * Generate mock diameter request with configurable parameters
18
+ */
19
+ static createMockDiameterRequest(overrides) {
20
+ const defaultRequest = {
21
+ orderCode: 'TEST_ORDER_001',
22
+ bkWunsch: 65,
23
+ einschleifAuftrag: true,
24
+ left: this.createMockSide('LEFT'),
25
+ right: this.createMockSide('RIGHT'),
26
+ };
27
+ return { ...defaultRequest, ...overrides };
28
+ }
29
+ /**
30
+ * Generate mock side data
31
+ */
32
+ static createMockSide(identifier) {
33
+ return {
34
+ mdmKz: `MDM_${identifier}`,
35
+ fassung: {
36
+ formRadii: '24242481254226052669272027492742268325692427228721582041193818491771170016381583153514921456142313951371134913331318130713001297129512961301130813191332134813681391141914501487152915781632169317611838192620262139226524022545265827142725271126882669265126422636263626392641264126392625259225132391226721542050195518701794172616661611156215181479144614151389136713471330131613061299129412931295130013061315132613411359137914031430145914931530157116171665171617701826188219381991203920792117215321912232227523202370',
37
+ sl: 52.8,
38
+ sh: 25.9,
39
+ bw: 20.39,
40
+ vn: 1.0,
41
+ fsw: 7.7,
42
+ groove: {
43
+ edgeThicknessMin: 0.5,
44
+ width1: 1.5,
45
+ depth1: 1.5,
46
+ fromAngle1: 0,
47
+ toAngle1: 0,
48
+ },
49
+ facPos: 17,
50
+ facRef: 18,
51
+ },
52
+ wirkung: {
53
+ sphZylAch: { sph: -2.5, zyl: -1.0, ach: 90 },
54
+ add: 2.0,
55
+ prisma1: { prisma: 0.5, basis: 180 },
56
+ prisma2: { prisma: 0, basis: 0 },
57
+ },
58
+ zentrierung: {
59
+ zentrHor: 32,
60
+ zentrVerfahrenHor: 'STANDARDZENTIERUNG',
61
+ zentrVer: 18,
62
+ zentrVerfahrenVer: 'STANDARDZENTIERUNG',
63
+ zentrierKorrBeruecksichtigtHor: true,
64
+ zentrierKorrBeruecksichtigtVer: true,
65
+ },
66
+ };
67
+ }
68
+ /**
69
+ * Generate mock REST request
70
+ */
71
+ static createMockRESTRequest(overrides) {
72
+ const defaultRequest = {
73
+ auftragId: 'TEST_AUFTRAG_001',
74
+ externeAuftragId: 'EXT_TEST_001',
75
+ language: 'de',
76
+ stempelGravurPkte: 'ALLESTEMPEL',
77
+ eingabeDurchmesser: {
78
+ links: {
79
+ orderProdukt: 'TEST_IOFK',
80
+ mdmkz: 'J',
81
+ fassung: {
82
+ radien: '25952626266026982735276927992820283228302814278727492703265025952540248624362388234323032267223622092185216421482135212621222122212521332144216021812204223422662305234923972451251125762646271927922864292929742999300029822949290428532804276027192679264426122584256025392522250824982491248824872488249224942493248724732455243124032372233723042274224522202198217821642152214321382135213521372141214921592171218822082229225222772302233023542379240024182434244624552459246324662468247224762480248724962509252525452568',
83
+ sl: 53.7,
84
+ sh: 42.8,
85
+ bw: 18.0,
86
+ vn: 6.0,
87
+ fsw: 10.0,
88
+ },
89
+ wirkung: {
90
+ sphZylAchFerne: {
91
+ sph: 2.0,
92
+ zyl: 1.0,
93
+ ach: 80.0,
94
+ },
95
+ add: 1.0,
96
+ prisma1: {
97
+ prisma: 2.0,
98
+ basis: 30.0,
99
+ },
100
+ prisma2: {
101
+ prisma: 1.0,
102
+ basis: 140.0,
103
+ },
104
+ },
105
+ zentrierung: {
106
+ zentrHor: 35.0,
107
+ zentrVerfahrenHor: 'P',
108
+ zentrVer: 26.0,
109
+ zentrVerfahrenVer: 'y',
110
+ },
111
+ },
112
+ rechts: {
113
+ orderProdukt: 'TEST_IOFK',
114
+ mdmkz: 'J',
115
+ fassung: {
116
+ radien: '25952626266026982735276927992820283228302814278727492703265025952540248624362388234323032267223622092185216421482135212621222122212521332144216021812204223422662305234923972451251125762646271927922864292929742999300029822949290428532804276027192679264426122584256025392522250824982491248824872488249224942493248724732455243124032372233723042274224522202198217821642152214321382135213521372141214921592171218822082229225222772302233023542379240024182434244624552459246324662468247224762480248724962509252525452568',
117
+ sl: 53.7,
118
+ sh: 42.8,
119
+ bw: 18.0,
120
+ vn: 6.0,
121
+ fsw: 10.0,
122
+ },
123
+ wirkung: {
124
+ sphZylAchFerne: {
125
+ sph: 2.0,
126
+ zyl: 1.0,
127
+ ach: 10.0,
128
+ },
129
+ add: 1.0,
130
+ prisma1: {
131
+ prisma: 2.0,
132
+ basis: 30.0,
133
+ },
134
+ prisma2: {
135
+ prisma: 1.0,
136
+ basis: 140.0,
137
+ },
138
+ },
139
+ zentrierung: {
140
+ zentrHor: 36.0,
141
+ zentrVerfahrenHor: 'P',
142
+ zentrVer: 26.0,
143
+ zentrVerfahrenVer: 'y',
144
+ },
145
+ },
146
+ },
147
+ bkAngleich: true,
148
+ prismenAufteilen: true,
149
+ };
150
+ return { ...defaultRequest, ...overrides };
151
+ }
152
+ /**
153
+ * Generate edge case test data
154
+ */
155
+ static createEdgeCaseData() {
156
+ return {
157
+ // Boundary values for bkWunsch
158
+ bkWunschMin: 0,
159
+ bkWunschMax: 100,
160
+ bkWunschInvalid: [-1, 101, 999],
161
+ // Invalid order codes
162
+ invalidOrderCodes: [
163
+ '',
164
+ null,
165
+ undefined,
166
+ 'TOOLONG_ORDER_CODE_12345678901234567890',
167
+ ],
168
+ // Invalid language codes
169
+ invalidLanguages: ['XX', 'invalid', '', null, undefined],
170
+ // Extreme optical values
171
+ extremeOpticalValues: {
172
+ sph: [-20, 20, 0.01, -0.01],
173
+ zyl: [-10, 10, 0.25, -0.25],
174
+ ach: [0, 180, 359, -1, 181],
175
+ add: [0, 5, 10, -1],
176
+ },
177
+ // Invalid centering values
178
+ invalidCentering: {
179
+ zentrHor: [-100, 100, 0.1, 'invalid'],
180
+ zentrVer: [-100, 100, 0.1, 'invalid'],
181
+ },
182
+ };
183
+ }
184
+ }
185
+ exports.SoapTestDataGenerator = SoapTestDataGenerator;
186
+ /**
187
+ * Performance Testing Utilities
188
+ */
189
+ class SoapPerformanceTester {
190
+ static async measureFunction(name, fn, iterations = 5) {
191
+ const times = [];
192
+ let result;
193
+ // Warmup
194
+ await fn();
195
+ for (let i = 0; i < iterations; i++) {
196
+ const start = performance.now();
197
+ result = await fn();
198
+ const end = performance.now();
199
+ times.push(end - start);
200
+ }
201
+ return {
202
+ name,
203
+ iterations,
204
+ times,
205
+ averageTime: times.reduce((a, b) => a + b) / times.length,
206
+ minTime: Math.min(...times),
207
+ maxTime: Math.max(...times),
208
+ medianTime: times.sort()[Math.floor(times.length / 2)],
209
+ totalTime: times.reduce((a, b) => a + b),
210
+ };
211
+ }
212
+ static async measureConcurrentRequests(name, fn, concurrency = 10) {
213
+ const startTime = performance.now();
214
+ const promises = Array(concurrency)
215
+ .fill(null)
216
+ .map(() => fn());
217
+ const results = await Promise.allSettled(promises);
218
+ const endTime = performance.now();
219
+ const successful = results.filter((r) => r.status === 'fulfilled').length;
220
+ const failed = results.filter((r) => r.status === 'rejected').length;
221
+ return {
222
+ name,
223
+ concurrency,
224
+ successful,
225
+ failed,
226
+ totalTime: endTime - startTime,
227
+ requestsPerSecond: successful / ((endTime - startTime) / 1000),
228
+ successRate: (successful / concurrency) * 100,
229
+ };
230
+ }
231
+ }
232
+ exports.SoapPerformanceTester = SoapPerformanceTester;
233
+ SoapPerformanceTester.measurements = [];
234
+ /**
235
+ * Data Validation Utilities
236
+ */
237
+ class SoapDataValidator {
238
+ /**
239
+ * Validate TDiameterRequest structure
240
+ */
241
+ static validateDiameterRequest(request) {
242
+ const errors = [];
243
+ const warnings = [];
244
+ if (!request) {
245
+ errors.push('Request is null or undefined');
246
+ return { isValid: false, errors, warnings };
247
+ }
248
+ // Required fields
249
+ if (!request.orderCode || typeof request.orderCode !== 'string') {
250
+ errors.push('orderCode is required and must be a string');
251
+ }
252
+ if (typeof request.bkWunsch !== 'number') {
253
+ errors.push('bkWunsch is required and must be a number');
254
+ }
255
+ else if (request.bkWunsch < 0 || request.bkWunsch > 100) {
256
+ warnings.push('bkWunsch should be between 0 and 100');
257
+ }
258
+ if (typeof request.einschleifAuftrag !== 'boolean') {
259
+ errors.push('einschleifAuftrag is required and must be a boolean');
260
+ }
261
+ // Validate sides
262
+ if (!request.left) {
263
+ errors.push('left side is required');
264
+ }
265
+ else {
266
+ const leftValidation = this.validateSide(request.left, 'left');
267
+ errors.push(...leftValidation.errors);
268
+ warnings.push(...leftValidation.warnings);
269
+ }
270
+ if (!request.right) {
271
+ errors.push('right side is required');
272
+ }
273
+ else {
274
+ const rightValidation = this.validateSide(request.right, 'right');
275
+ errors.push(...rightValidation.errors);
276
+ warnings.push(...rightValidation.warnings);
277
+ }
278
+ return {
279
+ isValid: errors.length === 0,
280
+ errors,
281
+ warnings,
282
+ };
283
+ }
284
+ /**
285
+ * Validate TSide structure
286
+ */
287
+ static validateSide(side, sideName) {
288
+ const errors = [];
289
+ const warnings = [];
290
+ if (!side.mdmKz || typeof side.mdmKz !== 'string') {
291
+ errors.push(`${sideName}.mdmKz is required and must be a string`);
292
+ }
293
+ if (!side.fassung) {
294
+ errors.push(`${sideName}.fassung is required`);
295
+ }
296
+ if (!side.wirkung) {
297
+ errors.push(`${sideName}.wirkung is required`);
298
+ }
299
+ if (!side.zentrierung) {
300
+ errors.push(`${sideName}.zentrierung is required`);
301
+ }
302
+ return {
303
+ isValid: errors.length === 0,
304
+ errors,
305
+ warnings,
306
+ };
307
+ }
308
+ }
309
+ exports.SoapDataValidator = SoapDataValidator;
310
+ /**
311
+ * Test Suite Orchestrator
312
+ */
313
+ class SoapTestSuite {
314
+ constructor() {
315
+ this.results = [];
316
+ this.formDataRequests = new formDataRequests_1.default();
317
+ this.diameterRequests = new diameterRequests_1.default();
318
+ this.traceRequests = new traceRequests_1.default();
319
+ }
320
+ async runComprehensiveTests() {
321
+ const startTime = performance.now();
322
+ console.log('🧪 Starting Comprehensive SOAP Service Tests...');
323
+ const results = {
324
+ formDataTests: await this.runFormDataTests(),
325
+ diameterTests: await this.runDiameterTests(),
326
+ traceTests: await this.runTraceTests(),
327
+ performanceTests: await this.runPerformanceTests(),
328
+ edgeCaseTests: await this.runEdgeCaseTests(),
329
+ validationTests: await this.runValidationTests(),
330
+ startTime: new Date(),
331
+ endTime: new Date(),
332
+ totalDuration: 0,
333
+ overallSummary: { passed: 0, failed: 0, warnings: 0 },
334
+ };
335
+ const endTime = performance.now();
336
+ results.totalDuration = endTime - startTime;
337
+ results.endTime = new Date();
338
+ // Calculate overall summary
339
+ [
340
+ results.formDataTests,
341
+ results.diameterTests,
342
+ results.traceTests,
343
+ results.performanceTests,
344
+ results.edgeCaseTests,
345
+ results.validationTests,
346
+ ].forEach((testResult) => {
347
+ if (testResult) {
348
+ results.overallSummary.passed += testResult.passed || 0;
349
+ results.overallSummary.failed += testResult.failed || 0;
350
+ results.overallSummary.warnings += testResult.warnings || 0;
351
+ }
352
+ });
353
+ console.log('āœ… Comprehensive testing completed!');
354
+ console.log(`šŸ“Š Results: ${results.overallSummary.passed} passed, ${results.overallSummary.failed} failed, ${results.overallSummary.warnings} warnings`);
355
+ return results;
356
+ }
357
+ async runFormDataTests() {
358
+ console.log('šŸ“‹ Testing FormData Services...');
359
+ const tests = [
360
+ () => this.testBrandRetrieval(),
361
+ () => this.testMultiLanguageSupport(),
362
+ () => this.testModelRetrieval(),
363
+ () => this.testFormKeyRequests(),
364
+ ];
365
+ return await this.executeTestGroup('FormData Services', tests);
366
+ }
367
+ async runDiameterTests() {
368
+ console.log('šŸ“ Testing Diameter Services...');
369
+ const tests = [
370
+ () => this.testDiameterCalculation(),
371
+ () => this.testRESTDiameterAPI(),
372
+ () => this.testStempelGravurFeatures(),
373
+ () => this.testDiameterErrorHandling(),
374
+ ];
375
+ return await this.executeTestGroup('Diameter Services', tests);
376
+ }
377
+ async runTraceTests() {
378
+ console.log('šŸ” Testing Trace Services...');
379
+ const tests = [
380
+ () => this.testTraceLogging(),
381
+ () => this.testDiameterCalculationLogging(),
382
+ ];
383
+ return await this.executeTestGroup('Trace Services', tests);
384
+ }
385
+ async runPerformanceTests() {
386
+ console.log('⚔ Running Performance Tests...');
387
+ const tests = [
388
+ () => this.testBrandRetrievalPerformance(),
389
+ () => this.testDiameterCalculationPerformance(),
390
+ () => this.testConcurrentRequests(),
391
+ ];
392
+ return await this.executeTestGroup('Performance Tests', tests);
393
+ }
394
+ async runEdgeCaseTests() {
395
+ console.log('šŸ”¬ Testing Edge Cases...');
396
+ const tests = [
397
+ () => this.testBoundaryValues(),
398
+ () => this.testInvalidInputs(),
399
+ () => this.testExtremeOpticalValues(),
400
+ ];
401
+ return await this.executeTestGroup('Edge Case Tests', tests);
402
+ }
403
+ async runValidationTests() {
404
+ console.log('āœ… Running Data Validation Tests...');
405
+ const tests = [
406
+ () => this.testDataSchemaValidation(),
407
+ () => this.testTypeValidation(),
408
+ () => this.testRequiredFieldValidation(),
409
+ ];
410
+ return await this.executeTestGroup('Data Validation Tests', tests);
411
+ }
412
+ async executeTestGroup(groupName, tests) {
413
+ let passed = 0;
414
+ let failed = 0;
415
+ let warnings = 0;
416
+ const details = [];
417
+ for (const test of tests) {
418
+ try {
419
+ const result = await test();
420
+ if (result) {
421
+ passed++;
422
+ details.push(`āœ… Test passed`);
423
+ }
424
+ else {
425
+ warnings++;
426
+ details.push(`āš ļø Test completed with warnings`);
427
+ }
428
+ }
429
+ catch (error) {
430
+ failed++;
431
+ details.push(`āŒ Test failed: ${error instanceof Error ? error.message : String(error)}`);
432
+ }
433
+ }
434
+ return { groupName, passed, failed, warnings, details };
435
+ }
436
+ // Individual test implementations
437
+ async testBrandRetrieval() {
438
+ const brands = await this.formDataRequests.easyRequestBrands('DE');
439
+ return brands && brands.length > 0;
440
+ }
441
+ async testMultiLanguageSupport() {
442
+ const languages = ['DE', 'EN', 'IT'];
443
+ const results = await Promise.all(languages.map((lang) => this.formDataRequests.easyRequestBrands(lang)));
444
+ return results.every((result) => result && result.length > 0);
445
+ }
446
+ async testModelRetrieval() {
447
+ const models = await this.formDataRequests.easyRequestModels('BOL');
448
+ return models && models.length > 0;
449
+ }
450
+ async testFormKeyRequests() {
451
+ const formkey = await this.formDataRequests.easyRequestFormkey('BOL0000000000000001196466120000');
452
+ return formkey && formkey.Formkey === 'BOL0000000000000001196466120000';
453
+ }
454
+ async testDiameterCalculation() {
455
+ const mockRequest = SoapTestDataGenerator.createMockDiameterRequest();
456
+ const result = await this.diameterRequests.easyRequestDiameter(mockRequest);
457
+ return !!(result && result.Left && result.Right);
458
+ }
459
+ async testRESTDiameterAPI() {
460
+ const mockRequest = SoapTestDataGenerator.createMockRESTRequest();
461
+ const diameter = await this.diameterRequests.easyRequestSimpleDiameter(mockRequest);
462
+ return !!(diameter && diameter.ausgabeDurchmesser);
463
+ }
464
+ async testStempelGravurFeatures() {
465
+ const mockRequest = SoapTestDataGenerator.createMockRESTRequest({
466
+ stempelGravurPkte: 'ALLESTEMPEL',
467
+ });
468
+ const result = await this.diameterRequests.easyRequestSimpleDiameter(mockRequest);
469
+ return !!(result && result.ausgabeDurchmesser?.links?.stempelGravuren);
470
+ }
471
+ async testDiameterErrorHandling() {
472
+ try {
473
+ // Test with invalid data that should trigger an error
474
+ await this.diameterRequests.easyRequestDiameter(null);
475
+ return false; // Should have thrown an error
476
+ }
477
+ catch (error) {
478
+ return error instanceof SoapError_1.SoapError || error instanceof Error;
479
+ }
480
+ }
481
+ async testTraceLogging() {
482
+ const result = await this.traceRequests.easyLog('Test message from comprehensive test suite');
483
+ return result === 'message sent';
484
+ }
485
+ async testDiameterCalculationLogging() {
486
+ const result = await this.traceRequests.easyDiameterCalcLog('Test diameter calculation log', 'TEST_LENS_CODE');
487
+ return typeof result === 'string';
488
+ }
489
+ async testBrandRetrievalPerformance() {
490
+ const metrics = await SoapPerformanceTester.measureFunction('Brand Retrieval', () => this.formDataRequests.easyRequestBrands('DE'), 3);
491
+ // Performance should be under 10 seconds on average
492
+ return metrics.averageTime < 10000;
493
+ }
494
+ async testDiameterCalculationPerformance() {
495
+ const mockRequest = SoapTestDataGenerator.createMockDiameterRequest();
496
+ const metrics = await SoapPerformanceTester.measureFunction('Diameter Calculation', () => this.diameterRequests.easyRequestDiameter(mockRequest), 3);
497
+ return metrics.averageTime < 15000; // 15 second threshold
498
+ }
499
+ async testConcurrentRequests() {
500
+ const metrics = await SoapPerformanceTester.measureConcurrentRequests('Concurrent Brand Requests', () => this.formDataRequests.easyRequestBrands('DE'), 5);
501
+ return metrics.successRate > 80; // 80% success rate threshold
502
+ }
503
+ async testBoundaryValues() {
504
+ const edgeData = SoapTestDataGenerator.createEdgeCaseData();
505
+ // Test boundary values for bkWunsch
506
+ const validBkWunschRequest = SoapTestDataGenerator.createMockDiameterRequest({
507
+ bkWunsch: edgeData.bkWunschMin,
508
+ });
509
+ try {
510
+ await this.diameterRequests.easyRequestDiameter(validBkWunschRequest);
511
+ return true;
512
+ }
513
+ catch (error) {
514
+ return false;
515
+ }
516
+ }
517
+ async testInvalidInputs() {
518
+ const edgeData = SoapTestDataGenerator.createEdgeCaseData();
519
+ try {
520
+ // Test with invalid language
521
+ await this.formDataRequests.easyRequestBrands(edgeData.invalidLanguages[0]);
522
+ return false; // Should have failed
523
+ }
524
+ catch (error) {
525
+ return true; // Expected to fail
526
+ }
527
+ }
528
+ async testExtremeOpticalValues() {
529
+ const extremeRequest = SoapTestDataGenerator.createMockDiameterRequest({
530
+ left: {
531
+ ...SoapTestDataGenerator.createMockSide('LEFT'),
532
+ wirkung: {
533
+ ...SoapTestDataGenerator.createMockSide('LEFT').wirkung,
534
+ sphZylAch: { sph: 20, zyl: 10, ach: 180 }, // Extreme but valid values
535
+ },
536
+ },
537
+ });
538
+ try {
539
+ await this.diameterRequests.easyRequestDiameter(extremeRequest);
540
+ return true;
541
+ }
542
+ catch (error) {
543
+ return error instanceof SoapError_1.SoapError; // Expected SOAP error for extreme values
544
+ }
545
+ }
546
+ async testDataSchemaValidation() {
547
+ const mockRequest = SoapTestDataGenerator.createMockDiameterRequest();
548
+ const validation = SoapDataValidator.validateDiameterRequest(mockRequest);
549
+ return validation.isValid;
550
+ }
551
+ async testTypeValidation() {
552
+ const invalidRequest = {
553
+ orderCode: 123, // Should be string
554
+ bkWunsch: 'invalid', // Should be number
555
+ einschleifAuftrag: 'true', // Should be boolean
556
+ left: null,
557
+ right: null,
558
+ };
559
+ const validation = SoapDataValidator.validateDiameterRequest(invalidRequest);
560
+ return !validation.isValid && validation.errors.length > 0;
561
+ }
562
+ async testRequiredFieldValidation() {
563
+ const incompleteRequest = {
564
+ orderCode: 'TEST',
565
+ // Missing required fields
566
+ };
567
+ const validation = SoapDataValidator.validateDiameterRequest(incompleteRequest);
568
+ return !validation.isValid && validation.errors.length > 0;
569
+ }
570
+ }
571
+ exports.SoapTestSuite = SoapTestSuite;
572
+ //# sourceMappingURL=SoapTestSuite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SoapTestSuite.js","sourceRoot":"","sources":["../../src/__tests__/SoapTestSuite.ts"],"names":[],"mappings":";;;;;;AASA,2EAAmD;AACnD,2EAAmD;AACnD,qEAA6C;AAC7C,4CAAyC;AAGzC;;;GAGG;AACH,MAAa,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,SAAqC;QAErC,MAAM,cAAc,GAAqB;YACvC,SAAS,EAAE,gBAAgB;YAC3B,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;SACpC,CAAC;QAEF,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAkB;QACtC,OAAO;YACL,KAAK,EAAE,OAAO,UAAU,EAAE;YAC1B,OAAO,EAAE;gBACP,SAAS,EACP,kgBAAkgB;gBACpgB,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,GAAG;gBACP,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE;oBACN,gBAAgB,EAAE,GAAG;oBACrB,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;iBACZ;gBACD,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACJ;YACR,OAAO,EAAE;gBACP,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC5C,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBACpC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;aAC1B;YACR,WAAW,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,iBAAiB,EAAE,oBAAoB;gBACvC,QAAQ,EAAE,EAAE;gBACZ,iBAAiB,EAAE,oBAAoB;gBACvC,8BAA8B,EAAE,IAAI;gBACpC,8BAA8B,EAAE,IAAI;aAC9B;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAC1B,SAAyC;QAEzC,MAAM,cAAc,GAAyB;YAC3C,SAAS,EAAE,kBAAkB;YAC7B,gBAAgB,EAAE,cAAc;YAChC,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,aAAa;YAChC,kBAAkB,EAAE;gBAClB,KAAK,EAAE;oBACL,YAAY,EAAE,WAAW;oBACzB,KAAK,EAAE,GAAG;oBACV,OAAO,EAAE;wBACP,MAAM,EACJ,kgBAAkgB;wBACpgB,EAAE,EAAE,IAAI;wBACR,EAAE,EAAE,IAAI;wBACR,EAAE,EAAE,IAAI;wBACR,EAAE,EAAE,GAAG;wBACP,GAAG,EAAE,IAAI;qBACV;oBACD,OAAO,EAAE;wBACP,cAAc,EAAE;4BACd,GAAG,EAAE,GAAG;4BACR,GAAG,EAAE,GAAG;4BACR,GAAG,EAAE,IAAI;yBACV;wBACD,GAAG,EAAE,GAAG;wBACR,OAAO,EAAE;4BACP,MAAM,EAAE,GAAG;4BACX,KAAK,EAAE,IAAI;yBACZ;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,GAAG;4BACX,KAAK,EAAE,KAAK;yBACb;qBACF;oBACD,WAAW,EAAE;wBACX,QAAQ,EAAE,IAAI;wBACd,iBAAiB,EAAE,GAAG;wBACtB,QAAQ,EAAE,IAAI;wBACd,iBAAiB,EAAE,GAAG;qBACvB;iBACF;gBACD,MAAM,EAAE;oBACN,YAAY,EAAE,WAAW;oBACzB,KAAK,EAAE,GAAG;oBACV,OAAO,EAAE;wBACP,MAAM,EACJ,kgBAAkgB;wBACpgB,EAAE,EAAE,IAAI;wBACR,EAAE,EAAE,IAAI;wBACR,EAAE,EAAE,IAAI;wBACR,EAAE,EAAE,GAAG;wBACP,GAAG,EAAE,IAAI;qBACV;oBACD,OAAO,EAAE;wBACP,cAAc,EAAE;4BACd,GAAG,EAAE,GAAG;4BACR,GAAG,EAAE,GAAG;4BACR,GAAG,EAAE,IAAI;yBACV;wBACD,GAAG,EAAE,GAAG;wBACR,OAAO,EAAE;4BACP,MAAM,EAAE,GAAG;4BACX,KAAK,EAAE,IAAI;yBACZ;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,GAAG;4BACX,KAAK,EAAE,KAAK;yBACb;qBACF;oBACD,WAAW,EAAE;wBACX,QAAQ,EAAE,IAAI;wBACd,iBAAiB,EAAE,GAAG;wBACtB,QAAQ,EAAE,IAAI;wBACd,iBAAiB,EAAE,GAAG;qBACvB;iBACF;aACF;YACD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;SACvB,CAAC;QAEF,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO;YACL,+BAA+B;YAC/B,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YAE/B,sBAAsB;YACtB,iBAAiB,EAAE;gBACjB,EAAE;gBACF,IAAI;gBACJ,SAAS;gBACT,yCAAyC;aAC1C;YAED,yBAAyB;YACzB,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC;YAExD,yBAAyB;YACzB,oBAAoB,EAAE;gBACpB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;gBAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;gBAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC3B,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;aACpB;YAED,2BAA2B;YAC3B,gBAAgB,EAAE;gBAChB,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;gBACrC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;aACtC;SACF,CAAC;IACJ,CAAC;CACF;AAzLD,sDAyLC;AAED;;GAEG;AACH,MAAa,qBAAqB;IAGhC,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,IAAY,EACZ,EAAoB,EACpB,aAAqB,CAAC;QAEtB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,MAAS,CAAC;QAEd,SAAS;QACT,MAAM,EAAE,EAAE,CAAC;QAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,IAAI;YACJ,UAAU;YACV,KAAK;YACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM;YACzD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,CACpC,IAAY,EACZ,EAAoB,EACpB,cAAsB,EAAE;QAExB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC;aAChC,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAErE,OAAO;YACL,IAAI;YACJ,WAAW;YACX,UAAU;YACV,MAAM;YACN,SAAS,EAAE,OAAO,GAAG,SAAS;YAC9B,iBAAiB,EAAE,UAAU,GAAG,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;YAC9D,WAAW,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,GAAG;SAC9C,CAAC;IACJ,CAAC;;AA1DH,sDA2DC;AA1DgB,kCAAY,GAAU,EAAE,CAAC;AA4D1C;;GAEG;AACH,MAAa,iBAAiB;IAC5B;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAY;QACzC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAS,EAAE,QAAgB;QAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,yCAAyC,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,0BAA0B,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAjFD,8CAiFC;AAED;;GAEG;AACH,MAAa,aAAa;IAMxB;QAFQ,YAAO,GAAsB,EAAE,CAAC;QAGtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,0BAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,0BAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAE/D,MAAM,OAAO,GAA6B;YACxC,aAAa,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;YAC5C,aAAa,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;YAC5C,UAAU,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE;YACtC,gBAAgB,EAAE,MAAM,IAAI,CAAC,mBAAmB,EAAE;YAClD,aAAa,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE;YAC5C,eAAe,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE;YAChD,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO,EAAE,IAAI,IAAI,EAAE;YACnB,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;SACtD,CAAC;QAEF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;QAC5C,OAAO,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,4BAA4B;QAC5B;YACE,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,gBAAgB;YACxB,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,eAAe;SACxB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACvB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;gBACxD,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;gBACxD,OAAO,CAAC,cAAc,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CACT,eAAe,OAAO,CAAC,cAAc,CAAC,MAAM,YAAY,OAAO,CAAC,cAAc,CAAC,MAAM,YAAY,OAAO,CAAC,cAAc,CAAC,QAAQ,WAAW,CAC5I,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACrC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;SACjC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACpC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAChC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACtC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE;SACvC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,8BAA8B,EAAE;SAC5C,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE;YAC/C,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE;SACpC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;SACtC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAElD,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACrC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE;SACzC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,SAAiB,EACjB,KAAiC;QAEjC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC5B,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,kCAAkC;IAC1B,KAAK,CAAC,kBAAkB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAW,CAAC,CACrD,CACF,CAAC;QACF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAC5D,iCAAiC,CAClC,CAAC;QACF,OAAO,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,iCAAiC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACnC,MAAM,WAAW,GAAG,qBAAqB,CAAC,yBAAyB,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5E,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,qBAAqB,EAAE,CAAC;QAClE,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,WAAW,GAAG,qBAAqB,CAAC,qBAAqB,CAAC;YAC9D,iBAAiB,EAAE,aAAa;SACjC,CAAC,CAAC;QACH,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC;YACH,sDAAsD;YACtD,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAW,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC,CAAC,8BAA8B;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,YAAY,qBAAS,IAAI,KAAK,YAAY,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAC7C,4CAA4C,CAC7C,CAAC;QACF,OAAO,MAAM,KAAK,cAAc,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,8BAA8B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACzD,+BAA+B,EAC/B,gBAAgB,CACjB,CAAC;QACF,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,6BAA6B;QACzC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,eAAe,CACzD,iBAAiB,EACjB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACnD,CAAC,CACF,CAAC;QACF,oDAAoD;QACpD,OAAO,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,kCAAkC;QAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,yBAAyB,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,eAAe,CACzD,sBAAsB,EACtB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAC5D,CAAC,CACF,CAAC;QACF,OAAO,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,sBAAsB;IAC5D,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,yBAAyB,CACnE,2BAA2B,EAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACnD,CAAC,CACF,CAAC;QACF,OAAO,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,6BAA6B;IAChE,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;QAE5D,oCAAoC;QACpC,MAAM,oBAAoB,GACxB,qBAAqB,CAAC,yBAAyB,CAAC;YAC9C,QAAQ,EAAE,QAAQ,CAAC,WAAW;SAC/B,CAAC,CAAC;QAEL,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;QAE5D,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAC3C,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAQ,CACpC,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,qBAAqB;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,CAAC,mBAAmB;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,MAAM,cAAc,GAAG,qBAAqB,CAAC,yBAAyB,CAAC;YACrE,IAAI,EAAE;gBACJ,GAAG,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC/C,OAAO,EAAE;oBACP,GAAG,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO;oBACvD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,2BAA2B;iBAChE;aACT;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,YAAY,qBAAS,CAAC,CAAC,yCAAyC;QAC9E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,MAAM,WAAW,GAAG,qBAAqB,CAAC,yBAAyB,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,cAAc,GAAG;YACrB,SAAS,EAAE,GAAG,EAAE,mBAAmB;YACnC,QAAQ,EAAE,SAAS,EAAE,mBAAmB;YACxC,iBAAiB,EAAE,MAAM,EAAE,oBAAoB;YAC/C,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,MAAM,UAAU,GACd,iBAAiB,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAC5D,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,2BAA2B;QACvC,MAAM,iBAAiB,GAAG;YACxB,SAAS,EAAE,MAAM;YACjB,0BAA0B;SAC3B,CAAC;QAEF,MAAM,UAAU,GACd,iBAAiB,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAC/D,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAzVD,sCAyVC"}
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * SOAP Test Agent - Automated Test Execution Script
4
+ *
5
+ * This script runs comprehensive testing for the Frame SOAP service library
6
+ * and generates detailed reports of test results, performance metrics, and recommendations.
7
+ */
8
+ import { ComprehensiveTestResults } from '../__tests__/SoapTestSuite';
9
+ declare class TestReportGenerator {
10
+ /**
11
+ * Generate a comprehensive HTML report
12
+ */
13
+ static generateHTMLReport(results: ComprehensiveTestResults): string;
14
+ /**
15
+ * Generate HTML for individual test sections
16
+ */
17
+ private static generateTestSectionHTML;
18
+ /**
19
+ * Generate recommendations based on test results
20
+ */
21
+ private static generateRecommendations;
22
+ /**
23
+ * Generate a markdown report
24
+ */
25
+ static generateMarkdownReport(results: ComprehensiveTestResults): string;
26
+ /**
27
+ * Generate markdown recommendations
28
+ */
29
+ private static generateMarkdownRecommendations;
30
+ /**
31
+ * Generate JSON report for programmatic consumption
32
+ */
33
+ static generateJSONReport(results: ComprehensiveTestResults): string;
34
+ }
35
+ /**
36
+ * Main execution function
37
+ */
38
+ declare function main(): Promise<void>;
39
+ /**
40
+ * Quick test function for development
41
+ */
42
+ declare function quickTest(): Promise<void>;
43
+ export { TestReportGenerator, main, quickTest };
44
+ //# sourceMappingURL=test-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-agent.d.ts","sourceRoot":"","sources":["../../src/scripts/test-agent.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAEL,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAIpC,cAAM,mBAAmB;IACvB;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM;IAyFpE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAwCtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA6CtC;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM;IA6DxE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAgC9C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM;CAmCrE;AAED;;GAEG;AACH,iBAAe,IAAI,kBAiElB;AAED;;GAEG;AACH,iBAAe,SAAS,kBAcvB;AAyBD,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,380 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * SOAP Test Agent - Automated Test Execution Script
5
+ *
6
+ * This script runs comprehensive testing for the Frame SOAP service library
7
+ * and generates detailed reports of test results, performance metrics, and recommendations.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.TestReportGenerator = void 0;
11
+ exports.main = main;
12
+ exports.quickTest = quickTest;
13
+ const SoapTestSuite_1 = require("../__tests__/SoapTestSuite");
14
+ const fs_1 = require("fs");
15
+ const path_1 = require("path");
16
+ class TestReportGenerator {
17
+ /**
18
+ * Generate a comprehensive HTML report
19
+ */
20
+ static generateHTMLReport(results) {
21
+ const passRate = ((results.overallSummary.passed /
22
+ (results.overallSummary.passed + results.overallSummary.failed)) *
23
+ 100).toFixed(1);
24
+ return `
25
+ <!DOCTYPE html>
26
+ <html lang="en">
27
+ <head>
28
+ <meta charset="UTF-8">
29
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
30
+ <title>Frame SOAP Service Test Report</title>
31
+ <style>
32
+ body { font-family: Arial, sans-serif; margin: 20px; background-color: #f5f5f5; }
33
+ .container { max-width: 1200px; margin: 0 auto; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
34
+ .header { text-align: center; margin-bottom: 30px; padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 8px; }
35
+ .summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin: 20px 0; }
36
+ .metric { background: #f8f9fa; padding: 15px; border-radius: 8px; text-align: center; border-left: 4px solid #007bff; }
37
+ .metric.success { border-left-color: #28a745; }
38
+ .metric.warning { border-left-color: #ffc107; }
39
+ .metric.error { border-left-color: #dc3545; }
40
+ .metric h3 { margin: 0; font-size: 24px; }
41
+ .metric p { margin: 5px 0 0 0; color: #666; }
42
+ .test-section { margin: 30px 0; padding: 20px; border: 1px solid #dee2e6; border-radius: 8px; }
43
+ .test-section h2 { color: #495057; border-bottom: 2px solid #e9ecef; padding-bottom: 10px; }
44
+ .test-details { margin: 15px 0; }
45
+ .test-result { padding: 10px; margin: 5px 0; border-radius: 4px; }
46
+ .test-result.passed { background-color: #d4edda; border-left: 4px solid #28a745; }
47
+ .test-result.failed { background-color: #f8d7da; border-left: 4px solid #dc3545; }
48
+ .test-result.warning { background-color: #fff3cd; border-left: 4px solid #ffc107; }
49
+ .recommendations { background: #e3f2fd; padding: 20px; border-radius: 8px; margin: 20px 0; }
50
+ .performance-chart { background: #f8f9fa; padding: 20px; border-radius: 8px; margin: 20px 0; }
51
+ .footer { text-align: center; margin-top: 30px; color: #666; font-size: 12px; }
52
+ .pass-rate { font-size: 36px; font-weight: bold; color: ${parseFloat(passRate) >= 90 ? '#28a745' : parseFloat(passRate) >= 70 ? '#ffc107' : '#dc3545'}; }
53
+ </style>
54
+ </head>
55
+ <body>
56
+ <div class="container">
57
+ <div class="header">
58
+ <h1>🧪 Frame SOAP Service Test Report</h1>
59
+ <p>Comprehensive Testing Results for Frame SOAP Client Library</p>
60
+ <p>Generated on: ${results.endTime.toLocaleString()}</p>
61
+ </div>
62
+
63
+ <div class="summary">
64
+ <div class="metric success">
65
+ <h3>${results.overallSummary.passed}</h3>
66
+ <p>Tests Passed</p>
67
+ </div>
68
+ <div class="metric error">
69
+ <h3>${results.overallSummary.failed}</h3>
70
+ <p>Tests Failed</p>
71
+ </div>
72
+ <div class="metric warning">
73
+ <h3>${results.overallSummary.warnings}</h3>
74
+ <p>Warnings</p>
75
+ </div>
76
+ <div class="metric">
77
+ <h3 class="pass-rate">${passRate}%</h3>
78
+ <p>Pass Rate</p>
79
+ </div>
80
+ <div class="metric">
81
+ <h3>${(results.totalDuration / 1000).toFixed(1)}s</h3>
82
+ <p>Total Duration</p>
83
+ </div>
84
+ </div>
85
+
86
+ ${this.generateTestSectionHTML('šŸ“‹ FormData Services', results.formDataTests)}
87
+ ${this.generateTestSectionHTML('šŸ“ Diameter Services', results.diameterTests)}
88
+ ${this.generateTestSectionHTML('šŸ” Trace Services', results.traceTests)}
89
+ ${this.generateTestSectionHTML('⚔ Performance Tests', results.performanceTests)}
90
+ ${this.generateTestSectionHTML('šŸ”¬ Edge Case Tests', results.edgeCaseTests)}
91
+ ${this.generateTestSectionHTML('āœ… Data Validation Tests', results.validationTests)}
92
+
93
+ <div class="recommendations">
94
+ <h2>šŸ“Š Recommendations</h2>
95
+ ${this.generateRecommendations(results)}
96
+ </div>
97
+
98
+ <div class="footer">
99
+ <p>Report generated by SOAP Test Agent | Frame SOAP Service Library v1.2.4</p>
100
+ </div>
101
+ </div>
102
+ </body>
103
+ </html>`;
104
+ }
105
+ /**
106
+ * Generate HTML for individual test sections
107
+ */
108
+ static generateTestSectionHTML(title, testResult) {
109
+ if (!testResult)
110
+ return '';
111
+ return `
112
+ <div class="test-section">
113
+ <h2>${title}</h2>
114
+ <div class="summary">
115
+ <div class="metric success">
116
+ <h3>${testResult.passed || 0}</h3>
117
+ <p>Passed</p>
118
+ </div>
119
+ <div class="metric error">
120
+ <h3>${testResult.failed || 0}</h3>
121
+ <p>Failed</p>
122
+ </div>
123
+ <div class="metric warning">
124
+ <h3>${testResult.warnings || 0}</h3>
125
+ <p>Warnings</p>
126
+ </div>
127
+ </div>
128
+ <div class="test-details">
129
+ ${testResult.details
130
+ ?.map((detail, index) => {
131
+ const className = detail.includes('āœ…')
132
+ ? 'passed'
133
+ : detail.includes('āŒ')
134
+ ? 'failed'
135
+ : 'warning';
136
+ return `<div class="test-result ${className}">${detail}</div>`;
137
+ })
138
+ .join('') || ''}
139
+ </div>
140
+ </div>`;
141
+ }
142
+ /**
143
+ * Generate recommendations based on test results
144
+ */
145
+ static generateRecommendations(results) {
146
+ const recommendations = [];
147
+ if (results.overallSummary.failed > 0) {
148
+ recommendations.push('šŸ”§ <strong>Critical Issues Found:</strong> Address failed tests immediately to ensure service reliability.');
149
+ }
150
+ if (results.overallSummary.warnings > 5) {
151
+ recommendations.push('āš ļø <strong>Multiple Warnings:</strong> Review warning conditions to prevent potential issues.');
152
+ }
153
+ if (results.totalDuration > 120000) {
154
+ // More than 2 minutes
155
+ recommendations.push('šŸš€ <strong>Performance Optimization:</strong> Consider optimizing slow tests or services for better performance.');
156
+ }
157
+ if (results.performanceTests.failed > 0) {
158
+ recommendations.push('⚔ <strong>Performance Issues:</strong> Review and optimize slow-performing services.');
159
+ }
160
+ if (results.edgeCaseTests.failed > 0) {
161
+ recommendations.push('šŸ”¬ <strong>Edge Case Failures:</strong> Improve error handling and input validation.');
162
+ }
163
+ if (recommendations.length === 0) {
164
+ recommendations.push('šŸŽ‰ <strong>Excellent Results:</strong> All tests are performing well. Continue monitoring and maintain current quality standards.');
165
+ }
166
+ return recommendations.map((rec) => `<p>${rec}</p>`).join('');
167
+ }
168
+ /**
169
+ * Generate a markdown report
170
+ */
171
+ static generateMarkdownReport(results) {
172
+ const passRate = ((results.overallSummary.passed /
173
+ (results.overallSummary.passed + results.overallSummary.failed)) *
174
+ 100).toFixed(1);
175
+ return `# Frame SOAP Service Test Report
176
+
177
+ ## Test Summary
178
+
179
+ - **Total Tests:** ${results.overallSummary.passed + results.overallSummary.failed}
180
+ - **Passed:** ${results.overallSummary.passed} āœ…
181
+ - **Failed:** ${results.overallSummary.failed} āŒ
182
+ - **Warnings:** ${results.overallSummary.warnings} āš ļø
183
+ - **Pass Rate:** ${passRate}%
184
+ - **Duration:** ${(results.totalDuration / 1000).toFixed(1)}s
185
+ - **Started:** ${results.startTime.toISOString()}
186
+ - **Completed:** ${results.endTime.toISOString()}
187
+
188
+ ## Test Results by Category
189
+
190
+ ### šŸ“‹ FormData Services
191
+ - **Passed:** ${results.formDataTests.passed || 0}
192
+ - **Failed:** ${results.formDataTests.failed || 0}
193
+ - **Warnings:** ${results.formDataTests.warnings || 0}
194
+
195
+ ### šŸ“ Diameter Services
196
+ - **Passed:** ${results.diameterTests.passed || 0}
197
+ - **Failed:** ${results.diameterTests.failed || 0}
198
+ - **Warnings:** ${results.diameterTests.warnings || 0}
199
+
200
+ ### šŸ” Trace Services
201
+ - **Passed:** ${results.traceTests.passed || 0}
202
+ - **Failed:** ${results.traceTests.failed || 0}
203
+ - **Warnings:** ${results.traceTests.warnings || 0}
204
+
205
+ ### ⚔ Performance Tests
206
+ - **Passed:** ${results.performanceTests.passed || 0}
207
+ - **Failed:** ${results.performanceTests.failed || 0}
208
+ - **Warnings:** ${results.performanceTests.warnings || 0}
209
+
210
+ ### šŸ”¬ Edge Case Tests
211
+ - **Passed:** ${results.edgeCaseTests.passed || 0}
212
+ - **Failed:** ${results.edgeCaseTests.failed || 0}
213
+ - **Warnings:** ${results.edgeCaseTests.warnings || 0}
214
+
215
+ ### āœ… Data Validation Tests
216
+ - **Passed:** ${results.validationTests.passed || 0}
217
+ - **Failed:** ${results.validationTests.failed || 0}
218
+ - **Warnings:** ${results.validationTests.warnings || 0}
219
+
220
+ ## Recommendations
221
+
222
+ ${this.generateMarkdownRecommendations(results)}
223
+
224
+ ---
225
+ *Report generated by SOAP Test Agent - ${new Date().toISOString()}*
226
+ `;
227
+ }
228
+ /**
229
+ * Generate markdown recommendations
230
+ */
231
+ static generateMarkdownRecommendations(results) {
232
+ const recommendations = [];
233
+ if (results.overallSummary.failed > 0) {
234
+ recommendations.push('- šŸ”§ **Critical Issues Found:** Address failed tests immediately');
235
+ }
236
+ if (results.overallSummary.warnings > 5) {
237
+ recommendations.push('- āš ļø **Multiple Warnings:** Review warning conditions');
238
+ }
239
+ if (results.totalDuration > 120000) {
240
+ recommendations.push('- šŸš€ **Performance Optimization:** Consider optimizing slow tests');
241
+ }
242
+ if (recommendations.length === 0) {
243
+ recommendations.push('- šŸŽ‰ **Excellent Results:** All tests performing well');
244
+ }
245
+ return recommendations.join('\n');
246
+ }
247
+ /**
248
+ * Generate JSON report for programmatic consumption
249
+ */
250
+ static generateJSONReport(results) {
251
+ return JSON.stringify({
252
+ summary: {
253
+ totalTests: results.overallSummary.passed + results.overallSummary.failed,
254
+ passed: results.overallSummary.passed,
255
+ failed: results.overallSummary.failed,
256
+ warnings: results.overallSummary.warnings,
257
+ passRate: (results.overallSummary.passed /
258
+ (results.overallSummary.passed + results.overallSummary.failed)) *
259
+ 100,
260
+ duration: results.totalDuration,
261
+ startTime: results.startTime.toISOString(),
262
+ endTime: results.endTime.toISOString(),
263
+ },
264
+ testCategories: {
265
+ formData: results.formDataTests,
266
+ diameter: results.diameterTests,
267
+ trace: results.traceTests,
268
+ performance: results.performanceTests,
269
+ edgeCase: results.edgeCaseTests,
270
+ validation: results.validationTests,
271
+ },
272
+ metadata: {
273
+ generatedAt: new Date().toISOString(),
274
+ generator: 'SOAP Test Agent',
275
+ version: '1.0.0',
276
+ },
277
+ }, null, 2);
278
+ }
279
+ }
280
+ exports.TestReportGenerator = TestReportGenerator;
281
+ /**
282
+ * Main execution function
283
+ */
284
+ async function main() {
285
+ console.log('šŸš€ Starting SOAP Test Agent - Comprehensive Testing...\n');
286
+ try {
287
+ // Initialize test suite
288
+ const testSuite = new SoapTestSuite_1.SoapTestSuite();
289
+ // Run comprehensive tests
290
+ const results = await testSuite.runComprehensiveTests();
291
+ // Create reports directory
292
+ const reportsDir = (0, path_1.join)(process.cwd(), 'test-reports');
293
+ if (!(0, fs_1.existsSync)(reportsDir)) {
294
+ (0, fs_1.mkdirSync)(reportsDir, { recursive: true });
295
+ }
296
+ // Generate and save reports
297
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
298
+ // HTML Report
299
+ const htmlReport = TestReportGenerator.generateHTMLReport(results);
300
+ const htmlPath = (0, path_1.join)(reportsDir, `soap-test-report-${timestamp}.html`);
301
+ (0, fs_1.writeFileSync)(htmlPath, htmlReport);
302
+ console.log(`šŸ“„ HTML Report saved: ${htmlPath}`);
303
+ // Markdown Report
304
+ const markdownReport = TestReportGenerator.generateMarkdownReport(results);
305
+ const markdownPath = (0, path_1.join)(reportsDir, `soap-test-report-${timestamp}.md`);
306
+ (0, fs_1.writeFileSync)(markdownPath, markdownReport);
307
+ console.log(`šŸ“ Markdown Report saved: ${markdownPath}`);
308
+ // JSON Report
309
+ const jsonReport = TestReportGenerator.generateJSONReport(results);
310
+ const jsonPath = (0, path_1.join)(reportsDir, `soap-test-report-${timestamp}.json`);
311
+ (0, fs_1.writeFileSync)(jsonPath, jsonReport);
312
+ console.log(`šŸ“Š JSON Report saved: ${jsonPath}`);
313
+ // Console Summary
314
+ console.log('\n' + '='.repeat(60));
315
+ console.log('šŸ“Š TEST EXECUTION SUMMARY');
316
+ console.log('='.repeat(60));
317
+ console.log(`āœ… Total Passed: ${results.overallSummary.passed}`);
318
+ console.log(`āŒ Total Failed: ${results.overallSummary.failed}`);
319
+ console.log(`āš ļø Total Warnings: ${results.overallSummary.warnings}`);
320
+ const passRate = (results.overallSummary.passed /
321
+ (results.overallSummary.passed + results.overallSummary.failed)) *
322
+ 100;
323
+ console.log(`šŸ“ˆ Pass Rate: ${passRate.toFixed(1)}%`);
324
+ console.log(`ā±ļø Duration: ${(results.totalDuration / 1000).toFixed(1)}s`);
325
+ console.log('='.repeat(60));
326
+ // Exit with appropriate code
327
+ if (results.overallSummary.failed > 0) {
328
+ console.log('āŒ Tests failed. Please review the report for details.');
329
+ process.exit(1);
330
+ }
331
+ else {
332
+ console.log('šŸŽ‰ All tests passed successfully!');
333
+ process.exit(0);
334
+ }
335
+ }
336
+ catch (error) {
337
+ console.error('šŸ’„ Test execution failed:', error);
338
+ process.exit(1);
339
+ }
340
+ }
341
+ /**
342
+ * Quick test function for development
343
+ */
344
+ async function quickTest() {
345
+ console.log('šŸ”„ Running Quick Test...');
346
+ try {
347
+ const testSuite = new SoapTestSuite_1.SoapTestSuite();
348
+ const results = await testSuite.runComprehensiveTests();
349
+ console.log('\nšŸŽÆ Quick Test Results:');
350
+ console.log(`Passed: ${results.overallSummary.passed}`);
351
+ console.log(`Failed: ${results.overallSummary.failed}`);
352
+ console.log(`Warnings: ${results.overallSummary.warnings}`);
353
+ }
354
+ catch (error) {
355
+ console.error('Quick test failed:', error);
356
+ }
357
+ }
358
+ // Command line handling
359
+ const command = process.argv[2];
360
+ switch (command) {
361
+ case 'quick':
362
+ quickTest();
363
+ break;
364
+ case 'help':
365
+ console.log(`
366
+ SOAP Test Agent - Usage:
367
+
368
+ npm run test:agent - Run full comprehensive tests with reports
369
+ npm run test:agent quick - Run quick test without reports
370
+ npm run test:agent help - Show this help message
371
+
372
+ Options:
373
+ --format [html|md|json] - Specify report format (default: all)
374
+ --output <directory> - Specify output directory (default: ./test-reports)
375
+ `);
376
+ break;
377
+ default:
378
+ main();
379
+ }
380
+ //# sourceMappingURL=test-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-agent.js","sourceRoot":"","sources":["../../src/scripts/test-agent.ts"],"names":[],"mappings":";;AAEA;;;;;GAKG;;;AA4b2B,oBAAI;AAAE,8BAAS;AA1b7C,8DAGoC;AACpC,2BAA0D;AAC1D,+BAA4B;AAE5B,MAAM,mBAAmB;IACvB;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAiC;QACzD,MAAM,QAAQ,GAAG,CACf,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM;YAC5B,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClE,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEA4BuD,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;;;;;;;;+BAQ9H,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE;;;;;sBAKzC,OAAO,CAAC,cAAc,CAAC,MAAM;;;;sBAI7B,OAAO,CAAC,cAAc,CAAC,MAAM;;;;sBAI7B,OAAO,CAAC,cAAc,CAAC,QAAQ;;;;wCAIb,QAAQ;;;;sBAI1B,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;UAKrD,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,CAAC;UAC3E,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,CAAC;UAC3E,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;UACrE,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,EAAE,OAAO,CAAC,gBAAgB,CAAC;UAC7E,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,EAAE,OAAO,CAAC,aAAa,CAAC;UACzE,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,EAAE,OAAO,CAAC,eAAe,CAAC;;;;cAI5E,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;;;;;;;;QAQ3C,CAAC;IACP,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,uBAAuB,CACpC,KAAa,EACb,UAAe;QAEf,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,OAAO;;kBAEO,KAAK;;;0BAGG,UAAU,CAAC,MAAM,IAAI,CAAC;;;;0BAItB,UAAU,CAAC,MAAM,IAAI,CAAC;;;;0BAItB,UAAU,CAAC,QAAQ,IAAI,CAAC;;;;;kBAMhC,UAAU,CAAC,OAAO;YAChB,EAAE,GAAG,CAAC,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACpC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACpB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,2BAA2B,SAAS,KAAK,MAAM,QAAQ,CAAC;QACjE,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,IAAI,EACjB;;eAED,CAAC;IACd,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,uBAAuB,CACpC,OAAiC;QAEjC,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,eAAe,CAAC,IAAI,CAClB,4GAA4G,CAC7G,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxC,eAAe,CAAC,IAAI,CAClB,+FAA+F,CAChG,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC;YACnC,sBAAsB;YACtB,eAAe,CAAC,IAAI,CAClB,kHAAkH,CACnH,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,eAAe,CAAC,IAAI,CAClB,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,eAAe,CAAC,IAAI,CAClB,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,IAAI,CAClB,mIAAmI,CACpI,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAiC;QAC7D,MAAM,QAAQ,GAAG,CACf,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM;YAC5B,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClE,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEb,OAAO;;;;qBAIU,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM;gBAClE,OAAO,CAAC,cAAc,CAAC,MAAM;gBAC7B,OAAO,CAAC,cAAc,CAAC,MAAM;kBAC3B,OAAO,CAAC,cAAc,CAAC,QAAQ;mBAC9B,QAAQ;kBACT,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC1C,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;mBAC7B,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;;;;;gBAKhC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;kBAC/B,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC;;;gBAGrC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;kBAC/B,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC;;;gBAGrC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;gBAC9B,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;kBAC5B,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC;;;gBAGlC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC;gBACpC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC;kBAClC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC;;;gBAGxC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC;kBAC/B,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC;;;gBAGrC,OAAO,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;gBACnC,OAAO,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;kBACjC,OAAO,CAAC,eAAe,CAAC,QAAQ,IAAI,CAAC;;;;EAIrD,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC;;;yCAGN,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CAChE,CAAC;IACA,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,+BAA+B,CAC5C,OAAiC;QAEjC,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,eAAe,CAAC,IAAI,CAClB,kEAAkE,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxC,eAAe,CAAC,IAAI,CAClB,uDAAuD,CACxD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC;YACnC,eAAe,CAAC,IAAI,CAClB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,IAAI,CAClB,uDAAuD,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAiC;QACzD,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,OAAO,EAAE;gBACP,UAAU,EACR,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM;gBAC/D,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;gBACrC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;gBACrC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ;gBACzC,QAAQ,EACN,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM;oBAC5B,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAClE,GAAG;gBACL,QAAQ,EAAE,OAAO,CAAC,aAAa;gBAC/B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;gBAC1C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;aACvC;YACD,cAAc,EAAE;gBACd,QAAQ,EAAE,OAAO,CAAC,aAAa;gBAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;gBAC/B,KAAK,EAAE,OAAO,CAAC,UAAU;gBACzB,WAAW,EAAE,OAAO,CAAC,gBAAgB;gBACrC,QAAQ,EAAE,OAAO,CAAC,aAAa;gBAC/B,UAAU,EAAE,OAAO,CAAC,eAAe;aACpC;YACD,QAAQ,EAAE;gBACR,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,SAAS,EAAE,iBAAiB;gBAC5B,OAAO,EAAE,OAAO;aACjB;SACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAkHQ,kDAAmB;AAhH5B;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAExE,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,6BAAa,EAAE,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAExD,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEjE,cAAc;QACd,MAAM,UAAU,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,oBAAoB,SAAS,OAAO,CAAC,CAAC;QACxE,IAAA,kBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QAEjD,kBAAkB;QAClB,MAAM,cAAc,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,oBAAoB,SAAS,KAAK,CAAC,CAAC;QAC1E,IAAA,kBAAa,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QAEzD,cAAc;QACd,MAAM,UAAU,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,oBAAoB,SAAS,OAAO,CAAC,CAAC;QACxE,IAAA,kBAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QAEjD,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,QAAQ,GACZ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM;YAC5B,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClE,GAAG,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,6BAA6B;QAC7B,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS;IACtB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,6BAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAExD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,OAAO;QACV,SAAS,EAAE,CAAC;QACZ,MAAM;IACR,KAAK,MAAM;QACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;KAUX,CAAC,CAAC;QACH,MAAM;IACR;QACE,IAAI,EAAE,CAAC;AACX,CAAC"}
package/dist/types.d.ts CHANGED
@@ -36,9 +36,9 @@ export type TEingabeFassung = {
36
36
  };
37
37
  export type TEingabeZentrierung = {
38
38
  zentrHor: number;
39
- zentrVerfahrenHor: string;
39
+ zentrVerfahrenHor: 'P' | 'x' | 'u' | 'q';
40
40
  zentrVer: number;
41
- zentrVerfahrenVer: string;
41
+ zentrVerfahrenVer: 'y' | 'h' | 'v' | 'F';
42
42
  zentrierKorrBeruecksichtigtHor?: boolean;
43
43
  zentrierKorrBeruecksichtigtVer?: boolean;
44
44
  };
@@ -59,14 +59,14 @@ export type TEingabeWirkung = {
59
59
  };
60
60
  export type TEingabeDurchmesser = {
61
61
  orderProdukt: string;
62
- mdmkz?: string;
62
+ mdmkz?: 'J' | 'O' | 'N' | 'F' | 'X';
63
63
  hdec?: number;
64
64
  designPunktNaehe?: number;
65
65
  fassung: TEingabeFassung;
66
66
  wirkung: TEingabeWirkung;
67
67
  zentrierung: TEingabeZentrierung;
68
68
  bkWunsch?: number;
69
- bkRutschen?: string;
69
+ bkRutschen?: 'F' | 'K';
70
70
  einschleifAuftrag?: boolean;
71
71
  durchmesser?: number;
72
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,YAAY,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC;IAChE,kBAAkB,EAAE,8BAA8B,CAAC;IACnD,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,EAAE,UAAU,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,EAAE;QAClB,KAAK,CAAC,EAAE,yBAAyB,CAAC;QAClC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frame.soap",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "SOAP client library for Frame services",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,6 +19,12 @@
19
19
  "prepublishOnly": "npm run build",
20
20
  "test": "vitest",
21
21
  "test:cov": "vitest run --coverage",
22
+ "test:agent": "npx tsx src/scripts/test-agent.ts",
23
+ "test:agent:quick": "npx tsx src/scripts/test-agent.ts quick",
24
+ "test:comprehensive": "vitest run src/__tests__/ComprehensiveSoapTests.test.ts",
25
+ "test:suite": "vitest run src/__tests__/SoapTestSuite.ts",
26
+ "test:watch": "vitest --watch",
27
+ "test:agent:watch": "nodemon --exec 'npm run test:agent:quick' --watch src",
22
28
  "lint": "tsc --noEmit",
23
29
  "lint:fix": "echo 'Run tsc --noEmit to check for type errors'"
24
30
  },
@@ -37,5 +43,10 @@
37
43
  "jest": "^30.2.0",
38
44
  "typescript": "^5.9.3",
39
45
  "vitest": "^4.0.17"
46
+ },
47
+ "husky": {
48
+ "hooks": {
49
+ "pre-commit": "npm run test:agent:quick"
50
+ }
40
51
  }
41
52
  }