@@ -342,6 +342,78 @@ func TestParseMGMTConfigMapWarnings(t *testing.T) {
342
342
},
343
343
msg : "enforce-initial-report set empty" ,
344
344
},
345
+ {
346
+ configMap : & v1.ConfigMap {
347
+ Data : map [string ]string {
348
+ "license-token-secret-name" : "license-token" ,
349
+ "usage-report-interval" : "" ,
350
+ },
351
+ },
352
+ msg : "usage-report-interval set empty" ,
353
+ },
354
+ {
355
+ configMap : & v1.ConfigMap {
356
+ Data : map [string ]string {
357
+ "license-token-secret-name" : "license-token" ,
358
+ "usage-report-interval" : "1s" ,
359
+ },
360
+ },
361
+ msg : "usage-report-interval set below allowed value" ,
362
+ },
363
+ {
364
+ configMap : & v1.ConfigMap {
365
+ Data : map [string ]string {
366
+ "license-token-secret-name" : "license-token" ,
367
+ "usage-report-interval" : "1s" ,
368
+ },
369
+ },
370
+ msg : "usage-report-interval set below allowed value" ,
371
+ },
372
+ {
373
+ configMap : & v1.ConfigMap {
374
+ Data : map [string ]string {
375
+ "license-token-secret-name" : "license-token" ,
376
+ "ssl-verify" : "10" ,
377
+ },
378
+ },
379
+ msg : "ssl-verify set to an invalid int" ,
380
+ },
381
+ {
382
+ configMap : & v1.ConfigMap {
383
+ Data : map [string ]string {
384
+ "license-token-secret-name" : "license-token" ,
385
+ "ssl-verify" : "test" ,
386
+ },
387
+ },
388
+ msg : "ssl-verify set to an invalid value" ,
389
+ },
390
+ {
391
+ configMap : & v1.ConfigMap {
392
+ Data : map [string ]string {
393
+ "license-token-secret-name" : "license-token" ,
394
+ "ssl-verify" : "" ,
395
+ },
396
+ },
397
+ msg : "ssl-verify set to an empty string" ,
398
+ },
399
+ {
400
+ configMap : & v1.ConfigMap {
401
+ Data : map [string ]string {
402
+ "license-token-secret-name" : "license-token" ,
403
+ "resolver-ipv6" : "" ,
404
+ },
405
+ },
406
+ msg : "resolver-ipv6 set to an empty string" ,
407
+ },
408
+ {
409
+ configMap : & v1.ConfigMap {
410
+ Data : map [string ]string {
411
+ "license-token-secret-name" : "license-token" ,
412
+ "resolver-ipv6" : "10" ,
413
+ },
414
+ },
415
+ msg : "resolver-ipv6 set to an invalid int" ,
416
+ },
345
417
}
346
418
347
419
for _ , test := range tests {
@@ -450,6 +522,272 @@ func TestParseMGMTConfigMapEnforceInitialReport(t *testing.T) {
450
522
}
451
523
}
452
524
525
+ func TestParseMGMTConfigMapSSLVerify (t * testing.T ) {
526
+ t .Parallel ()
527
+ tests := []struct {
528
+ configMap * v1.ConfigMap
529
+ want * MGMTConfigParams
530
+ msg string
531
+ }{
532
+ {
533
+ configMap : & v1.ConfigMap {
534
+ Data : map [string ]string {
535
+ "license-token-secret-name" : "license-token" ,
536
+ "ssl-verify" : "false" ,
537
+ },
538
+ },
539
+ want : & MGMTConfigParams {
540
+ SSLVerify : BoolToPointerBool (false ),
541
+ Secrets : MGMTSecrets {
542
+ License : "license-token" ,
543
+ },
544
+ },
545
+ msg : "ssl-verify set to false" ,
546
+ },
547
+ {
548
+ configMap : & v1.ConfigMap {
549
+ Data : map [string ]string {
550
+ "license-token-secret-name" : "license-token" ,
551
+ "ssl-verify" : "true" ,
552
+ },
553
+ },
554
+ want : & MGMTConfigParams {
555
+ SSLVerify : BoolToPointerBool (true ),
556
+ Secrets : MGMTSecrets {
557
+ License : "license-token" ,
558
+ },
559
+ },
560
+ msg : "ssl-verify set to true" ,
561
+ },
562
+ }
563
+
564
+ for _ , test := range tests {
565
+ t .Run (test .msg , func (t * testing.T ) {
566
+ result , warnings , err := ParseMGMTConfigMap (context .Background (), test .configMap , makeEventLogger ())
567
+ if err != nil {
568
+ t .Fatal (err )
569
+ }
570
+ if warnings {
571
+ t .Error ("Unexpected warnings" )
572
+ }
573
+
574
+ if result .SSLVerify == nil {
575
+ t .Errorf ("ssl-verify: want %v, got nil" , * test .want .SSLVerify )
576
+ }
577
+ if * result .SSLVerify != * test .want .SSLVerify {
578
+ t .Errorf ("ssl-verify: want %v, got %v" , * test .want .SSLVerify , * result .SSLVerify )
579
+ }
580
+ })
581
+ }
582
+ }
583
+
584
+ func TestParseMGMTConfigMapUsageReportInterval (t * testing.T ) {
585
+ t .Parallel ()
586
+ tests := []struct {
587
+ configMap * v1.ConfigMap
588
+ want * MGMTConfigParams
589
+ msg string
590
+ }{
591
+ {
592
+ configMap : & v1.ConfigMap {
593
+ Data : map [string ]string {
594
+ "license-token-secret-name" : "license-token" ,
595
+ "usage-report-interval" : "120s" ,
596
+ },
597
+ },
598
+ want : & MGMTConfigParams {
599
+ Interval : "120s" ,
600
+ Secrets : MGMTSecrets {
601
+ License : "license-token" ,
602
+ },
603
+ },
604
+ msg : "usage report interval set to 120s" ,
605
+ },
606
+ {
607
+ configMap : & v1.ConfigMap {
608
+ Data : map [string ]string {
609
+ "license-token-secret-name" : "license-token" ,
610
+ "usage-report-interval" : "20m" ,
611
+ },
612
+ },
613
+ want : & MGMTConfigParams {
614
+ Interval : "20m" ,
615
+ Secrets : MGMTSecrets {
616
+ License : "license-token" ,
617
+ },
618
+ },
619
+ msg : "usage report interval set to 20m" ,
620
+ },
621
+ {
622
+ configMap : & v1.ConfigMap {
623
+ Data : map [string ]string {
624
+ "license-token-secret-name" : "license-token" ,
625
+ "usage-report-interval" : "1h" ,
626
+ },
627
+ },
628
+ want : & MGMTConfigParams {
629
+ Interval : "1h" ,
630
+ Secrets : MGMTSecrets {
631
+ License : "license-token" ,
632
+ },
633
+ },
634
+ msg : "usage report interval set to 1h" ,
635
+ },
636
+ {
637
+ configMap : & v1.ConfigMap {
638
+ Data : map [string ]string {
639
+ "license-token-secret-name" : "license-token" ,
640
+ "usage-report-interval" : "24h" ,
641
+ },
642
+ },
643
+ want : & MGMTConfigParams {
644
+ Interval : "24h" ,
645
+ Secrets : MGMTSecrets {
646
+ License : "license-token" ,
647
+ },
648
+ },
649
+ msg : "usage report interval set to 24h" ,
650
+ },
651
+ }
652
+
653
+ for _ , test := range tests {
654
+ t .Run (test .msg , func (t * testing.T ) {
655
+ result , warnings , err := ParseMGMTConfigMap (context .Background (), test .configMap , makeEventLogger ())
656
+ if err != nil {
657
+ t .Fatal (err )
658
+ }
659
+ if warnings {
660
+ t .Error ("Unexpected warnings" )
661
+ }
662
+
663
+ if result .Interval == "" {
664
+ t .Errorf ("UsageReportInterval: want %s, got empty string" , test .want .Interval )
665
+ }
666
+ if result .Interval != test .want .Interval {
667
+ t .Errorf ("UsageReportInterval: want %v, got %v" , test .want .Interval , result .Interval )
668
+ }
669
+ })
670
+ }
671
+ }
672
+
673
+ func TestParseMGMTConfigMapResolverIPV6 (t * testing.T ) {
674
+ t .Parallel ()
675
+ tests := []struct {
676
+ configMap * v1.ConfigMap
677
+ want * MGMTConfigParams
678
+ msg string
679
+ }{
680
+ {
681
+ configMap : & v1.ConfigMap {
682
+ Data : map [string ]string {
683
+ "license-token-secret-name" : "license-token" ,
684
+ "resolver-ipv6" : "false" ,
685
+ },
686
+ },
687
+ want : & MGMTConfigParams {
688
+ ResolverIPV6 : BoolToPointerBool (false ),
689
+ Secrets : MGMTSecrets {
690
+ License : "license-token" ,
691
+ },
692
+ },
693
+ msg : "resolver-ipv6 set to false" ,
694
+ },
695
+ {
696
+ configMap : & v1.ConfigMap {
697
+ Data : map [string ]string {
698
+ "license-token-secret-name" : "license-token" ,
699
+ "resolver-ipv6" : "true" ,
700
+ },
701
+ },
702
+ want : & MGMTConfigParams {
703
+ ResolverIPV6 : BoolToPointerBool (true ),
704
+ Secrets : MGMTSecrets {
705
+ License : "license-token" ,
706
+ },
707
+ },
708
+ msg : "resolver-ipv6 set to true" ,
709
+ },
710
+ }
711
+
712
+ for _ , test := range tests {
713
+ t .Run (test .msg , func (t * testing.T ) {
714
+ result , warnings , err := ParseMGMTConfigMap (context .Background (), test .configMap , makeEventLogger ())
715
+ if err != nil {
716
+ t .Fatal (err )
717
+ }
718
+ if warnings {
719
+ t .Error ("Unexpected warnings" )
720
+ }
721
+
722
+ if result .ResolverIPV6 == nil {
723
+ t .Errorf ("resolver-ipv6: want %v, got nil" , * test .want .ResolverIPV6 )
724
+ }
725
+ if * result .ResolverIPV6 != * test .want .ResolverIPV6 {
726
+ t .Errorf ("resolver-ipv6: want %v, got %v" , * test .want .ResolverIPV6 , * result .ResolverIPV6 )
727
+ }
728
+ })
729
+ }
730
+ }
731
+
732
+ func TestParseMGMTConfigMapUsageReportEndpoint (t * testing.T ) {
733
+ t .Parallel ()
734
+ tests := []struct {
735
+ configMap * v1.ConfigMap
736
+ want * MGMTConfigParams
737
+ msg string
738
+ }{
739
+ {
740
+ configMap : & v1.ConfigMap {
741
+ Data : map [string ]string {
742
+ "license-token-secret-name" : "license-token" ,
743
+ "usage-report-endpoint" : "product.connect.nginx.com" ,
744
+ },
745
+ },
746
+ want : & MGMTConfigParams {
747
+ Endpoint : "product.connect.nginx.com" ,
748
+ Secrets : MGMTSecrets {
749
+ License : "license-token" ,
750
+ },
751
+ },
752
+ msg : "usage report endpoint set to product.connect.nginx.com" ,
753
+ },
754
+ {
755
+ configMap : & v1.ConfigMap {
756
+ Data : map [string ]string {
757
+ "license-token-secret-name" : "license-token" ,
758
+ "usage-report-endpoint" : "product.connect.nginx.com:80" ,
759
+ },
760
+ },
761
+ want : & MGMTConfigParams {
762
+ Endpoint : "product.connect.nginx.com:80" ,
763
+ Secrets : MGMTSecrets {
764
+ License : "license-token" ,
765
+ },
766
+ },
767
+ msg : "usage report endpoint set to product.connect.nginx.com with port 80" ,
768
+ },
769
+ }
770
+
771
+ for _ , test := range tests {
772
+ t .Run (test .msg , func (t * testing.T ) {
773
+ result , warnings , err := ParseMGMTConfigMap (context .Background (), test .configMap , makeEventLogger ())
774
+ if err != nil {
775
+ t .Fatal (err )
776
+ }
777
+ if warnings {
778
+ t .Error ("Unexpected warnings" )
779
+ }
780
+
781
+ if result .Endpoint == "" {
782
+ t .Errorf ("UsageReportEndpoint: want %s, got empty string" , test .want .Endpoint )
783
+ }
784
+ if result .Endpoint != test .want .Endpoint {
785
+ t .Errorf ("UsageReportEndpoint: want %v, got %v" , test .want .Endpoint , result .Endpoint )
786
+ }
787
+ })
788
+ }
789
+ }
790
+
453
791
func makeEventLogger () record.EventRecorder {
454
792
return record .NewFakeRecorder (1024 )
455
793
}
0 commit comments