66
77 . "github.com/onsi/gomega"
88 appsv1 "k8s.io/api/apps/v1"
9+ autoscalingv2 "k8s.io/api/autoscaling/v2"
910 corev1 "k8s.io/api/core/v1"
1011 rbacv1 "k8s.io/api/rbac/v1"
1112 "k8s.io/apimachinery/pkg/api/resource"
@@ -279,6 +280,13 @@ func TestBuildNginxResourceObjects_NginxProxyConfig(t *testing.T) {
279280 },
280281 Deployment : & ngfAPIv1alpha2.DeploymentSpec {
281282 Replicas : helpers.GetPointer [int32 ](3 ),
283+ Autoscaling : ngfAPIv1alpha2.HPASpec {
284+ Enabled : true ,
285+ MinReplicas : 1 ,
286+ MaxReplicas : 5 ,
287+ TargetMemoryUtilizationPercentage : helpers.GetPointer [int32 ](60 ),
288+ // Behavior, AutoscalingTemplate, HPAAnnotations 등은 필요하면 채우고
289+ },
282290 Pod : ngfAPIv1alpha2.PodSpec {
283291 TerminationGracePeriodSeconds : helpers.GetPointer [int64 ](25 ),
284292 },
@@ -301,7 +309,7 @@ func TestBuildNginxResourceObjects_NginxProxyConfig(t *testing.T) {
301309 objects , err := provisioner .buildNginxResourceObjects (resourceName , gateway , nProxyCfg )
302310 g .Expect (err ).ToNot (HaveOccurred ())
303311
304- g .Expect (objects ).To (HaveLen (6 ))
312+ g .Expect (objects ).To (HaveLen (7 ))
305313
306314 cmObj := objects [1 ]
307315 cm , ok := cmObj .(* corev1.ConfigMap )
@@ -803,7 +811,7 @@ func TestBuildNginxResourceObjectsForDeletion(t *testing.T) {
803811
804812 objects := provisioner .buildNginxResourceObjectsForDeletion (deploymentNSName )
805813
806- g .Expect (objects ).To (HaveLen (7 ))
814+ g .Expect (objects ).To (HaveLen (8 ))
807815
808816 validateMeta := func (obj client.Object , name string ) {
809817 g .Expect (obj .GetName ()).To (Equal (name ))
@@ -825,17 +833,22 @@ func TestBuildNginxResourceObjectsForDeletion(t *testing.T) {
825833 g .Expect (ok ).To (BeTrue ())
826834 validateMeta (svc , deploymentNSName .Name )
827835
828- svcAcctObj := objects [3 ]
836+ hpaObj := objects [3 ]
837+ hpa , ok := hpaObj .(* autoscalingv2.HorizontalPodAutoscaler )
838+ g .Expect (ok ).To (BeTrue ())
839+ validateMeta (hpa , deploymentNSName .Name )
840+
841+ svcAcctObj := objects [4 ]
829842 svcAcct , ok := svcAcctObj .(* corev1.ServiceAccount )
830843 g .Expect (ok ).To (BeTrue ())
831844 validateMeta (svcAcct , deploymentNSName .Name )
832845
833- cmObj := objects [4 ]
846+ cmObj := objects [5 ]
834847 cm , ok := cmObj .(* corev1.ConfigMap )
835848 g .Expect (ok ).To (BeTrue ())
836849 validateMeta (cm , controller .CreateNginxResourceName (deploymentNSName .Name , nginxIncludesConfigMapNameSuffix ))
837850
838- cmObj = objects [5 ]
851+ cmObj = objects [6 ]
839852 cm , ok = cmObj .(* corev1.ConfigMap )
840853 g .Expect (ok ).To (BeTrue ())
841854 validateMeta (cm , controller .CreateNginxResourceName (deploymentNSName .Name , nginxAgentConfigMapNameSuffix ))
@@ -865,7 +878,7 @@ func TestBuildNginxResourceObjectsForDeletion_Plus(t *testing.T) {
865878
866879 objects := provisioner .buildNginxResourceObjectsForDeletion (deploymentNSName )
867880
868- g .Expect (objects ).To (HaveLen (11 ))
881+ g .Expect (objects ).To (HaveLen (12 ))
869882
870883 validateMeta := func (obj client.Object , name string ) {
871884 g .Expect (obj .GetName ()).To (Equal (name ))
@@ -887,46 +900,51 @@ func TestBuildNginxResourceObjectsForDeletion_Plus(t *testing.T) {
887900 g .Expect (ok ).To (BeTrue ())
888901 validateMeta (svc , deploymentNSName .Name )
889902
890- svcAcctObj := objects [3 ]
903+ hpaObj := objects [3 ]
904+ hpa , ok := hpaObj .(* autoscalingv2.HorizontalPodAutoscaler )
905+ g .Expect (ok ).To (BeTrue ())
906+ validateMeta (hpa , deploymentNSName .Name )
907+
908+ svcAcctObj := objects [4 ]
891909 svcAcct , ok := svcAcctObj .(* corev1.ServiceAccount )
892910 g .Expect (ok ).To (BeTrue ())
893911 validateMeta (svcAcct , deploymentNSName .Name )
894912
895- cmObj := objects [4 ]
913+ cmObj := objects [5 ]
896914 cm , ok := cmObj .(* corev1.ConfigMap )
897915 g .Expect (ok ).To (BeTrue ())
898916 validateMeta (cm , controller .CreateNginxResourceName (deploymentNSName .Name , nginxIncludesConfigMapNameSuffix ))
899917
900- cmObj = objects [5 ]
918+ cmObj = objects [6 ]
901919 cm , ok = cmObj .(* corev1.ConfigMap )
902920 g .Expect (ok ).To (BeTrue ())
903921 validateMeta (cm , controller .CreateNginxResourceName (deploymentNSName .Name , nginxAgentConfigMapNameSuffix ))
904922
905- secretObj := objects [6 ]
923+ secretObj := objects [7 ]
906924 secret , ok := secretObj .(* corev1.Secret )
907925 g .Expect (ok ).To (BeTrue ())
908926 validateMeta (secret , controller .CreateNginxResourceName (
909927 deploymentNSName .Name ,
910928 provisioner .cfg .AgentTLSSecretName ,
911929 ))
912930
913- secretObj = objects [7 ]
931+ secretObj = objects [8 ]
914932 secret , ok = secretObj .(* corev1.Secret )
915933 g .Expect (ok ).To (BeTrue ())
916934 validateMeta (secret , controller .CreateNginxResourceName (
917935 deploymentNSName .Name ,
918936 provisioner .cfg .NginxDockerSecretNames [0 ],
919937 ))
920938
921- secretObj = objects [8 ]
939+ secretObj = objects [9 ]
922940 secret , ok = secretObj .(* corev1.Secret )
923941 g .Expect (ok ).To (BeTrue ())
924942 validateMeta (secret , controller .CreateNginxResourceName (
925943 deploymentNSName .Name ,
926944 provisioner .cfg .PlusUsageConfig .CASecretName ,
927945 ))
928946
929- secretObj = objects [9 ]
947+ secretObj = objects [10 ]
930948 secret , ok = secretObj .(* corev1.Secret )
931949 g .Expect (ok ).To (BeTrue ())
932950 validateMeta (secret , controller .CreateNginxResourceName (
@@ -948,19 +966,19 @@ func TestBuildNginxResourceObjectsForDeletion_OpenShift(t *testing.T) {
948966
949967 objects := provisioner .buildNginxResourceObjectsForDeletion (deploymentNSName )
950968
951- g .Expect (objects ).To (HaveLen (9 ))
969+ g .Expect (objects ).To (HaveLen (10 ))
952970
953971 validateMeta := func (obj client.Object , name string ) {
954972 g .Expect (obj .GetName ()).To (Equal (name ))
955973 g .Expect (obj .GetNamespace ()).To (Equal (deploymentNSName .Namespace ))
956974 }
957975
958- roleObj := objects [3 ]
976+ roleObj := objects [4 ]
959977 role , ok := roleObj .(* rbacv1.Role )
960978 g .Expect (ok ).To (BeTrue ())
961979 validateMeta (role , deploymentNSName .Name )
962980
963- roleBindingObj := objects [4 ]
981+ roleBindingObj := objects [5 ]
964982 roleBinding , ok := roleBindingObj .(* rbacv1.RoleBinding )
965983 g .Expect (ok ).To (BeTrue ())
966984 validateMeta (roleBinding , deploymentNSName .Name )
0 commit comments