nestlens 0.3.5 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/__tests__/watchers/job.watcher.spec.js +330 -0
  2. package/dist/__tests__/watchers/job.watcher.spec.js.map +1 -1
  3. package/dist/__tests__/watchers/query/typeorm-integration.spec.d.ts +2 -0
  4. package/dist/__tests__/watchers/query/typeorm-integration.spec.d.ts.map +1 -0
  5. package/dist/__tests__/watchers/query/typeorm-integration.spec.js +100 -0
  6. package/dist/__tests__/watchers/query/typeorm-integration.spec.js.map +1 -0
  7. package/dist/__tests__/watchers/query/types.spec.js +48 -263
  8. package/dist/__tests__/watchers/query/types.spec.js.map +1 -1
  9. package/dist/__tests__/watchers/query.watcher.spec.js +173 -522
  10. package/dist/__tests__/watchers/query.watcher.spec.js.map +1 -1
  11. package/dist/dashboard/public/assets/{BatchesPage-C4H0dNsG.js → BatchesPage-DrFl64wj.js} +1 -1
  12. package/dist/dashboard/public/assets/{CachePage-BuqeQ02b.js → CachePage-C57Pkxm0.js} +1 -1
  13. package/dist/dashboard/public/assets/{ClickableBadge-lyb6JKj2.js → ClickableBadge-BNUq-FXI.js} +1 -1
  14. package/dist/dashboard/public/assets/{CommandsPage-BqpAaN31.js → CommandsPage-BdD-ojDk.js} +1 -1
  15. package/dist/dashboard/public/assets/{DashboardPage-CrRfwVFC.js → DashboardPage-DCophLiw.js} +1 -1
  16. package/dist/dashboard/public/assets/{DumpsPage-ktls6Tha.js → DumpsPage-DtXeYPpQ.js} +1 -1
  17. package/dist/dashboard/public/assets/{EntryDetailPage-B7vL3D1F.js → EntryDetailPage-qlWzdnXs.js} +1 -1
  18. package/dist/dashboard/public/assets/{EventsPage-BiExpUVk.js → EventsPage-BHpLjHZj.js} +1 -1
  19. package/dist/dashboard/public/assets/{ExceptionsPage-BJOwhQo1.js → ExceptionsPage-Ww3jIO29.js} +1 -1
  20. package/dist/dashboard/public/assets/{GatesPage-CAMUYzII.js → GatesPage-beRehq6b.js} +1 -1
  21. package/dist/dashboard/public/assets/{GraphQLPage-DV2y6PsH.js → GraphQLPage-BZt0nDmS.js} +1 -1
  22. package/dist/dashboard/public/assets/{HttpClientPage-B6f7Xcxx.js → HttpClientPage-Dac8U41f.js} +1 -1
  23. package/dist/dashboard/public/assets/{JobsPage-IMn5h2ei.js → JobsPage-zLQH5Skv.js} +1 -1
  24. package/dist/dashboard/public/assets/{LogsPage-B6Od3otp.js → LogsPage-Dj7YEZlz.js} +1 -1
  25. package/dist/dashboard/public/assets/{MailPage-8lmFNp6D.js → MailPage-C45lv85q.js} +1 -1
  26. package/dist/dashboard/public/assets/{ModelsPage-WouEp8pt.js → ModelsPage-CveFVTw3.js} +1 -1
  27. package/dist/dashboard/public/assets/{NotificationsPage-Bv7Tn89c.js → NotificationsPage-CVAGh1SG.js} +1 -1
  28. package/dist/dashboard/public/assets/{PageHeader-D4FVVugo.js → PageHeader-BhUyZtbe.js} +1 -1
  29. package/dist/dashboard/public/assets/{QueriesPage-Cv0r5vXO.js → QueriesPage-BMpvUeTX.js} +1 -1
  30. package/dist/dashboard/public/assets/{RedisPage-BZIrKDTG.js → RedisPage-FPrKgNrc.js} +1 -1
  31. package/dist/dashboard/public/assets/{RequestsPage-_Dwg1lTU.js → RequestsPage-6JVqr7xE.js} +1 -1
  32. package/dist/dashboard/public/assets/{SchedulePage-BIqslOzc.js → SchedulePage-DOt6jqTT.js} +1 -1
  33. package/dist/dashboard/public/assets/{ViewsPage-BukUliCM.js → ViewsPage-RG6Ze2rn.js} +1 -1
  34. package/dist/dashboard/public/assets/{calendar-B_Tcwjgp.js → calendar-CEjtgImi.js} +1 -1
  35. package/dist/dashboard/public/assets/{circle-check-big-C-tCdy_d.js → circle-check-big-BnRBDUDo.js} +1 -1
  36. package/dist/dashboard/public/assets/{eye-BiytWB8p.js → eye-tfj-u8EL.js} +1 -1
  37. package/dist/dashboard/public/assets/{index-DK_8IVOo.js → index-OMQZjJAo.js} +2 -2
  38. package/dist/dashboard/public/assets/{types-B5OzqkQQ.js → types-Cubd9hBF.js} +1 -1
  39. package/dist/dashboard/public/assets/{zap-jJmQhaGF.js → zap-Bh7DgMLC.js} +1 -1
  40. package/dist/dashboard/public/index.html +1 -1
  41. package/dist/nestlens.module.d.ts.map +1 -1
  42. package/dist/nestlens.module.js +1 -0
  43. package/dist/nestlens.module.js.map +1 -1
  44. package/dist/watchers/job.watcher.d.ts +24 -0
  45. package/dist/watchers/job.watcher.d.ts.map +1 -1
  46. package/dist/watchers/job.watcher.js +123 -0
  47. package/dist/watchers/job.watcher.js.map +1 -1
  48. package/dist/watchers/query/index.d.ts +2 -0
  49. package/dist/watchers/query/index.d.ts.map +1 -1
  50. package/dist/watchers/query/index.js +2 -0
  51. package/dist/watchers/query/index.js.map +1 -1
  52. package/dist/watchers/query/query.watcher.d.ts +12 -8
  53. package/dist/watchers/query/query.watcher.d.ts.map +1 -1
  54. package/dist/watchers/query/query.watcher.js +80 -78
  55. package/dist/watchers/query/query.watcher.js.map +1 -1
  56. package/dist/watchers/query/typeorm-logger.d.ts +21 -0
  57. package/dist/watchers/query/typeorm-logger.d.ts.map +1 -0
  58. package/dist/watchers/query/typeorm-logger.js +53 -0
  59. package/dist/watchers/query/typeorm-logger.js.map +1 -0
  60. package/dist/watchers/query/typeorm-subscriber.d.ts +20 -0
  61. package/dist/watchers/query/typeorm-subscriber.d.ts.map +1 -0
  62. package/dist/watchers/query/typeorm-subscriber.js +34 -0
  63. package/dist/watchers/query/typeorm-subscriber.js.map +1 -0
  64. package/dist/watchers/query/types.d.ts +50 -29
  65. package/dist/watchers/query/types.d.ts.map +1 -1
  66. package/dist/watchers/query/types.js +21 -16
  67. package/dist/watchers/query/types.js.map +1 -1
  68. package/package.json +4 -1
@@ -453,6 +453,336 @@ describe('JobWatcher', () => {
453
453
  });
454
454
  });
455
455
  // ============================================================================
456
+ // BullMQ Simple Setup (setupBullMQQueue)
457
+ // ============================================================================
458
+ describe('BullMQ Simple Setup', () => {
459
+ it('should handle invalid queue gracefully', async () => {
460
+ // Act & Assert - should not throw
461
+ await expect(watcher.setupBullMQQueue(null)).resolves.not.toThrow();
462
+ await expect(watcher.setupBullMQQueue({})).resolves.not.toThrow();
463
+ });
464
+ it('should handle missing bullmq module gracefully', async () => {
465
+ // Arrange - queue with valid structure but bullmq not installed
466
+ const mockClient = { options: { host: 'localhost', port: 6379 } };
467
+ const mockBullMQQueue = {
468
+ name: 'test-queue',
469
+ getJob: jest.fn(),
470
+ client: Promise.resolve(mockClient),
471
+ };
472
+ const errorSpy = jest.spyOn(watcher.logger, 'error');
473
+ // Act - should catch the require error
474
+ await watcher.setupBullMQQueue(mockBullMQQueue);
475
+ // Assert - error should be logged (bullmq not installed in test env)
476
+ expect(errorSpy).toHaveBeenCalledWith(expect.stringContaining('Failed to setup BullMQ queue'));
477
+ });
478
+ it('should close managed QueueEvents', async () => {
479
+ // Arrange
480
+ const mockQueueEvents = { close: jest.fn().mockResolvedValue(undefined) };
481
+ watcher.managedQueueEvents.push(mockQueueEvents);
482
+ // Act
483
+ await watcher.closeQueueEvents();
484
+ // Assert
485
+ expect(mockQueueEvents.close).toHaveBeenCalled();
486
+ expect(watcher.managedQueueEvents.length).toBe(0);
487
+ });
488
+ it('should handle close errors gracefully', async () => {
489
+ // Arrange
490
+ const mockQueueEvents = { close: jest.fn().mockRejectedValue(new Error('Close error')) };
491
+ watcher.managedQueueEvents.push(mockQueueEvents);
492
+ // Act & Assert - should not throw
493
+ await expect(watcher.closeQueueEvents()).resolves.not.toThrow();
494
+ expect(watcher.managedQueueEvents.length).toBe(0);
495
+ });
496
+ });
497
+ // ============================================================================
498
+ // BullMQ Queue Setup (setupQueueWithEvents)
499
+ // ============================================================================
500
+ describe('BullMQ Queue Setup', () => {
501
+ let mockBullMQQueue;
502
+ let mockQueueEvents;
503
+ let bullMQEventHandlers;
504
+ beforeEach(() => {
505
+ bullMQEventHandlers = {};
506
+ mockBullMQQueue = {
507
+ name: 'bullmq-test-queue',
508
+ getJob: jest.fn(),
509
+ };
510
+ mockQueueEvents = {
511
+ on: jest.fn((event, handler) => {
512
+ bullMQEventHandlers[event] = handler;
513
+ }),
514
+ };
515
+ });
516
+ it('should setup event listeners on QueueEvents', () => {
517
+ // Act
518
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
519
+ // Assert
520
+ expect(mockQueueEvents.on).toHaveBeenCalledWith('waiting', expect.any(Function));
521
+ expect(mockQueueEvents.on).toHaveBeenCalledWith('active', expect.any(Function));
522
+ expect(mockQueueEvents.on).toHaveBeenCalledWith('completed', expect.any(Function));
523
+ expect(mockQueueEvents.on).toHaveBeenCalledWith('failed', expect.any(Function));
524
+ expect(mockQueueEvents.on).toHaveBeenCalledWith('delayed', expect.any(Function));
525
+ });
526
+ it('should use custom queue name when provided', () => {
527
+ // Arrange & Act
528
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents, 'custom-bullmq-queue');
529
+ // Assert
530
+ expect(mockQueueEvents.on).toHaveBeenCalled();
531
+ });
532
+ it('should handle invalid queue gracefully', () => {
533
+ // Act & Assert - should not throw
534
+ expect(() => watcher.setupQueueWithEvents({}, mockQueueEvents)).not.toThrow();
535
+ });
536
+ it('should handle invalid queueEvents gracefully', () => {
537
+ // Act & Assert - should not throw
538
+ expect(() => watcher.setupQueueWithEvents(mockBullMQQueue, {})).not.toThrow();
539
+ });
540
+ it('should handle null queue gracefully', () => {
541
+ // Act & Assert
542
+ expect(() => watcher.setupQueueWithEvents(null, mockQueueEvents)).not.toThrow();
543
+ });
544
+ it('should handle null queueEvents gracefully', () => {
545
+ // Act & Assert
546
+ expect(() => watcher.setupQueueWithEvents(mockBullMQQueue, null)).not.toThrow();
547
+ });
548
+ describe('BullMQ Waiting Event', () => {
549
+ beforeEach(() => {
550
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
551
+ });
552
+ it('should collect waiting job from BullMQ event', async () => {
553
+ // Arrange
554
+ const mockJob = {
555
+ name: 'bullmq-job',
556
+ data: { task: 'process' },
557
+ attemptsMade: 0,
558
+ };
559
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
560
+ // Act
561
+ await bullMQEventHandlers['waiting']?.({ jobId: 'bmq-1' });
562
+ // Assert
563
+ expect(mockBullMQQueue.getJob).toHaveBeenCalledWith('bmq-1');
564
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
565
+ name: 'bullmq-job',
566
+ queue: 'bullmq-test-queue',
567
+ data: { task: 'process' },
568
+ status: 'waiting',
569
+ attempts: 0,
570
+ }));
571
+ });
572
+ it('should handle job not found', async () => {
573
+ // Arrange
574
+ mockBullMQQueue.getJob.mockResolvedValue(null);
575
+ // Act
576
+ await bullMQEventHandlers['waiting']?.({ jobId: 'nonexistent' });
577
+ // Assert
578
+ expect(mockCollector.collect).not.toHaveBeenCalled();
579
+ });
580
+ });
581
+ describe('BullMQ Active Event', () => {
582
+ beforeEach(() => {
583
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
584
+ });
585
+ it('should collect active job from BullMQ event', async () => {
586
+ // Arrange
587
+ const mockJob = {
588
+ name: 'bullmq-active-job',
589
+ data: { userId: 42 },
590
+ attemptsMade: 1,
591
+ };
592
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
593
+ // Act
594
+ await bullMQEventHandlers['active']?.({ jobId: 'bmq-2' });
595
+ // Assert
596
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
597
+ name: 'bullmq-active-job',
598
+ status: 'active',
599
+ attempts: 1,
600
+ }));
601
+ });
602
+ it('should track job start time', async () => {
603
+ // Arrange
604
+ const mockJob = { id: 'bmq-track', name: 'test', data: {} };
605
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
606
+ // Act
607
+ await bullMQEventHandlers['active']?.({ jobId: 'bmq-track' });
608
+ // Assert - tracking uses job.id from the fetched job
609
+ expect(watcher.jobTracking.has('bmq-track')).toBe(true);
610
+ });
611
+ });
612
+ describe('BullMQ Completed Event', () => {
613
+ beforeEach(() => {
614
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
615
+ });
616
+ it('should collect completed job with parsed result', async () => {
617
+ // Arrange
618
+ const mockJob = {
619
+ id: 'bmq-3',
620
+ name: 'bullmq-completed',
621
+ data: { input: 'data' },
622
+ attemptsMade: 0,
623
+ };
624
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
625
+ // Set up tracking to calculate duration
626
+ watcher.jobTracking.set('bmq-3', Date.now() - 500);
627
+ // Act
628
+ await bullMQEventHandlers['completed']?.({
629
+ jobId: 'bmq-3',
630
+ returnvalue: JSON.stringify({ success: true }),
631
+ });
632
+ // Assert
633
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
634
+ name: 'bullmq-completed',
635
+ status: 'completed',
636
+ result: { success: true },
637
+ duration: expect.any(Number),
638
+ }));
639
+ });
640
+ it('should handle non-JSON returnvalue', async () => {
641
+ // Arrange
642
+ const mockJob = { name: 'test', data: {} };
643
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
644
+ // Act
645
+ await bullMQEventHandlers['completed']?.({
646
+ jobId: 'bmq-4',
647
+ returnvalue: 'plain string result',
648
+ });
649
+ // Assert
650
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
651
+ result: 'plain string result',
652
+ }));
653
+ });
654
+ it('should use tracked start time for duration calculation', async () => {
655
+ // Arrange
656
+ const mockJob = { id: 'bmq-5', name: 'test', data: {} };
657
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
658
+ watcher.jobTracking.set('bmq-5', Date.now() - 200);
659
+ // Act
660
+ await bullMQEventHandlers['completed']?.({ jobId: 'bmq-5', returnvalue: '' });
661
+ // Assert
662
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
663
+ duration: expect.any(Number),
664
+ }));
665
+ });
666
+ it('should remove job from tracking after completion', async () => {
667
+ // Arrange
668
+ const mockJob = { id: 'bmq-6', name: 'test', data: {} };
669
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
670
+ watcher.jobTracking.set('bmq-6', Date.now());
671
+ // Act
672
+ await bullMQEventHandlers['completed']?.({ jobId: 'bmq-6', returnvalue: '' });
673
+ // Assert
674
+ expect(watcher.jobTracking.has('bmq-6')).toBe(false);
675
+ });
676
+ });
677
+ describe('BullMQ Failed Event', () => {
678
+ beforeEach(() => {
679
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
680
+ });
681
+ it('should collect failed job with error reason', async () => {
682
+ // Arrange
683
+ const mockJob = {
684
+ id: 'bmq-7',
685
+ name: 'bullmq-failed',
686
+ data: { dangerous: true },
687
+ attemptsMade: 3,
688
+ };
689
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
690
+ // Set up tracking to calculate duration
691
+ watcher.jobTracking.set('bmq-7', Date.now() - 100);
692
+ // Act
693
+ await bullMQEventHandlers['failed']?.({
694
+ jobId: 'bmq-7',
695
+ failedReason: 'Connection timeout',
696
+ });
697
+ // Assert
698
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
699
+ name: 'bullmq-failed',
700
+ status: 'failed',
701
+ attempts: 3,
702
+ error: 'Connection timeout',
703
+ duration: expect.any(Number),
704
+ }));
705
+ });
706
+ it('should handle empty failedReason', async () => {
707
+ // Arrange
708
+ const mockJob = { id: 'bmq-8', name: 'test', data: {} };
709
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
710
+ // Act
711
+ await bullMQEventHandlers['failed']?.({ jobId: 'bmq-8', failedReason: '' });
712
+ // Assert
713
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
714
+ error: 'Unknown error',
715
+ }));
716
+ });
717
+ it('should remove job from tracking after failure', async () => {
718
+ // Arrange
719
+ const mockJob = { id: 'bmq-9', name: 'test', data: {} };
720
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
721
+ watcher.jobTracking.set('bmq-9', Date.now());
722
+ // Act
723
+ await bullMQEventHandlers['failed']?.({ jobId: 'bmq-9', failedReason: 'Error' });
724
+ // Assert
725
+ expect(watcher.jobTracking.has('bmq-9')).toBe(false);
726
+ });
727
+ });
728
+ describe('BullMQ Delayed Event', () => {
729
+ beforeEach(() => {
730
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
731
+ });
732
+ it('should collect delayed job', async () => {
733
+ // Arrange
734
+ const mockJob = {
735
+ name: 'scheduled-bullmq-task',
736
+ data: { scheduleId: 'sch-1' },
737
+ attemptsMade: 0,
738
+ };
739
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
740
+ // Act
741
+ await bullMQEventHandlers['delayed']?.({ jobId: 'bmq-10', delay: 60000 });
742
+ // Assert
743
+ expect(mockCollector.collect).toHaveBeenCalledWith('job', expect.objectContaining({
744
+ name: 'scheduled-bullmq-task',
745
+ status: 'delayed',
746
+ }));
747
+ });
748
+ it('should handle job not found', async () => {
749
+ // Arrange
750
+ mockBullMQQueue.getJob.mockResolvedValue(null);
751
+ // Act
752
+ await bullMQEventHandlers['delayed']?.({ jobId: 'nonexistent', delay: 1000 });
753
+ // Assert
754
+ expect(mockCollector.collect).not.toHaveBeenCalled();
755
+ });
756
+ });
757
+ describe('BullMQ Error Handling', () => {
758
+ beforeEach(() => {
759
+ watcher.setupQueueWithEvents(mockBullMQQueue, mockQueueEvents);
760
+ });
761
+ it('should handle getJob errors gracefully', async () => {
762
+ // Arrange
763
+ mockBullMQQueue.getJob.mockRejectedValue(new Error('Redis error'));
764
+ const debugSpy = jest.spyOn(watcher.logger, 'debug');
765
+ // Act - call the handler
766
+ await bullMQEventHandlers['active']?.({ jobId: 'err-1' });
767
+ // Assert - error should be caught and logged
768
+ expect(debugSpy).toHaveBeenCalledWith(expect.stringContaining('Failed to track'));
769
+ });
770
+ it('should handle collector errors gracefully', async () => {
771
+ // Arrange
772
+ const mockJob = { id: 'err-2', name: 'test', data: {} };
773
+ mockBullMQQueue.getJob.mockResolvedValue(mockJob);
774
+ mockCollector.collect.mockImplementationOnce(() => {
775
+ throw new Error('Collector error');
776
+ });
777
+ const debugSpy = jest.spyOn(watcher.logger, 'debug');
778
+ // Act - call the handler, should not throw
779
+ await bullMQEventHandlers['completed']?.({ jobId: 'err-2', returnvalue: '' });
780
+ // Assert - error should be caught and logged
781
+ expect(debugSpy).toHaveBeenCalledWith(expect.stringContaining('Failed to track'));
782
+ });
783
+ });
784
+ });
785
+ // ============================================================================
456
786
  // Error Handling
457
787
  // ============================================================================
458
788
  describe('Error Handling', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"job.watcher.spec.js","sourceRoot":"","sources":["../../../src/__tests__/watchers/job.watcher.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.watcher.spec.js","sourceRoot":"","sources":["../../../src/__tests__/watchers/job.watcher.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typeorm-integration.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeorm-integration.spec.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/watchers/query/typeorm-integration.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /**
16
+ * QueryWatcher integration test — exercises the real TypeORM 0.3.x runtime
17
+ * with `better-sqlite3` to prove that queries are actually captured end to
18
+ * end. This is the regression guard for issue #5: the previous watcher
19
+ * silently no-op'd here because it relied on `getDataSources()` and a fake
20
+ * `Driver.afterQuery` hook, neither of which exist in TypeORM 0.3.x.
21
+ */
22
+ const common_1 = require("@nestjs/common");
23
+ const testing_1 = require("@nestjs/testing");
24
+ const typeorm_1 = require("typeorm");
25
+ const typeorm_2 = require("@nestjs/typeorm");
26
+ const typeorm_3 = require("typeorm");
27
+ const nestlens_module_1 = require("../../../nestlens.module");
28
+ const collector_service_1 = require("../../../core/collector.service");
29
+ const storage_1 = require("../../../core/storage");
30
+ let IntegrationUser = class IntegrationUser {
31
+ };
32
+ __decorate([
33
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
34
+ __metadata("design:type", Number)
35
+ ], IntegrationUser.prototype, "id", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)(),
38
+ __metadata("design:type", String)
39
+ ], IntegrationUser.prototype, "name", void 0);
40
+ IntegrationUser = __decorate([
41
+ (0, typeorm_1.Entity)()
42
+ ], IntegrationUser);
43
+ let IntegrationAppModule = class IntegrationAppModule {
44
+ constructor(users) {
45
+ this.users = users;
46
+ }
47
+ };
48
+ IntegrationAppModule = __decorate([
49
+ (0, common_1.Module)({
50
+ imports: [
51
+ nestlens_module_1.NestLensModule.forRoot({
52
+ enabled: true,
53
+ watchers: { query: { enabled: true, slowThreshold: 0 } },
54
+ }),
55
+ typeorm_2.TypeOrmModule.forRoot({
56
+ type: 'better-sqlite3',
57
+ database: ':memory:',
58
+ entities: [IntegrationUser],
59
+ synchronize: true,
60
+ }),
61
+ typeorm_2.TypeOrmModule.forFeature([IntegrationUser]),
62
+ ],
63
+ }),
64
+ __param(0, (0, typeorm_2.InjectRepository)(IntegrationUser)),
65
+ __metadata("design:paramtypes", [typeorm_3.Repository])
66
+ ], IntegrationAppModule);
67
+ describe('QueryWatcher (TypeORM integration)', () => {
68
+ let moduleRef;
69
+ let app;
70
+ let storage;
71
+ beforeAll(async () => {
72
+ moduleRef = await testing_1.Test.createTestingModule({
73
+ imports: [IntegrationAppModule],
74
+ }).compile();
75
+ await moduleRef.init();
76
+ app = moduleRef.get(IntegrationAppModule);
77
+ storage = moduleRef.get(storage_1.STORAGE);
78
+ });
79
+ afterAll(async () => {
80
+ if (moduleRef) {
81
+ await moduleRef.close();
82
+ }
83
+ });
84
+ it('captures INSERT and SELECT queries end-to-end', async () => {
85
+ const collector = moduleRef.get(collector_service_1.CollectorService);
86
+ await app.users.save({ name: 'Wasim' });
87
+ await app.users.find();
88
+ if (typeof collector.flush === 'function') {
89
+ await collector.flush();
90
+ }
91
+ await new Promise((resolve) => setTimeout(resolve, 50));
92
+ const entries = (await storage.find({ type: 'query' }));
93
+ const sources = new Set(entries.map((e) => e.payload.source));
94
+ expect(sources.has('typeorm')).toBe(true);
95
+ const joined = entries.map((e) => e.payload.query).join(' | ');
96
+ expect(joined).toMatch(/INSERT INTO\s+"?integration_user"?/i);
97
+ expect(joined).toMatch(/SELECT[\s\S]*integration_user/i);
98
+ });
99
+ });
100
+ //# sourceMappingURL=typeorm-integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeorm-integration.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/watchers/query/typeorm-integration.spec.ts"],"names":[],"mappings":"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"}