move shared test cluster vars into method + type

This commit is contained in:
Ashley Gau 2018-03-12 14:00:57 -07:00
parent ac6ff68e20
commit 7fff54cfdd
3 changed files with 144 additions and 191 deletions

View File

@ -30,40 +30,33 @@ import (
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce/cloud" "k8s.io/kubernetes/pkg/cloudprovider/providers/gce/cloud"
) )
const serviceName = ""
func TestEnsureStaticIP(t *testing.T) { func TestEnsureStaticIP(t *testing.T) {
projectID := "test-project" gce, err := fakeGCECloud(DefaultTestClusterValues())
region := "us-central1"
zoneName := "us-central1-b"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
ipName := "some-static-ip" ipName := "some-static-ip"
serviceName := "some-service"
// First ensure call // First ensure call
ip, existed, err := ensureStaticIP(gce, ipName, serviceName, region, "", cloud.NetworkTierDefault) ip, existed, err := ensureStaticIP(gce, ipName, serviceName, gce.region, "", cloud.NetworkTierDefault)
if err != nil || existed { if err != nil || existed {
t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, "") = %v, %v, %v; want valid ip, false, nil`, gce, ipName, serviceName, region, ip, existed, err) t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, "") = %v, %v, %v; want valid ip, false, nil`, gce, ipName, serviceName, gce.region, ip, existed, err)
} }
// Second ensure call // Second ensure call
var ipPrime string var ipPrime string
ipPrime, existed, err = ensureStaticIP(gce, ipName, serviceName, region, ip, cloud.NetworkTierDefault) ipPrime, existed, err = ensureStaticIP(gce, ipName, serviceName, gce.region, ip, cloud.NetworkTierDefault)
if err != nil || !existed || ip != ipPrime { if err != nil || !existed || ip != ipPrime {
t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, %v) = %v, %v, %v; want %v, true, nil`, gce, ipName, serviceName, region, ip, ipPrime, existed, err, ip) t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, %v) = %v, %v, %v; want %v, true, nil`, gce, ipName, serviceName, gce.region, ip, ipPrime, existed, err, ip)
} }
} }
func TestEnsureStaticIPWithTier(t *testing.T) { func TestEnsureStaticIPWithTier(t *testing.T) {
projectID := "test-project" s, err := fakeGCECloud(DefaultTestClusterValues())
region := "us-central1"
zoneName := "us-central1-b"
s, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
serviceName := "some-service"
for desc, tc := range map[string]struct { for desc, tc := range map[string]struct {
name string name string
netTier cloud.NetworkTier netTier cloud.NetworkTier
@ -81,13 +74,13 @@ func TestEnsureStaticIPWithTier(t *testing.T) {
}, },
} { } {
t.Run(desc, func(t *testing.T) { t.Run(desc, func(t *testing.T) {
ip, existed, err := ensureStaticIP(s, tc.name, serviceName, region, "", tc.netTier) ip, existed, err := ensureStaticIP(s, tc.name, serviceName, s.region, "", tc.netTier)
assert.NoError(t, err) assert.NoError(t, err)
assert.False(t, existed) assert.False(t, existed)
assert.NotEqual(t, ip, "") assert.NotEqual(t, ip, "")
// Get the Address from the fake address service and verify that the tier // Get the Address from the fake address service and verify that the tier
// is set correctly. // is set correctly.
alphaAddr, err := s.GetAlphaRegionAddress(tc.name, region) alphaAddr, err := s.GetAlphaRegionAddress(tc.name, s.region)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tc.expected, alphaAddr.NetworkTier) assert.Equal(t, tc.expected, alphaAddr.NetworkTier)
}) })
@ -96,7 +89,6 @@ func TestEnsureStaticIPWithTier(t *testing.T) {
func TestVerifyRequestedIP(t *testing.T) { func TestVerifyRequestedIP(t *testing.T) {
lbRef := "test-lb" lbRef := "test-lb"
region := "us-central1"
for desc, tc := range map[string]struct { for desc, tc := range map[string]struct {
requestedIP string requestedIP string
@ -137,13 +129,13 @@ func TestVerifyRequestedIP(t *testing.T) {
}, },
} { } {
t.Run(desc, func(t *testing.T) { t.Run(desc, func(t *testing.T) {
s, err := fakeGCECloud("test-project", region, "us-central1a") s, err := fakeGCECloud(DefaultTestClusterValues())
require.NoError(t, err) require.NoError(t, err)
for _, addr := range tc.addrList { for _, addr := range tc.addrList {
s.ReserveAlphaRegionAddress(addr, region) s.ReserveAlphaRegionAddress(addr, s.region)
} }
isUserOwnedIP, err := verifyUserRequestedIP(s, region, tc.requestedIP, tc.fwdRuleIP, lbRef, tc.netTier) isUserOwnedIP, err := verifyUserRequestedIP(s, s.region, tc.requestedIP, tc.fwdRuleIP, lbRef, tc.netTier)
assert.Equal(t, tc.expectErr, err != nil, fmt.Sprintf("err: %v", err)) assert.Equal(t, tc.expectErr, err != nil, fmt.Sprintf("err: %v", err))
assert.Equal(t, tc.expectUserOwned, isUserOwnedIP) assert.Equal(t, tc.expectUserOwned, isUserOwnedIP)
}) })
@ -154,9 +146,8 @@ func TestCreateForwardingRuleWithTier(t *testing.T) {
// Common variables among the tests. // Common variables among the tests.
ports := []v1.ServicePort{{Name: "foo", Protocol: v1.ProtocolTCP, Port: int32(123)}} ports := []v1.ServicePort{{Name: "foo", Protocol: v1.ProtocolTCP, Port: int32(123)}}
target := "test-target-pool" target := "test-target-pool"
svcName := "foo-svc" vals := DefaultTestClusterValues()
projectID := "test-project" serviceName := "foo-svc"
region := "us-central1"
baseLinkUrl := "https://www.googleapis.com/compute/%v/projects/%v/regions/%v/forwardingRules/%v" baseLinkUrl := "https://www.googleapis.com/compute/%v/projects/%v/regions/%v/forwardingRules/%v"
@ -174,7 +165,7 @@ func TestCreateForwardingRuleWithTier(t *testing.T) {
PortRange: "123-123", PortRange: "123-123",
Target: target, Target: target,
NetworkTier: "PREMIUM", NetworkTier: "PREMIUM",
SelfLink: fmt.Sprintf(baseLinkUrl, "v1", projectID, region, "lb-1"), SelfLink: fmt.Sprintf(baseLinkUrl, "v1", vals.ProjectID, vals.Region, "lb-1"),
}, },
}, },
"Standard tier": { "Standard tier": {
@ -187,21 +178,21 @@ func TestCreateForwardingRuleWithTier(t *testing.T) {
PortRange: "123-123", PortRange: "123-123",
Target: target, Target: target,
NetworkTier: "STANDARD", NetworkTier: "STANDARD",
SelfLink: fmt.Sprintf(baseLinkUrl, "alpha", projectID, region, "lb-2"), SelfLink: fmt.Sprintf(baseLinkUrl, "alpha", vals.ProjectID, vals.Region, "lb-2"),
}, },
}, },
} { } {
t.Run(desc, func(t *testing.T) { t.Run(desc, func(t *testing.T) {
s, err := fakeGCECloud(projectID, region, "us-central1a") s, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
lbName := tc.expectedRule.Name lbName := tc.expectedRule.Name
ipAddr := tc.expectedRule.IPAddress ipAddr := tc.expectedRule.IPAddress
err = createForwardingRule(s, lbName, svcName, region, ipAddr, target, ports, tc.netTier) err = createForwardingRule(s, lbName, serviceName, s.region, ipAddr, target, ports, tc.netTier)
assert.NoError(t, err) assert.NoError(t, err)
alphaRule, err := s.GetAlphaRegionForwardingRule(lbName, region) alphaRule, err := s.GetAlphaRegionForwardingRule(lbName, s.region)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, tc.expectedRule, alphaRule) assert.Equal(t, tc.expectedRule, alphaRule)
}) })
@ -210,9 +201,8 @@ func TestCreateForwardingRuleWithTier(t *testing.T) {
func TestDeleteAddressWithWrongTier(t *testing.T) { func TestDeleteAddressWithWrongTier(t *testing.T) {
lbRef := "test-lb" lbRef := "test-lb"
region := "us-central1"
s, err := fakeGCECloud("test-region", region, "us-central1a") s, err := fakeGCECloud(DefaultTestClusterValues())
require.NoError(t, err) require.NoError(t, err)
// Enable the cloud.NetworkTiers feature // Enable the cloud.NetworkTiers feature
@ -249,17 +239,17 @@ func TestDeleteAddressWithWrongTier(t *testing.T) {
} { } {
t.Run(desc, func(t *testing.T) { t.Run(desc, func(t *testing.T) {
for _, addr := range tc.addrList { for _, addr := range tc.addrList {
s.ReserveAlphaRegionAddress(addr, region) s.ReserveAlphaRegionAddress(addr, s.region)
} }
// Sanity check to ensure we inject the right address. // Sanity check to ensure we inject the right address.
_, err = s.GetRegionAddress(tc.addrName, region) _, err = s.GetRegionAddress(tc.addrName, s.region)
require.NoError(t, err) require.NoError(t, err)
err = deleteAddressWithWrongTier(s, region, tc.addrName, lbRef, tc.netTier) err = deleteAddressWithWrongTier(s, s.region, tc.addrName, lbRef, tc.netTier)
assert.NoError(t, err) assert.NoError(t, err)
// Check whether the address still exists. // Check whether the address still exists.
_, err = s.GetRegionAddress(tc.addrName, region) _, err = s.GetRegionAddress(tc.addrName, s.region)
if tc.expectDelete { if tc.expectDelete {
assert.True(t, isNotFound(err)) assert.True(t, isNotFound(err))
} else { } else {
@ -285,27 +275,23 @@ func createExternalLoadBalancer(gce *GCECloud, nodeNames []string, clusterName,
} }
func TestEnsureExternalLoadBalancer(t *testing.T) { func TestEnsureExternalLoadBalancer(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1"
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
nodeName := "test-node-1" nodeName := "test-node-1"
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
status, err := createExternalLoadBalancer(gce, []string{nodeName}, clusterName, clusterID, zoneName) status, err := createExternalLoadBalancer(gce, []string{nodeName}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotEmpty(t, status.Ingress) assert.NotEmpty(t, status.Ingress)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
hcName := MakeNodesHealthCheckName(clusterID) hcName := MakeNodesHealthCheckName(vals.ClusterID)
// Check that Firewalls are created for the LoadBalancer and the HealthCheck // Check that Firewalls are created for the LoadBalancer and the HealthCheck
fwNames := []string{ fwNames := []string{
MakeFirewallName(lbName), MakeFirewallName(lbName),
MakeHealthCheckFirewallName(clusterID, hcName, true), MakeHealthCheckFirewallName(vals.ClusterID, hcName, true),
} }
for _, fwName := range fwNames { for _, fwName := range fwNames {
@ -316,7 +302,7 @@ func TestEnsureExternalLoadBalancer(t *testing.T) {
} }
// Check that TargetPool is Created // Check that TargetPool is Created
pool, err := gce.GetTargetPool(lbName, region) pool, err := gce.GetTargetPool(lbName, gce.region)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, lbName, pool.Name) assert.Equal(t, lbName, pool.Name)
assert.NotEmpty(t, pool.HealthChecks) assert.NotEmpty(t, pool.HealthChecks)
@ -328,7 +314,7 @@ func TestEnsureExternalLoadBalancer(t *testing.T) {
assert.Equal(t, hcName, healthcheck.Name) assert.Equal(t, hcName, healthcheck.Name)
// Check that ForwardingRule is created // Check that ForwardingRule is created
fwdRule, err := gce.GetRegionForwardingRule(lbName, region) fwdRule, err := gce.GetRegionForwardingRule(lbName, gce.region)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, lbName, fwdRule.Name) assert.Equal(t, lbName, fwdRule.Name)
assert.Equal(t, "TCP", fwdRule.IPProtocol) assert.Equal(t, "TCP", fwdRule.IPProtocol)
@ -336,22 +322,17 @@ func TestEnsureExternalLoadBalancer(t *testing.T) {
} }
func TestUpdateExternalLoadBalancer(t *testing.T) { func TestUpdateExternalLoadBalancer(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1"
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-1"
nodeName := "test-node-1" nodeName := "test-node-1"
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud((DefaultTestClusterValues()))
require.NoError(t, err) require.NoError(t, err)
_, err = createExternalLoadBalancer(gce, []string{nodeName}, clusterName, clusterID, zoneName) _, err = createExternalLoadBalancer(gce, []string{nodeName}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
newNodeName := "test-node-2" newNodeName := "test-node-2"
newNodes, err := createAndInsertNodes(gce, []string{nodeName, newNodeName}, zoneName) newNodes, err := createAndInsertNodes(gce, []string{nodeName, newNodeName}, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
// Add the new node, then check that it is properly added to the TargetPool // Add the new node, then check that it is properly added to the TargetPool
@ -360,64 +341,59 @@ func TestUpdateExternalLoadBalancer(t *testing.T) {
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
pool, err := gce.GetTargetPool(lbName, region) pool, err := gce.GetTargetPool(lbName, gce.region)
require.NoError(t, err) require.NoError(t, err)
// TODO: when testify is updated to v1.2.0+, use ElementsMatch instead // TODO: when testify is updated to v1.2.0+, use ElementsMatch instead
assert.Contains( assert.Contains(
t, t,
pool.Instances, pool.Instances,
fmt.Sprintf("/zones/%s/instances/%s", zoneName, nodeName), fmt.Sprintf("/zones/%s/instances/%s", vals.ZoneName, nodeName),
) )
assert.Contains( assert.Contains(
t, t,
pool.Instances, pool.Instances,
fmt.Sprintf("/zones/%s/instances/%s", zoneName, newNodeName), fmt.Sprintf("/zones/%s/instances/%s", vals.ZoneName, newNodeName),
) )
newNodes, err = createAndInsertNodes(gce, []string{nodeName}, zoneName) newNodes, err = createAndInsertNodes(gce, []string{nodeName}, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
// Remove the new node by calling updateExternalLoadBalancer with a list // Remove the new node by calling updateExternalLoadBalancer with a list
// only containing the old node, and test that the TargetPool no longer // only containing the old node, and test that the TargetPool no longer
// contains the new node. // contains the new node.
err = gce.updateExternalLoadBalancer(clusterName, fakeApiService, newNodes) err = gce.updateExternalLoadBalancer(vals.ClusterName, fakeApiService, newNodes)
assert.NoError(t, err) assert.NoError(t, err)
pool, err = gce.GetTargetPool(lbName, region) pool, err = gce.GetTargetPool(lbName, gce.region)
require.NoError(t, err) require.NoError(t, err)
assert.Equal( assert.Equal(
t, t,
[]string{fmt.Sprintf("/zones/%s/instances/%s", zoneName, nodeName)}, []string{fmt.Sprintf("/zones/%s/instances/%s", vals.ZoneName, nodeName)},
pool.Instances, pool.Instances,
) )
} }
func TestEnsureExternalLoadBalancerDeleted(t *testing.T) { func TestEnsureExternalLoadBalancerDeleted(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1" gce, err := fakeGCECloud(vals)
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
_, err = createExternalLoadBalancer(gce, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createExternalLoadBalancer(gce, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
err = gce.ensureExternalLoadBalancerDeleted(clusterName, clusterID, fakeApiService) err = gce.ensureExternalLoadBalancerDeleted(vals.ClusterName, vals.ClusterID, fakeApiService)
assert.NoError(t, err) assert.NoError(t, err)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
hcName := MakeNodesHealthCheckName(clusterID) hcName := MakeNodesHealthCheckName(vals.ClusterID)
// Check that Firewalls are deleted for the LoadBalancer and the HealthCheck // Check that Firewalls are deleted for the LoadBalancer and the HealthCheck
fwNames := []string{ fwNames := []string{
MakeFirewallName(lbName), MakeFirewallName(lbName),
MakeHealthCheckFirewallName(clusterID, hcName, true), MakeHealthCheckFirewallName(vals.ClusterID, hcName, true),
} }
for _, fwName := range fwNames { for _, fwName := range fwNames {
@ -427,7 +403,7 @@ func TestEnsureExternalLoadBalancerDeleted(t *testing.T) {
} }
// Check that TargetPool is deleted // Check that TargetPool is deleted
pool, err := gce.GetTargetPool(lbName, region) pool, err := gce.GetTargetPool(lbName, gce.region)
require.Error(t, err) require.Error(t, err)
assert.Nil(t, pool) assert.Nil(t, pool)
@ -437,19 +413,14 @@ func TestEnsureExternalLoadBalancerDeleted(t *testing.T) {
assert.Nil(t, healthcheck) assert.Nil(t, healthcheck)
// Check forwarding rule is deleted // Check forwarding rule is deleted
fwdRule, err := gce.GetRegionForwardingRule(lbName, region) fwdRule, err := gce.GetRegionForwardingRule(lbName, gce.region)
require.Error(t, err) require.Error(t, err)
assert.Nil(t, fwdRule) assert.Nil(t, fwdRule)
} }
func TestLoadBalancerWrongTierResourceDeletion(t *testing.T) { func TestLoadBalancerWrongTierResourceDeletion(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1" gce, err := fakeGCECloud(vals)
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
// Enable the cloud.NetworkTiers feature // Enable the cloud.NetworkTiers feature
@ -469,7 +440,7 @@ func TestLoadBalancerWrongTierResourceDeletion(t *testing.T) {
gce, gce,
lbName, lbName,
serviceName.String(), serviceName.String(),
region, gce.region,
"", "",
gce.targetPoolURL(lbName), gce.targetPoolURL(lbName),
fakeApiService.Spec.Ports, fakeApiService.Spec.Ports,
@ -483,18 +454,18 @@ func TestLoadBalancerWrongTierResourceDeletion(t *testing.T) {
NetworkTier: cloud.NetworkTierStandard.ToGCEValue(), NetworkTier: cloud.NetworkTierStandard.ToGCEValue(),
} }
err = gce.ReserveAlphaRegionAddress(addressObj, region) err = gce.ReserveAlphaRegionAddress(addressObj, gce.region)
require.NoError(t, err) require.NoError(t, err)
_, err = createExternalLoadBalancer(gce, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createExternalLoadBalancer(gce, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
require.NoError(t, err) require.NoError(t, err)
// Expect forwarding rule tier to not be Standard // Expect forwarding rule tier to not be Standard
tier, err := gce.getNetworkTierFromForwardingRule(lbName, region) tier, err := gce.getNetworkTierFromForwardingRule(lbName, gce.region)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, cloud.NetworkTierDefault.ToGCEValue(), tier) assert.Equal(t, cloud.NetworkTierDefault.ToGCEValue(), tier)
// Expect address to be deleted // Expect address to be deleted
_, err = gce.GetRegionAddress(lbName, region) _, err = gce.GetRegionAddress(lbName, gce.region)
assert.True(t, isNotFound(err)) assert.True(t, isNotFound(err))
} }

View File

@ -51,17 +51,17 @@ func TestEnsureInternalBackendServiceUpdates(t *testing.T) {
vals := DefaultTestClusterValues() vals := DefaultTestClusterValues()
nodeNames := []string{"test-node-1"} nodeNames := []string{"test-node-1"}
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
nodes, err := createAndInsertNodes(gce, nodeNames, zoneName) nodes, err := createAndInsertNodes(gce, nodeNames, vals.ZoneName)
igName := makeInstanceGroupName(clusterID) igName := makeInstanceGroupName(vals.ClusterID)
igLinks, err := gce.ensureInternalInstanceGroups(igName, nodes) igLinks, err := gce.ensureInternalInstanceGroups(igName, nodes)
require.NoError(t, err) require.NoError(t, err)
sharedBackend := shareBackendService(fakeApiService) sharedBackend := shareBackendService(fakeApiService)
bsName := makeBackendServiceName(lbName, clusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity) bsName := makeBackendServiceName(lbName, vals.ClusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity)
err = gce.ensureInternalBackendService(bsName, "description", fakeApiService.Spec.SessionAffinity, cloud.SchemeInternal, "TCP", igLinks, "") err = gce.ensureInternalBackendService(bsName, "description", fakeApiService.Spec.SessionAffinity, cloud.SchemeInternal, "TCP", igLinks, "")
require.NoError(t, err) require.NoError(t, err)
@ -75,23 +75,20 @@ func TestEnsureInternalBackendServiceUpdates(t *testing.T) {
} }
func TestEnsureInternalBackendServiceGroups(t *testing.T) { func TestEnsureInternalBackendServiceGroups(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1"
zoneName := "us-central1-b"
clusterID := "test-cluster-id"
nodeNames := []string{"test-node-1"} nodeNames := []string{"test-node-1"}
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
nodes, err := createAndInsertNodes(gce, nodeNames, zoneName) nodes, err := createAndInsertNodes(gce, nodeNames, vals.ZoneName)
igName := makeInstanceGroupName(clusterID) igName := makeInstanceGroupName(vals.ClusterID)
igLinks, err := gce.ensureInternalInstanceGroups(igName, nodes) igLinks, err := gce.ensureInternalInstanceGroups(igName, nodes)
require.NoError(t, err) require.NoError(t, err)
sharedBackend := shareBackendService(fakeApiService) sharedBackend := shareBackendService(fakeApiService)
bsName := makeBackendServiceName(lbName, clusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity) bsName := makeBackendServiceName(lbName, vals.ClusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity)
err = gce.ensureInternalBackendService(bsName, "description", fakeApiService.Spec.SessionAffinity, cloud.SchemeInternal, "TCP", igLinks, "") err = gce.ensureInternalBackendService(bsName, "description", fakeApiService.Spec.SessionAffinity, cloud.SchemeInternal, "TCP", igLinks, "")
require.NoError(t, err) require.NoError(t, err)
@ -104,39 +101,35 @@ func TestEnsureInternalBackendServiceGroups(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
// Check that the instances are updated // Check that the instances are updated
newNodes, err := createAndInsertNodes(gce, newNodeNames, zoneName) newNodes, err := createAndInsertNodes(gce, newNodeNames, vals.ZoneName)
newIgLinks, err := gce.ensureInternalInstanceGroups(igName, newNodes) newIgLinks, err := gce.ensureInternalInstanceGroups(igName, newNodes)
backends := backendsFromGroupLinks(newIgLinks) backends := backendsFromGroupLinks(newIgLinks)
assert.Equal(t, bs.Backends, backends) assert.Equal(t, bs.Backends, backends)
} }
func TestEnsureInternalLoadBalancer(t *testing.T) { func TestEnsureInternalLoadBalancer(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1"
zoneName := "us-central1-b"
clusterName := "Test Cluster"
clusterID := "test-cluster-id"
nodeName := "test-node-1" nodeName := "test-node-1"
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
status, err := createInternalLoadBalancer(gce, nil, []string{nodeName}, clusterName, clusterID, zoneName) status, err := createInternalLoadBalancer(gce, nil, []string{nodeName}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotEmpty(t, status.Ingress) assert.NotEmpty(t, status.Ingress)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
// Check that Instance Group is created // Check that Instance Group is created
igName := makeInstanceGroupName(clusterID) igName := makeInstanceGroupName(vals.ClusterID)
ig, err := gce.GetInstanceGroup(igName, zoneName) ig, err := gce.GetInstanceGroup(igName, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, igName, ig.Name) assert.Equal(t, igName, ig.Name)
// Check that Firewalls are created for the LoadBalancer and the HealthCheck // Check that Firewalls are created for the LoadBalancer and the HealthCheck
fwNames := []string{ fwNames := []string{
lbName, lbName,
makeHealthCheckFirewallName(lbName, clusterID, true), makeHealthCheckFirewallName(lbName, vals.ClusterID, true),
} }
for _, fwName := range fwNames { for _, fwName := range fwNames {
@ -148,14 +141,14 @@ func TestEnsureInternalLoadBalancer(t *testing.T) {
// Check that HealthCheck is created // Check that HealthCheck is created
sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService) sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService)
hcName := makeHealthCheckName(lbName, clusterID, sharedHealthCheck) hcName := makeHealthCheckName(lbName, vals.ClusterID, sharedHealthCheck)
healthcheck, err := gce.GetHealthCheck(hcName) healthcheck, err := gce.GetHealthCheck(hcName)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, hcName, healthcheck.Name) assert.Equal(t, hcName, healthcheck.Name)
// Check that BackendService exists // Check that BackendService exists
sharedBackend := shareBackendService(fakeApiService) sharedBackend := shareBackendService(fakeApiService)
backendServiceName := makeBackendServiceName(lbName, clusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity) backendServiceName := makeBackendServiceName(lbName, vals.ClusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity)
backendServiceLink := gce.getBackendServiceLink(backendServiceName) backendServiceLink := gce.getBackendServiceLink(backendServiceName)
bs, err := gce.GetRegionBackendService(backendServiceName, gce.region) bs, err := gce.GetRegionBackendService(backendServiceName, gce.region)
@ -168,7 +161,7 @@ func TestEnsureInternalLoadBalancer(t *testing.T) {
) )
// Check that ForwardingRule is created // Check that ForwardingRule is created
fwdRule, err := gce.GetRegionForwardingRule(lbName, region) fwdRule, err := gce.GetRegionForwardingRule(lbName, gce.region)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, lbName, fwdRule.Name) assert.Equal(t, lbName, fwdRule.Name)
assert.Equal(t, "TCP", fwdRule.IPProtocol) assert.Equal(t, "TCP", fwdRule.IPProtocol)
@ -178,14 +171,10 @@ func TestEnsureInternalLoadBalancer(t *testing.T) {
} }
func TestEnsureInternalLoadBalancerWithExistingResources(t *testing.T) { func TestEnsureInternalLoadBalancerWithExistingResources(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1"
zoneName := "us-central1-b"
clusterName := "Test Cluster"
clusterID := "test-cluster-id"
nodeNames := []string{"test-node-1"} nodeNames := []string{"test-node-1"}
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
// Create the expected resources necessary for an Internal Load Balancer // Create the expected resources necessary for an Internal Load Balancer
@ -193,35 +182,30 @@ func TestEnsureInternalLoadBalancerWithExistingResources(t *testing.T) {
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService) sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService)
hcName := makeHealthCheckName(lbName, clusterID, sharedHealthCheck) hcName := makeHealthCheckName(lbName, vals.ClusterID, sharedHealthCheck)
hcPath, hcPort := GetNodesHealthCheckPath(), GetNodesHealthCheckPort() hcPath, hcPort := GetNodesHealthCheckPath(), GetNodesHealthCheckPort()
existingHC := newInternalLBHealthCheck(hcName, nm, sharedHealthCheck, hcPath, hcPort) existingHC := newInternalLBHealthCheck(hcName, nm, sharedHealthCheck, hcPath, hcPort)
err = gce.CreateHealthCheck(existingHC) err = gce.CreateHealthCheck(existingHC)
require.NoError(t, err) require.NoError(t, err)
nodes, err := createAndInsertNodes(gce, nodeNames, zoneName) nodes, err := createAndInsertNodes(gce, nodeNames, vals.ZoneName)
igName := makeInstanceGroupName(clusterID) igName := makeInstanceGroupName(vals.ClusterID)
igLinks, err := gce.ensureInternalInstanceGroups(igName, nodes) igLinks, err := gce.ensureInternalInstanceGroups(igName, nodes)
require.NoError(t, err) require.NoError(t, err)
sharedBackend := shareBackendService(fakeApiService) sharedBackend := shareBackendService(fakeApiService)
bsDescription := makeBackendServiceDescription(nm, sharedBackend) bsDescription := makeBackendServiceDescription(nm, sharedBackend)
bsName := makeBackendServiceName(lbName, clusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity) bsName := makeBackendServiceName(lbName, vals.ClusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity)
err = gce.ensureInternalBackendService(bsName, bsDescription, fakeApiService.Spec.SessionAffinity, cloud.SchemeInternal, "TCP", igLinks, existingHC.SelfLink) err = gce.ensureInternalBackendService(bsName, bsDescription, fakeApiService.Spec.SessionAffinity, cloud.SchemeInternal, "TCP", igLinks, existingHC.SelfLink)
require.NoError(t, err) require.NoError(t, err)
_, err = createInternalLoadBalancer(gce, nil, nodeNames, clusterName, clusterID, zoneName) _, err = createInternalLoadBalancer(gce, nil, nodeNames, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
} }
func TestEnsureInternalLoadBalancerClearPreviousResources(t *testing.T) { func TestEnsureInternalLoadBalancerClearPreviousResources(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1" gce, err := fakeGCECloud(vals)
zoneName := "us-central1-b"
clusterName := "Test Cluster"
clusterID := "test-cluster-id"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
@ -250,7 +234,7 @@ func TestEnsureInternalLoadBalancerClearPreviousResources(t *testing.T) {
gce.CreateFirewall(existingFirewall) gce.CreateFirewall(existingFirewall)
sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService) sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService)
hcName := makeHealthCheckName(lbName, clusterID, sharedHealthCheck) hcName := makeHealthCheckName(lbName, vals.ClusterID, sharedHealthCheck)
hcPath, hcPort := GetNodesHealthCheckPath(), GetNodesHealthCheckPort() hcPath, hcPort := GetNodesHealthCheckPath(), GetNodesHealthCheckPort()
nm := types.NamespacedName{Name: fakeApiService.Name, Namespace: fakeApiService.Namespace} nm := types.NamespacedName{Name: fakeApiService.Name, Namespace: fakeApiService.Namespace}
@ -261,7 +245,7 @@ func TestEnsureInternalLoadBalancerClearPreviousResources(t *testing.T) {
// Create a backend Service that's missing Description and Backends // Create a backend Service that's missing Description and Backends
sharedBackend := shareBackendService(fakeApiService) sharedBackend := shareBackendService(fakeApiService)
backendServiceName := makeBackendServiceName(lbName, clusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity) backendServiceName := makeBackendServiceName(lbName, vals.ClusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity)
existingBS := &compute.BackendService{ existingBS := &compute.BackendService{
Name: lbName, Name: lbName,
Protocol: "TCP", Protocol: "TCP",
@ -273,7 +257,7 @@ func TestEnsureInternalLoadBalancerClearPreviousResources(t *testing.T) {
gce.CreateRegionBackendService(existingBS, gce.region) gce.CreateRegionBackendService(existingBS, gce.region)
existingFwdRule.BackendService = existingBS.Name existingFwdRule.BackendService = existingBS.Name
_, err = createInternalLoadBalancer(gce, existingFwdRule, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createInternalLoadBalancer(gce, existingFwdRule, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
// Expect new resources with the correct attributes to be created // Expect new resources with the correct attributes to be created
@ -294,18 +278,13 @@ func TestEnsureInternalLoadBalancerClearPreviousResources(t *testing.T) {
} }
func TestUpdateInternalLoadBalancerBackendServices(t *testing.T) { func TestUpdateInternalLoadBalancerBackendServices(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1"
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
nodeName := "test-node-1" nodeName := "test-node-1"
gce, err := fakeGCECloud(projectID, region, zoneName) gce, err := fakeGCECloud(vals)
require.NoError(t, err) require.NoError(t, err)
_, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
// BackendService exists prior to updateInternalLoadBalancer call, but has // BackendService exists prior to updateInternalLoadBalancer call, but has
@ -314,7 +293,7 @@ func TestUpdateInternalLoadBalancerBackendServices(t *testing.T) {
// BackendService // BackendService
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
sharedBackend := shareBackendService(fakeApiService) sharedBackend := shareBackendService(fakeApiService)
backendServiceName := makeBackendServiceName(lbName, clusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity) backendServiceName := makeBackendServiceName(lbName, vals.ClusterID, sharedBackend, cloud.SchemeInternal, "TCP", fakeApiService.Spec.SessionAffinity)
existingBS := &compute.BackendService{ existingBS := &compute.BackendService{
Name: backendServiceName, Name: backendServiceName,
Protocol: "TCP", Protocol: "TCP",
@ -324,10 +303,10 @@ func TestUpdateInternalLoadBalancerBackendServices(t *testing.T) {
gce.CreateRegionBackendService(existingBS, gce.region) gce.CreateRegionBackendService(existingBS, gce.region)
nodes, err := createAndInsertNodes(gce, []string{nodeName}, zoneName) nodes, err := createAndInsertNodes(gce, []string{nodeName}, vals.ZoneName)
require.NoError(t, err) require.NoError(t, err)
err = gce.updateInternalLoadBalancer(clusterName, clusterID, fakeApiService, nodes) err = gce.updateInternalLoadBalancer(vals.ClusterName, vals.ClusterID, fakeApiService, nodes)
assert.NoError(t, err) assert.NoError(t, err)
bs, err := gce.GetRegionBackendService(backendServiceName, gce.region) bs, err := gce.GetRegionBackendService(backendServiceName, gce.region)
@ -351,63 +330,53 @@ func TestUpdateInternalLoadBalancerBackendServices(t *testing.T) {
} }
func TestUpdateInternalLoadBalancerNodes(t *testing.T) { func TestUpdateInternalLoadBalancerNodes(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1" gce, err := fakeGCECloud(vals)
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
_, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
// Remove the old Node and insert a new Node. // Remove the old Node and insert a new Node.
newNodeName := "test-node-2" newNodeName := "test-node-2"
newNodes, err := createAndInsertNodes(gce, []string{newNodeName}, zoneName) newNodes, err := createAndInsertNodes(gce, []string{newNodeName}, vals.ZoneName)
require.NoError(t, err) require.NoError(t, err)
err = gce.updateInternalLoadBalancer(clusterName, clusterID, fakeApiService, newNodes) err = gce.updateInternalLoadBalancer(vals.ClusterName, vals.ClusterID, fakeApiService, newNodes)
assert.NoError(t, err) assert.NoError(t, err)
// Expect node 1 to be deleted and node 2 to still exist // Expect node 1 to be deleted and node 2 to still exist
igName := makeInstanceGroupName(clusterID) igName := makeInstanceGroupName(vals.ClusterID)
instances, err := gce.ListInstancesInInstanceGroup(igName, zoneName, "ALL") instances, err := gce.ListInstancesInInstanceGroup(igName, vals.ZoneName, "ALL")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 1, len(instances)) assert.Equal(t, 1, len(instances))
assert.Contains( assert.Contains(
t, t,
instances[0].Instance, instances[0].Instance,
fmt.Sprintf("projects/%s/zones/%s/instances/%s", projectID, zoneName, newNodeName), fmt.Sprintf("projects/%s/zones/%s/instances/%s", vals.ProjectID, vals.ZoneName, newNodeName),
) )
} }
func TestEnsureInternalLoadBalancerDeleted(t *testing.T) { func TestEnsureInternalLoadBalancerDeleted(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1" gce, err := fakeGCECloud(vals)
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
_, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
err = gce.ensureInternalLoadBalancerDeleted(clusterName, clusterID, fakeApiService) err = gce.ensureInternalLoadBalancerDeleted(vals.ClusterName, vals.ClusterID, fakeApiService)
assert.NoError(t, err) assert.NoError(t, err)
lbName := cloudprovider.GetLoadBalancerName(fakeApiService) lbName := cloudprovider.GetLoadBalancerName(fakeApiService)
sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService) sharedHealthCheck := !v1_service.RequestsOnlyLocalTraffic(fakeApiService)
hcName := makeHealthCheckName(lbName, clusterID, sharedHealthCheck) hcName := makeHealthCheckName(lbName, vals.ClusterID, sharedHealthCheck)
// Check that Firewalls are deleted for the LoadBalancer and the HealthCheck // Check that Firewalls are deleted for the LoadBalancer and the HealthCheck
fwNames := []string{ fwNames := []string{
MakeFirewallName(lbName), MakeFirewallName(lbName),
MakeHealthCheckFirewallName(clusterID, hcName, true), MakeHealthCheckFirewallName(vals.ClusterID, hcName, true),
} }
for _, fwName := range fwNames { for _, fwName := range fwNames {
@ -417,8 +386,8 @@ func TestEnsureInternalLoadBalancerDeleted(t *testing.T) {
} }
// Check that Instance Group is deleted // Check that Instance Group is deleted
igName := makeInstanceGroupName(clusterID) igName := makeInstanceGroupName(vals.ClusterID)
ig, err := gce.GetInstanceGroup(igName, zoneName) ig, err := gce.GetInstanceGroup(igName, vals.ZoneName)
assert.Error(t, err) assert.Error(t, err)
assert.Nil(t, ig) assert.Nil(t, ig)
@ -428,28 +397,23 @@ func TestEnsureInternalLoadBalancerDeleted(t *testing.T) {
assert.Nil(t, healthcheck) assert.Nil(t, healthcheck)
// Check forwarding rule is deleted // Check forwarding rule is deleted
fwdRule, err := gce.GetRegionForwardingRule(lbName, region) fwdRule, err := gce.GetRegionForwardingRule(lbName, gce.region)
require.Error(t, err) require.Error(t, err)
assert.Nil(t, fwdRule) assert.Nil(t, fwdRule)
} }
func TestEnsureInternalLoadBalancerDeletedTwiceDoesNotError(t *testing.T) { func TestEnsureInternalLoadBalancerDeletedTwiceDoesNotError(t *testing.T) {
projectID := "test-project" vals := DefaultTestClusterValues()
region := "us-central1" gce, err := fakeGCECloud(vals)
zoneName := "us-central1-b"
clusterName := "Test Cluster Name"
clusterID := "test-cluster-id"
gce, err := fakeGCECloud(projectID, region, zoneName)
require.NoError(t, err) require.NoError(t, err)
_, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, clusterName, clusterID, zoneName) _, err = createInternalLoadBalancer(gce, nil, []string{"test-node-1"}, vals.ClusterName, vals.ClusterID, vals.ZoneName)
assert.NoError(t, err) assert.NoError(t, err)
err = gce.ensureInternalLoadBalancerDeleted(clusterName, clusterID, fakeApiService) err = gce.ensureInternalLoadBalancerDeleted(vals.ClusterName, vals.ClusterID, fakeApiService)
assert.NoError(t, err) assert.NoError(t, err)
// Deleting the loadbalancer and resources again should not cause an error. // Deleting the loadbalancer and resources again should not cause an error.
err = gce.ensureInternalLoadBalancerDeleted(clusterName, clusterID, fakeApiService) err = gce.ensureInternalLoadBalancerDeleted(vals.ClusterName, vals.ClusterID, fakeApiService)
assert.NoError(t, err) assert.NoError(t, err)
} }

View File

@ -34,6 +34,24 @@ import (
kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis" kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
) )
type TestClusterValues struct {
ProjectID string
Region string
ZoneName string
ClusterID string
ClusterName string
}
func DefaultTestClusterValues() TestClusterValues {
return TestClusterValues{
ProjectID: "test-project",
Region: "us-central1",
ZoneName: "us-central1-b",
ClusterID: "test-cluster-id",
ClusterName: "Test Cluster Name",
}
}
var fakeApiService = &v1.Service{ var fakeApiService = &v1.Service{
Spec: v1.ServiceSpec{ Spec: v1.ServiceSpec{
SessionAffinity: v1.ServiceAffinityClientIP, SessionAffinity: v1.ServiceAffinityClientIP,
@ -48,7 +66,7 @@ func (*fakeRoundTripper) RoundTrip(*http.Request) (*http.Response, error) {
return nil, fmt.Errorf("err: test used fake http client") return nil, fmt.Errorf("err: test used fake http client")
} }
func fakeGCECloud(projectID, region, zoneName string) (*GCECloud, error) { func fakeGCECloud(vals TestClusterValues) (*GCECloud, error) {
client := &http.Client{Transport: &fakeRoundTripper{}} client := &http.Client{Transport: &fakeRoundTripper{}}
service, err := compute.New(client) service, err := compute.New(client)
@ -57,8 +75,8 @@ func fakeGCECloud(projectID, region, zoneName string) (*GCECloud, error) {
} }
// Used in disk unit tests // Used in disk unit tests
fakeManager := newFakeManager(projectID, region) fakeManager := newFakeManager(vals.ProjectID, vals.Region)
zonesWithNodes := createNodeZones([]string{zoneName}) zonesWithNodes := createNodeZones([]string{vals.ZoneName})
alphaFeatureGate, err := NewAlphaFeatureGate([]string{}) alphaFeatureGate, err := NewAlphaFeatureGate([]string{})
if err != nil { if err != nil {
@ -66,12 +84,12 @@ func fakeGCECloud(projectID, region, zoneName string) (*GCECloud, error) {
} }
gce := &GCECloud{ gce := &GCECloud{
region: region, region: vals.Region,
service: service, service: service,
manager: fakeManager, manager: fakeManager,
managedZones: []string{zoneName}, managedZones: []string{vals.ZoneName},
projectID: projectID, projectID: vals.ProjectID,
networkProjectID: projectID, networkProjectID: vals.ProjectID,
AlphaFeatureGate: alphaFeatureGate, AlphaFeatureGate: alphaFeatureGate,
nodeZones: zonesWithNodes, nodeZones: zonesWithNodes,
nodeInformerSynced: func() bool { return true }, nodeInformerSynced: func() bool { return true },
@ -94,7 +112,7 @@ func fakeGCECloud(projectID, region, zoneName string) (*GCECloud, error) {
keyGA := meta.GlobalKey("key-ga") keyGA := meta.GlobalKey("key-ga")
c.MockZones.Objects[*keyGA] = &cloud.MockZonesObj{ c.MockZones.Objects[*keyGA] = &cloud.MockZonesObj{
Obj: &compute.Zone{Name: zoneName, Region: gce.getRegionLink(region)}, Obj: &compute.Zone{Name: vals.ZoneName, Region: gce.getRegionLink(vals.Region)},
} }
gce.c = c gce.c = c