@@ -18,6 +18,7 @@ import (
1818 "k8s.io/apimachinery/pkg/watch"
1919 clienttesting "k8s.io/client-go/testing"
2020 "k8s.io/client-go/tools/cache"
21+ "k8s.io/utils/ptr"
2122)
2223
2324func TestMergeContainerResources (t * testing.T ) {
@@ -946,8 +947,6 @@ func TestGetOverrideSchedulingFor(t *testing.T) {
946947}
947948
948949func TestGetOverrideReplicasFor (t * testing.T ) {
949- ptr := func (i int32 ) * int32 { return & i }
950-
951950 tests := []struct {
952951 name string
953952 certManagerObj v1alpha1.CertManager
@@ -962,27 +961,27 @@ func TestGetOverrideReplicasFor(t *testing.T) {
962961 },
963962 Spec : v1alpha1.CertManagerSpec {
964963 ControllerConfig : & v1alpha1.DeploymentConfig {
965- OverrideReplicas : ptr ( 2 ),
964+ OverrideReplicas : ptr . To ( int32 ( 3 ) ),
966965 },
967966 },
968967 },
969968 deploymentName : certmanagerControllerDeployment ,
970- expectedOverrideReplicas : ptr ( 2 ),
969+ expectedOverrideReplicas : ptr . To ( int32 ( 3 ) ),
971970 },
972971 {
973- name : "get override scheduling of cert manager webhook config" ,
972+ name : "get override replicas of cert manager webhook config" ,
974973 certManagerObj : v1alpha1.CertManager {
975974 ObjectMeta : metav1.ObjectMeta {
976975 Name : "cluster" ,
977976 },
978977 Spec : v1alpha1.CertManagerSpec {
979978 WebhookConfig : & v1alpha1.DeploymentConfig {
980- OverrideReplicas : ptr ( 0 ),
979+ OverrideReplicas : ptr . To ( int32 ( 4 ) ),
981980 },
982981 },
983982 },
984983 deploymentName : certmanagerWebhookDeployment ,
985- expectedOverrideReplicas : ptr ( 0 ),
984+ expectedOverrideReplicas : ptr . To ( int32 ( 4 ) ),
986985 },
987986 {
988987 name : "get override replicas of cert manager cainjector config" ,
@@ -992,23 +991,69 @@ func TestGetOverrideReplicasFor(t *testing.T) {
992991 },
993992 Spec : v1alpha1.CertManagerSpec {
994993 CAInjectorConfig : & v1alpha1.DeploymentConfig {
995- OverrideReplicas : ptr ( 2 ),
994+ OverrideReplicas : ptr . To ( int32 ( 2 ) ),
996995 },
997996 },
998997 },
999998 deploymentName : certmanagerCAinjectorDeployment ,
1000- expectedOverrideReplicas : ptr (2 ),
999+ expectedOverrideReplicas : ptr .To (int32 (2 )),
1000+ },
1001+ {
1002+ name : "get nil override replicas when config exists but replicas field is nil for controller" ,
1003+ certManagerObj : v1alpha1.CertManager {
1004+ ObjectMeta : metav1.ObjectMeta {
1005+ Name : "cluster" ,
1006+ },
1007+ Spec : v1alpha1.CertManagerSpec {
1008+ ControllerConfig : & v1alpha1.DeploymentConfig {
1009+ OverrideArgs : []string {"--v=3" },
1010+ OverrideReplicas : nil ,
1011+ },
1012+ },
1013+ },
1014+ deploymentName : certmanagerControllerDeployment ,
1015+ expectedOverrideReplicas : nil ,
1016+ },
1017+ {
1018+ name : "get nil override replicas when config exists but replicas field is nil for webhook" ,
1019+ certManagerObj : v1alpha1.CertManager {
1020+ ObjectMeta : metav1.ObjectMeta {
1021+ Name : "cluster" ,
1022+ },
1023+ Spec : v1alpha1.CertManagerSpec {
1024+ WebhookConfig : & v1alpha1.DeploymentConfig {
1025+ OverrideEnv : []corev1.EnvVar {{Name : "TEST" , Value : "value" }},
1026+ OverrideReplicas : nil ,
1027+ },
1028+ },
1029+ },
1030+ deploymentName : certmanagerWebhookDeployment ,
1031+ expectedOverrideReplicas : nil ,
10011032 },
10021033 {
1003- name : "no override replicas configured " ,
1034+ name : "get nil override replicas when config exists but replicas field is nil for cainjector " ,
10041035 certManagerObj : v1alpha1.CertManager {
10051036 ObjectMeta : metav1.ObjectMeta {
10061037 Name : "cluster" ,
10071038 },
10081039 Spec : v1alpha1.CertManagerSpec {
1009- // no configs set
1040+ CAInjectorConfig : & v1alpha1.DeploymentConfig {
1041+ OverrideLabels : map [string ]string {"test" : "label" },
1042+ OverrideReplicas : nil ,
1043+ },
10101044 },
10111045 },
1046+ deploymentName : certmanagerCAinjectorDeployment ,
1047+ expectedOverrideReplicas : nil ,
1048+ },
1049+ {
1050+ name : "get nil override replicas when cert manager config is not set" ,
1051+ certManagerObj : v1alpha1.CertManager {
1052+ ObjectMeta : metav1.ObjectMeta {
1053+ Name : "cluster" ,
1054+ },
1055+ Spec : v1alpha1.CertManagerSpec {},
1056+ },
10121057 deploymentName : certmanagerControllerDeployment ,
10131058 expectedOverrideReplicas : nil ,
10141059 },
@@ -1085,7 +1130,12 @@ func TestGetOverrideReplicasFor(t *testing.T) {
10851130
10861131 actualOverrideReplicas , err := getOverrideReplicasFor (certManagerInformers , tc .deploymentName )
10871132 assert .NoError (t , err )
1088- require .Equal (t , tc .expectedOverrideReplicas , actualOverrideReplicas )
1133+ if tc .expectedOverrideReplicas == nil {
1134+ assert .Nil (t , actualOverrideReplicas )
1135+ } else {
1136+ require .NotNil (t , actualOverrideReplicas )
1137+ assert .Equal (t , * tc .expectedOverrideReplicas , * actualOverrideReplicas )
1138+ }
10891139
10901140 // Delete the cert manager object using the fake client.
10911141 err = fakeClient .OperatorV1alpha1 ().CertManagers ().Delete (ctx , tc .certManagerObj .Name , metav1.DeleteOptions {})
0 commit comments