@@ -797,3 +797,204 @@ func TestGetCIDR(t *testing.T) {
797
797
}
798
798
}
799
799
}
800
+
801
+ func Test_fillMissingCIDR (t * testing.T ) {
802
+ type args struct {
803
+ c * spec.ClusterState
804
+ }
805
+ tests := []struct {
806
+ name string
807
+ args args
808
+ wantErr bool
809
+ validate func (t * testing.T , args args )
810
+ }{
811
+ {
812
+ name : "test01" ,
813
+ args : args {
814
+ c : & spec.ClusterState {
815
+ Current : & spec.Clusters {
816
+ K8S : & spec.K8Scluster {ClusterInfo : & spec.ClusterInfo {
817
+ Name : "k8s-current-test-01" ,
818
+ Hash : "01" ,
819
+ NodePools : []* spec.NodePool {
820
+ {
821
+ Name : "k8s-01" ,
822
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
823
+ Cidr : "10.0.0.0/24" ,
824
+ Region : "europe-west" ,
825
+ Provider : & spec.Provider {SpecName : "hetzner-1" , CloudProviderName : "hetzner" },
826
+ }},
827
+ },
828
+ {
829
+ Name : "k8s-02" ,
830
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
831
+ Cidr : "10.0.1.0/24" ,
832
+ Region : "europe-east" ,
833
+ Provider : & spec.Provider {SpecName : "gcp-1" , CloudProviderName : "gcp" },
834
+ }},
835
+ },
836
+ }}},
837
+ LoadBalancers : & spec.LoadBalancers {Clusters : []* spec.LBcluster {
838
+ {
839
+ ClusterInfo : & spec.ClusterInfo {
840
+ Name : "lb-current-test-01" ,
841
+ Hash : "03" ,
842
+ NodePools : []* spec.NodePool {
843
+ {
844
+ Name : "lb-01" ,
845
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
846
+ Cidr : "10.0.0.0/24" ,
847
+ Region : "europe-east" ,
848
+ Provider : & spec.Provider {SpecName : "gcp-1" , CloudProviderName : "gcp" },
849
+ }},
850
+ },
851
+ {
852
+ Name : "lb-02" ,
853
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
854
+ Cidr : "10.0.1.0/24" ,
855
+ Region : "europe-east" ,
856
+ Provider : & spec.Provider {SpecName : "gcp-1" , CloudProviderName : "gcp" },
857
+ }},
858
+ },
859
+ }},
860
+ },
861
+ {
862
+ ClusterInfo : & spec.ClusterInfo {
863
+ Name : "lb-current-test-02" ,
864
+ Hash : "04" ,
865
+ NodePools : []* spec.NodePool {
866
+ {
867
+ Name : "lb-02-01" ,
868
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
869
+ Cidr : "10.0.0.0/24" ,
870
+ Region : "europe-north" ,
871
+ Provider : & spec.Provider {SpecName : "oci-1" , CloudProviderName : "oci" },
872
+ }},
873
+ },
874
+ {
875
+ Name : "lb-02-02" ,
876
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
877
+ Cidr : "10.0.1.0/24" ,
878
+ Region : "europe-north" ,
879
+ Provider : & spec.Provider {SpecName : "oci-2" , CloudProviderName : "oci" },
880
+ }},
881
+ },
882
+ }},
883
+ },
884
+ }},
885
+ },
886
+ Desired : & spec.Clusters {
887
+ K8S : & spec.K8Scluster {ClusterInfo : & spec.ClusterInfo {
888
+ Name : "k8s-current-test-01" ,
889
+ Hash : "01" ,
890
+ NodePools : []* spec.NodePool {
891
+ {
892
+ Name : "k8s-01" ,
893
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
894
+ Cidr : "10.0.0.0/24" ,
895
+ Region : "europe-west" ,
896
+ Provider : & spec.Provider {SpecName : "hetzner-1" , CloudProviderName : "hetzner" },
897
+ }},
898
+ },
899
+ {
900
+ Name : "k8s-03" ,
901
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
902
+ Cidr : "" ,
903
+ Region : "europe-west" ,
904
+ Provider : & spec.Provider {SpecName : "hetzner-1" , CloudProviderName : "hetzner" },
905
+ }},
906
+ },
907
+ }}},
908
+ LoadBalancers : & spec.LoadBalancers {Clusters : []* spec.LBcluster {
909
+ {
910
+ ClusterInfo : & spec.ClusterInfo {
911
+ Name : "lb-current-test-01" ,
912
+ Hash : "03" ,
913
+ NodePools : []* spec.NodePool {
914
+ {
915
+ Name : "lb-01" ,
916
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
917
+ Cidr : "10.0.0.0/24" ,
918
+ Region : "europe-east" ,
919
+ Provider : & spec.Provider {SpecName : "gcp-1" , CloudProviderName : "gcp" },
920
+ }},
921
+ },
922
+ {
923
+ Name : "lb-03" ,
924
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
925
+ Cidr : "" ,
926
+ Region : "europe-east" ,
927
+ Provider : & spec.Provider {SpecName : "gcp-1" , CloudProviderName : "gcp" },
928
+ }},
929
+ },
930
+ }},
931
+ },
932
+ {
933
+ ClusterInfo : & spec.ClusterInfo {
934
+ Name : "lb-current-test-02" ,
935
+ Hash : "04" ,
936
+ NodePools : []* spec.NodePool {
937
+ {
938
+ Name : "lb-02-01" ,
939
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
940
+ Cidr : "10.0.0.0/24" ,
941
+ Region : "europe-north" ,
942
+ Provider : & spec.Provider {SpecName : "oci-1" , CloudProviderName : "oci" },
943
+ }},
944
+ },
945
+ {
946
+ Name : "lb-02-02" ,
947
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
948
+ Cidr : "10.0.1.0/24" ,
949
+ Region : "europe-north" ,
950
+ Provider : & spec.Provider {SpecName : "oci-2" , CloudProviderName : "oci" },
951
+ }},
952
+ },
953
+ }},
954
+ },
955
+ {
956
+ ClusterInfo : & spec.ClusterInfo {
957
+ Name : "lb-current-test-03" ,
958
+ Hash : "04" ,
959
+ NodePools : []* spec.NodePool {
960
+ {
961
+ Name : "lb-02-01" ,
962
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
963
+ Cidr : "" ,
964
+ Region : "europe-north" ,
965
+ Provider : & spec.Provider {SpecName : "oci-1" , CloudProviderName : "oci" },
966
+ }},
967
+ },
968
+ {
969
+ Name : "lb-02-02" ,
970
+ Type : & spec.NodePool_DynamicNodePool {DynamicNodePool : & spec.DynamicNodePool {
971
+ Cidr : "" ,
972
+ Region : "europe-north" ,
973
+ Provider : & spec.Provider {SpecName : "oci-2" , CloudProviderName : "oci" },
974
+ }},
975
+ },
976
+ }},
977
+ },
978
+ }},
979
+ },
980
+ },
981
+ },
982
+ wantErr : false ,
983
+ validate : func (t * testing.T , args args ) {
984
+ assert .Equal (t , "10.0.1.0/24" , args .c .Desired .K8S .ClusterInfo .NodePools [1 ].GetDynamicNodePool ().Cidr )
985
+ assert .Equal (t , "10.0.2.0/24" , args .c .Desired .LoadBalancers .Clusters [0 ].ClusterInfo .NodePools [1 ].GetDynamicNodePool ().Cidr )
986
+ assert .Equal (t , "10.0.0.0/24" , args .c .Desired .LoadBalancers .Clusters [2 ].ClusterInfo .NodePools [0 ].GetDynamicNodePool ().Cidr )
987
+ assert .Equal (t , "10.0.0.0/24" , args .c .Desired .LoadBalancers .Clusters [2 ].ClusterInfo .NodePools [1 ].GetDynamicNodePool ().Cidr )
988
+ },
989
+ },
990
+ }
991
+
992
+ for _ , tt := range tests {
993
+ t .Run (tt .name , func (t * testing.T ) {
994
+ if err := fillMissingCIDR (tt .args .c ); (err != nil ) != tt .wantErr {
995
+ t .Errorf ("fillMissingCIDR() = %v want = %v" , err , tt .wantErr )
996
+ }
997
+ tt .validate (t , tt .args )
998
+ })
999
+ }
1000
+ }
0 commit comments