Merge pull request #89207 from wccsama/service-controller-test

clean up the awkward pattern in service_controller_test
This commit is contained in:
Kubernetes Prow Robot 2020-04-03 02:09:46 -07:00 committed by GitHub
commit 873fe1478a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -41,6 +41,7 @@ import (
fakecloud "k8s.io/cloud-provider/fake" fakecloud "k8s.io/cloud-provider/fake"
servicehelper "k8s.io/cloud-provider/service/helpers" servicehelper "k8s.io/cloud-provider/service/helpers"
featuregatetesting "k8s.io/component-base/featuregate/testing" featuregatetesting "k8s.io/component-base/featuregate/testing"
"k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller"
) )
@ -345,25 +346,20 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) {
if !createCallFound { if !createCallFound {
t.Errorf("Got no create call for load balancer, expected one") t.Errorf("Got no create call for load balancer, expected one")
} }
// TODO(@MrHohn): Clean up the awkward pattern here.
var balancer *fakecloud.Balancer if len(cloud.Balancers) == 0 {
for k := range cloud.Balancers { t.Errorf("Got no load balancer: %v, expected one to be created", cloud.Balancers)
if balancer == nil { }
b := cloud.Balancers[k]
balancer = &b for _, balancer := range cloud.Balancers {
} else { if balancer.Name != controller.balancer.GetLoadBalancerName(context.Background(), "", tc.service) ||
t.Errorf("Got load balancer %v, expected one to be created", cloud.Balancers) balancer.Region != region ||
break balancer.Ports[0].Port != tc.service.Spec.Ports[0].Port {
t.Errorf("Created load balancer has incorrect parameters: %v", balancer)
} }
} }
if balancer == nil {
t.Errorf("Got no load balancer, expected one to be created")
} else if balancer.Name != controller.balancer.GetLoadBalancerName(context.Background(), "", tc.service) ||
balancer.Region != region ||
balancer.Ports[0].Port != tc.service.Spec.Ports[0].Port {
t.Errorf("Created load balancer has incorrect parameters: %v", balancer)
}
} }
if tc.expectDeleteAttempt { if tc.expectDeleteAttempt {
deleteCallFound := false deleteCallFound := false
for _, call := range cloud.Calls { for _, call := range cloud.Calls {
@ -472,8 +468,8 @@ func TestUpdateNodesInExternalLoadBalancer(t *testing.T) {
var services []*v1.Service var services []*v1.Service
services = append(services, item.services...) services = append(services, item.services...)
if err := controller.updateLoadBalancerHosts(services, nodes); err != nil { if servicesToRetry := controller.updateLoadBalancerHosts(services, nodes); servicesToRetry != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected servicesToRetry: %v", servicesToRetry)
} }
if !reflect.DeepEqual(item.expectedUpdateCalls, cloud.UpdateCalls) { if !reflect.DeepEqual(item.expectedUpdateCalls, cloud.UpdateCalls) {
t.Errorf("expected update calls mismatch, expected %+v, got %+v", item.expectedUpdateCalls, cloud.UpdateCalls) t.Errorf("expected update calls mismatch, expected %+v, got %+v", item.expectedUpdateCalls, cloud.UpdateCalls)