@@ -305,6 +305,7 @@ describe('proxy option', () => {
305
305
let responseMessage ;
306
306
307
307
const transportModes = [ 'sockjs' , 'ws' ] ;
308
+
308
309
transportModes . forEach ( ( transportMode ) => {
309
310
describe ( `with transportMode: ${ transportMode } ` , ( ) => {
310
311
beforeAll ( ( done ) => {
@@ -512,4 +513,218 @@ describe('proxy option', () => {
512
513
req . get ( '/proxy1' ) . expect ( 200 , 'from proxy1' , done ) ;
513
514
} ) ;
514
515
} ) ;
516
+
517
+ describe ( 'should work and respect `logProvider` and `logLevel` options' , ( ) => {
518
+ let server ;
519
+ let req ;
520
+ let closeProxyServers ;
521
+ let customLogProvider ;
522
+
523
+ beforeAll ( ( done ) => {
524
+ customLogProvider = {
525
+ log : jest . fn ( ) ,
526
+ debug : jest . fn ( ) ,
527
+ info : jest . fn ( ) ,
528
+ warn : jest . fn ( ) ,
529
+ error : jest . fn ( ) ,
530
+ } ;
531
+
532
+ closeProxyServers = startProxyServers ( ) ;
533
+ server = testServer . start (
534
+ config ,
535
+ {
536
+ static : {
537
+ directory : contentBase ,
538
+ watch : false ,
539
+ } ,
540
+ proxy : {
541
+ '/my-path' : {
542
+ target : 'http://unknown:1234' ,
543
+ logProvider : ( ) => customLogProvider ,
544
+ logLevel : 'error' ,
545
+ } ,
546
+ } ,
547
+ port : port3 ,
548
+ } ,
549
+ done
550
+ ) ;
551
+ req = request ( server . app ) ;
552
+ } ) ;
553
+
554
+ afterAll ( ( done ) => {
555
+ testServer . close ( ( ) => {
556
+ closeProxyServers ( done ) ;
557
+ } ) ;
558
+ } ) ;
559
+
560
+ describe ( 'target' , ( ) => {
561
+ it ( 'respects a proxy option when a request path is matched' , ( done ) => {
562
+ req . get ( '/my-path' ) . expect ( 504 , ( ) => {
563
+ expect ( customLogProvider . error ) . toHaveBeenCalledTimes ( 1 ) ;
564
+
565
+ done ( ) ;
566
+ } ) ;
567
+ } ) ;
568
+ } ) ;
569
+ } ) ;
570
+
571
+ describe ( 'should work and respect the `logLevel` option with `silent` value' , ( ) => {
572
+ let server ;
573
+ let req ;
574
+ let closeProxyServers ;
575
+ let customLogProvider ;
576
+
577
+ beforeAll ( ( done ) => {
578
+ customLogProvider = {
579
+ log : jest . fn ( ) ,
580
+ debug : jest . fn ( ) ,
581
+ info : jest . fn ( ) ,
582
+ warn : jest . fn ( ) ,
583
+ error : jest . fn ( ) ,
584
+ } ;
585
+
586
+ closeProxyServers = startProxyServers ( ) ;
587
+ server = testServer . start (
588
+ config ,
589
+ {
590
+ static : {
591
+ directory : contentBase ,
592
+ watch : false ,
593
+ } ,
594
+ proxy : {
595
+ '/my-path' : {
596
+ target : 'http://unknown:1234' ,
597
+ logProvider : ( ) => customLogProvider ,
598
+ logLevel : 'silent' ,
599
+ } ,
600
+ } ,
601
+ port : port3 ,
602
+ } ,
603
+ done
604
+ ) ;
605
+ req = request ( server . app ) ;
606
+ } ) ;
607
+
608
+ afterAll ( ( done ) => {
609
+ testServer . close ( ( ) => {
610
+ closeProxyServers ( done ) ;
611
+ } ) ;
612
+ } ) ;
613
+
614
+ describe ( 'target' , ( ) => {
615
+ it ( 'respects a proxy option when a request path is matched' , ( done ) => {
616
+ req . get ( '/my-path' ) . expect ( 504 , ( ) => {
617
+ expect ( customLogProvider . error ) . toHaveBeenCalledTimes ( 0 ) ;
618
+
619
+ done ( ) ;
620
+ } ) ;
621
+ } ) ;
622
+ } ) ;
623
+ } ) ;
624
+
625
+ describe ( 'should work and respect the `infrastructureLogging.level` option' , ( ) => {
626
+ let server ;
627
+ let req ;
628
+ let closeProxyServers ;
629
+ let customLogProvider ;
630
+
631
+ beforeAll ( ( done ) => {
632
+ customLogProvider = {
633
+ log : jest . fn ( ) ,
634
+ debug : jest . fn ( ) ,
635
+ info : jest . fn ( ) ,
636
+ warn : jest . fn ( ) ,
637
+ error : jest . fn ( ) ,
638
+ } ;
639
+
640
+ closeProxyServers = startProxyServers ( ) ;
641
+ server = testServer . start (
642
+ { ...config , infrastructureLogging : { level : 'error' } } ,
643
+ {
644
+ static : {
645
+ directory : contentBase ,
646
+ watch : false ,
647
+ } ,
648
+ proxy : {
649
+ '/my-path' : {
650
+ target : 'http://unknown:1234' ,
651
+ logProvider : ( ) => customLogProvider ,
652
+ } ,
653
+ } ,
654
+ port : port3 ,
655
+ } ,
656
+ done
657
+ ) ;
658
+ req = request ( server . app ) ;
659
+ } ) ;
660
+
661
+ afterAll ( ( done ) => {
662
+ testServer . close ( ( ) => {
663
+ closeProxyServers ( done ) ;
664
+ } ) ;
665
+ } ) ;
666
+
667
+ describe ( 'target' , ( ) => {
668
+ it ( 'respects a proxy option when a request path is matched' , ( done ) => {
669
+ req . get ( '/my-path' ) . expect ( 504 , ( ) => {
670
+ expect ( customLogProvider . error ) . toHaveBeenCalledTimes ( 1 ) ;
671
+
672
+ done ( ) ;
673
+ } ) ;
674
+ } ) ;
675
+ } ) ;
676
+ } ) ;
677
+
678
+ describe ( 'should work and respect the `infrastructureLogging.level` option with `none` value' , ( ) => {
679
+ let server ;
680
+ let req ;
681
+ let closeProxyServers ;
682
+ let customLogProvider ;
683
+
684
+ beforeAll ( ( done ) => {
685
+ customLogProvider = {
686
+ log : jest . fn ( ) ,
687
+ debug : jest . fn ( ) ,
688
+ info : jest . fn ( ) ,
689
+ warn : jest . fn ( ) ,
690
+ error : jest . fn ( ) ,
691
+ } ;
692
+
693
+ closeProxyServers = startProxyServers ( ) ;
694
+ server = testServer . start (
695
+ { ...config , infrastructureLogging : { level : 'none' } } ,
696
+ {
697
+ static : {
698
+ directory : contentBase ,
699
+ watch : false ,
700
+ } ,
701
+ proxy : {
702
+ '/my-path' : {
703
+ target : 'http://unknown:1234' ,
704
+ logProvider : ( ) => customLogProvider ,
705
+ } ,
706
+ } ,
707
+ port : port3 ,
708
+ } ,
709
+ done
710
+ ) ;
711
+ req = request ( server . app ) ;
712
+ } ) ;
713
+
714
+ afterAll ( ( done ) => {
715
+ testServer . close ( ( ) => {
716
+ closeProxyServers ( done ) ;
717
+ } ) ;
718
+ } ) ;
719
+
720
+ describe ( 'target' , ( ) => {
721
+ it ( 'respects a proxy option when a request path is matched' , ( done ) => {
722
+ req . get ( '/my-path' ) . expect ( 504 , ( ) => {
723
+ expect ( customLogProvider . error ) . toHaveBeenCalledTimes ( 0 ) ;
724
+
725
+ done ( ) ;
726
+ } ) ;
727
+ } ) ;
728
+ } ) ;
729
+ } ) ;
515
730
} ) ;
0 commit comments