@@ -709,12 +709,15 @@ func TestLbaasV2_checkListenerPorts(t *testing.T) {
709709 }
710710}
711711func TestLbaasV2_createLoadBalancerStatus (t * testing.T ) {
712+ ipmodeProxy := corev1 .LoadBalancerIPModeProxy
713+ ipmodeVIP := corev1 .LoadBalancerIPModeVIP
712714 type fields struct {
713715 LoadBalancer LoadBalancer
714716 }
715717 type result struct {
716718 HostName string
717719 IPAddress string
720+ IPMode * corev1.LoadBalancerIPMode
718721 }
719722 type args struct {
720723 service * corev1.Service
@@ -800,6 +803,33 @@ func TestLbaasV2_createLoadBalancerStatus(t *testing.T) {
800803 },
801804 want : result {
802805 IPAddress : "10.10.0.6" ,
806+ IPMode : & ipmodeVIP ,
807+ },
808+ },
809+ {
810+ name : "it should return ipMode proxy if using proxyProtocol and not EnableIngressHostname" ,
811+ fields : fields {
812+ LoadBalancer : LoadBalancer {
813+ opts : LoadBalancerOpts {
814+ EnableIngressHostname : false ,
815+ IngressHostnameSuffix : "ingress-suffix" ,
816+ },
817+ },
818+ },
819+ args : args {
820+ service : & corev1.Service {
821+ ObjectMeta : v1.ObjectMeta {
822+ Annotations : map [string ]string {"test" : "key" },
823+ },
824+ },
825+ svcConf : & serviceConfig {
826+ enableProxyProtocol : true ,
827+ },
828+ addr : "10.10.0.6" ,
829+ },
830+ want : result {
831+ IPAddress : "10.10.0.6" ,
832+ IPMode : & ipmodeProxy ,
803833 },
804834 },
805835 }
@@ -812,6 +842,7 @@ func TestLbaasV2_createLoadBalancerStatus(t *testing.T) {
812842 result := lbaas .createLoadBalancerStatus (tt .args .service , tt .args .svcConf , tt .args .addr )
813843 assert .Equal (t , tt .want .HostName , result .Ingress [0 ].Hostname )
814844 assert .Equal (t , tt .want .IPAddress , result .Ingress [0 ].IP )
845+ assert .Equal (t , tt .want .IPMode , result .Ingress [0 ].IPMode )
815846 })
816847 }
817848}
0 commit comments