@@ -728,6 +728,98 @@ func TestMeshWithMultipleTCPRoutes(t *testing.T) {
728
728
}
729
729
}
730
730
731
+ func TestEnsureTcpRoute (t * testing.T ) {
732
+ t .Parallel ()
733
+ ctx := context .Background ()
734
+ graphBuilder := rgraph .NewBuilder ()
735
+ resUniqueIdPart := "ensure-tcpr"
736
+ meshURL , meshKey := ensureMesh (ctx , t , resUniqueIdPart + "-mesh" )
737
+
738
+ t .Cleanup (func () {
739
+ err := theCloud .Meshes ().Delete (ctx , meshKey )
740
+ t .Logf ("theCloud.Meshes().Delete(ctx, %s): %v" , meshKey , err )
741
+ })
742
+
743
+ hcs , err := createHealthchecks (graphBuilder , 6 , resUniqueIdPart )
744
+ if err != nil {
745
+ t .Fatalf ("createHealthchecks(_, 6, %s) = (_, %v), want (_, nil)" , resUniqueIdPart , err )
746
+ }
747
+
748
+ bss , err := createBackendServicesWithHC (graphBuilder , 6 , resUniqueIdPart , hcs )
749
+ if err != nil {
750
+ t .Fatalf ("createBackendServicesWithHC(_, 6, %s) = (_, %v), want (_, nil)" , resUniqueIdPart , err )
751
+ }
752
+
753
+ tcprs , err := createTCPRoutes (t , graphBuilder , 3 , resUniqueIdPart , meshURL , bss )
754
+
755
+ graph , err := graphBuilder .Build ()
756
+ if err != nil {
757
+ t .Fatalf ("graphBuilder.Build() = %v, want nil" , err )
758
+ }
759
+
760
+ expectedActions := []exec.ActionMetadata {
761
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , bss [0 ])},
762
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , bss [1 ])},
763
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , bss [2 ])},
764
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , bss [3 ])},
765
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , bss [4 ])},
766
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , bss [5 ])},
767
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , hcs [0 ])},
768
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , hcs [1 ])},
769
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , hcs [2 ])},
770
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , hcs [3 ])},
771
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , hcs [4 ])},
772
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , hcs [5 ])},
773
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , tcprs [0 ])},
774
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , tcprs [1 ])},
775
+ {Type : exec .ActionTypeCreate , Name : actionName (exec .ActionTypeCreate , tcprs [2 ])},
776
+ }
777
+
778
+ result , err := plan .Do (ctx , theCloud , graph )
779
+ if err != nil {
780
+ t .Fatalf ("plan.Do(_, _, _) = %v, want nil" , err )
781
+ }
782
+
783
+ t .Logf ("\n Plan.Actions: %v" , result .Actions )
784
+ t .Logf ("\n Plan.Got: %v" , result .Got )
785
+ t .Logf ("\n Plan.Want: %v" , result .Want )
786
+
787
+ processGraphAndExpectActions (t , graphBuilder , expectedActions )
788
+
789
+ expectedActions = []exec.ActionMetadata {
790
+ {Type : exec .ActionTypeMeta , Name : eventName (bss [0 ])},
791
+ {Type : exec .ActionTypeMeta , Name : eventName (bss [1 ])},
792
+ {Type : exec .ActionTypeMeta , Name : eventName (bss [2 ])},
793
+ {Type : exec .ActionTypeMeta , Name : eventName (bss [3 ])},
794
+ {Type : exec .ActionTypeMeta , Name : eventName (bss [4 ])},
795
+ {Type : exec .ActionTypeMeta , Name : eventName (bss [5 ])},
796
+ {Type : exec .ActionTypeMeta , Name : eventName (hcs [0 ])},
797
+ {Type : exec .ActionTypeMeta , Name : eventName (hcs [1 ])},
798
+ {Type : exec .ActionTypeMeta , Name : eventName (hcs [2 ])},
799
+ {Type : exec .ActionTypeMeta , Name : eventName (hcs [3 ])},
800
+ {Type : exec .ActionTypeMeta , Name : eventName (hcs [4 ])},
801
+ {Type : exec .ActionTypeMeta , Name : eventName (hcs [5 ])},
802
+ {Type : exec .ActionTypeMeta , Name : eventName (tcprs [0 ])},
803
+ {Type : exec .ActionTypeMeta , Name : eventName (tcprs [1 ])},
804
+ {Type : exec .ActionTypeMeta , Name : eventName (tcprs [2 ])},
805
+ }
806
+
807
+ result , err = plan .Do (ctx , theCloud , graph )
808
+ if err != nil {
809
+ t .Fatalf ("plan.Do(_, _, _) = %v, want nil" , err )
810
+ }
811
+
812
+ t .Logf ("\n Plan.Actions: %v" , result .Actions )
813
+ t .Logf ("\n Plan.Got: %v" , result .Got )
814
+ t .Logf ("\n Plan.Want: %v" , result .Want )
815
+
816
+ err = expectActions (result .Actions , expectedActions )
817
+ if err != nil {
818
+ t .Fatalf ("expectActions(_, _) = %v, want nil" , err )
819
+ }
820
+
821
+ }
822
+
731
823
func TestTcpRouteDeletion (t * testing.T ) {
732
824
t .Parallel ()
733
825
ctx := context .Background ()
0 commit comments