mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 18:24:07 +00:00
Use shared variable names. Define hooks on mock objects
This commit is contained in:
parent
d62200bb6c
commit
6d9409a692
@ -87,6 +87,9 @@ func fakeGCECloud() (*GCECloud, error) {
|
|||||||
cloud := cloud.NewMockGCE(&gceProjectRouter{gce})
|
cloud := cloud.NewMockGCE(&gceProjectRouter{gce})
|
||||||
cloud.MockTargetPools.AddInstanceHook = mock.AddInstanceHook
|
cloud.MockTargetPools.AddInstanceHook = mock.AddInstanceHook
|
||||||
cloud.MockTargetPools.RemoveInstanceHook = mock.RemoveInstanceHook
|
cloud.MockTargetPools.RemoveInstanceHook = mock.RemoveInstanceHook
|
||||||
|
cloud.MockForwardingRules.InsertHook = mock.InsertFwdRuleHook
|
||||||
|
cloud.MockAddresses.InsertHook = mock.InsertAddressHook
|
||||||
|
cloud.MockAlphaAddresses.InsertHook = mock.InsertAlphaAddressHook
|
||||||
|
|
||||||
gce.c = cloud
|
gce.c = cloud
|
||||||
|
|
||||||
@ -94,43 +97,42 @@ func fakeGCECloud() (*GCECloud, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureStaticIP(t *testing.T) {
|
func TestEnsureStaticIP(t *testing.T) {
|
||||||
fcas := NewFakeCloudAddressService()
|
gce, err := fakeGCECloud()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
ipName := "some-static-ip"
|
ipName := "some-static-ip"
|
||||||
serviceName := ""
|
|
||||||
region := "us-central1"
|
|
||||||
|
|
||||||
// First ensure call
|
// First ensure call
|
||||||
ip, existed, err := ensureStaticIP(fcas, ipName, serviceName, region, "", NetworkTierDefault)
|
ip, existed, err := ensureStaticIP(gce, ipName, serviceName, region, "", cloud.NetworkTierDefault)
|
||||||
if err != nil || existed || ip == "" {
|
if err != nil || existed {
|
||||||
t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, "") = %v, %v, %v; want valid ip, false, nil`, fcas, ipName, serviceName, region, ip, existed, err)
|
t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, "") = %v, %v, %v; want valid ip, false, nil`, gce, ipName, serviceName, region, ip, existed, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Second ensure call
|
// Second ensure call
|
||||||
var ipPrime string
|
var ipPrime string
|
||||||
ipPrime, existed, err = ensureStaticIP(fcas, ipName, serviceName, region, ip, NetworkTierDefault)
|
ipPrime, existed, err = ensureStaticIP(gce, ipName, serviceName, 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`, fcas, 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, region, ip, ipPrime, existed, err, ip)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEnsureStaticIPWithTier(t *testing.T) {
|
func TestEnsureStaticIPWithTier(t *testing.T) {
|
||||||
s := NewFakeCloudAddressService()
|
s, err := fakeGCECloud()
|
||||||
serviceName := ""
|
require.NoError(t, err)
|
||||||
region := "us-east1"
|
|
||||||
|
|
||||||
for desc, tc := range map[string]struct {
|
for desc, tc := range map[string]struct {
|
||||||
name string
|
name string
|
||||||
netTier NetworkTier
|
netTier cloud.NetworkTier
|
||||||
expected string
|
expected string
|
||||||
}{
|
}{
|
||||||
"Premium (default)": {
|
"Premium (default)": {
|
||||||
name: "foo-1",
|
name: "foo-1",
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
expected: "PREMIUM",
|
expected: "PREMIUM",
|
||||||
},
|
},
|
||||||
"Standard": {
|
"Standard": {
|
||||||
name: "foo-2",
|
name: "foo-2",
|
||||||
netTier: NetworkTierStandard,
|
netTier: cloud.NetworkTierStandard,
|
||||||
expected: "STANDARD",
|
expected: "STANDARD",
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
@ -138,7 +140,7 @@ func TestEnsureStaticIPWithTier(t *testing.T) {
|
|||||||
ip, existed, err := ensureStaticIP(s, tc.name, serviceName, region, "", tc.netTier)
|
ip, existed, err := ensureStaticIP(s, tc.name, serviceName, 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, region)
|
||||||
@ -149,21 +151,19 @@ func TestEnsureStaticIPWithTier(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestVerifyRequestedIP(t *testing.T) {
|
func TestVerifyRequestedIP(t *testing.T) {
|
||||||
region := "test-region"
|
|
||||||
lbRef := "test-lb"
|
lbRef := "test-lb"
|
||||||
s := NewFakeCloudAddressService()
|
|
||||||
|
|
||||||
for desc, tc := range map[string]struct {
|
for desc, tc := range map[string]struct {
|
||||||
requestedIP string
|
requestedIP string
|
||||||
fwdRuleIP string
|
fwdRuleIP string
|
||||||
netTier NetworkTier
|
netTier cloud.NetworkTier
|
||||||
addrList []*computealpha.Address
|
addrList []*computealpha.Address
|
||||||
expectErr bool
|
expectErr bool
|
||||||
expectUserOwned bool
|
expectUserOwned bool
|
||||||
}{
|
}{
|
||||||
"requested IP exists": {
|
"requested IP exists": {
|
||||||
requestedIP: "1.1.1.1",
|
requestedIP: "1.1.1.1",
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
addrList: []*computealpha.Address{{Name: "foo", Address: "1.1.1.1", NetworkTier: "PREMIUM"}},
|
addrList: []*computealpha.Address{{Name: "foo", Address: "1.1.1.1", NetworkTier: "PREMIUM"}},
|
||||||
expectErr: false,
|
expectErr: false,
|
||||||
expectUserOwned: true,
|
expectUserOwned: true,
|
||||||
@ -171,28 +171,33 @@ func TestVerifyRequestedIP(t *testing.T) {
|
|||||||
"requested IP is not static, but is in use by the fwd rule": {
|
"requested IP is not static, but is in use by the fwd rule": {
|
||||||
requestedIP: "1.1.1.1",
|
requestedIP: "1.1.1.1",
|
||||||
fwdRuleIP: "1.1.1.1",
|
fwdRuleIP: "1.1.1.1",
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
expectErr: false,
|
expectErr: false,
|
||||||
},
|
},
|
||||||
"requested IP is not static and is not used by the fwd rule": {
|
"requested IP is not static and is not used by the fwd rule": {
|
||||||
requestedIP: "1.1.1.1",
|
requestedIP: "1.1.1.1",
|
||||||
fwdRuleIP: "2.2.2.2",
|
fwdRuleIP: "2.2.2.2",
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
expectErr: true,
|
expectErr: true,
|
||||||
},
|
},
|
||||||
"no requested IP": {
|
"no requested IP": {
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
expectErr: false,
|
expectErr: false,
|
||||||
},
|
},
|
||||||
"requested IP exists, but network tier does not match": {
|
"requested IP exists, but network tier does not match": {
|
||||||
requestedIP: "1.1.1.1",
|
requestedIP: "1.1.1.1",
|
||||||
netTier: NetworkTierStandard,
|
netTier: cloud.NetworkTierStandard,
|
||||||
addrList: []*computealpha.Address{{Name: "foo", Address: "1.1.1.1", NetworkTier: "PREMIUM"}},
|
addrList: []*computealpha.Address{{Name: "foo", Address: "1.1.1.1", NetworkTier: "PREMIUM"}},
|
||||||
expectErr: true,
|
expectErr: true,
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
t.Run(desc, func(t *testing.T) {
|
t.Run(desc, func(t *testing.T) {
|
||||||
s.SetRegionalAddresses(region, tc.addrList)
|
s, err := fakeGCECloud()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
for _, addr := range tc.addrList {
|
||||||
|
s.ReserveAlphaRegionAddress(addr, region)
|
||||||
|
}
|
||||||
isUserOwnedIP, err := verifyUserRequestedIP(s, region, tc.requestedIP, tc.fwdRuleIP, lbRef, tc.netTier)
|
isUserOwnedIP, err := verifyUserRequestedIP(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)
|
||||||
@ -201,19 +206,18 @@ func TestVerifyRequestedIP(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCreateForwardingRuleWithTier(t *testing.T) {
|
func TestCreateForwardingRuleWithTier(t *testing.T) {
|
||||||
s := NewFakeCloudForwardingRuleService()
|
|
||||||
// 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)}}
|
||||||
region := "test-region"
|
|
||||||
target := "test-target-pool"
|
target := "test-target-pool"
|
||||||
svcName := "foo-svc"
|
svcName := "foo-svc"
|
||||||
|
baseLinkUrl := "https://www.googleapis.com/compute/%v/projects/%v/regions/%v/forwardingRules/%v"
|
||||||
|
|
||||||
for desc, tc := range map[string]struct {
|
for desc, tc := range map[string]struct {
|
||||||
netTier NetworkTier
|
netTier cloud.NetworkTier
|
||||||
expectedRule *computealpha.ForwardingRule
|
expectedRule *computealpha.ForwardingRule
|
||||||
}{
|
}{
|
||||||
"Premium tier": {
|
"Premium tier": {
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
expectedRule: &computealpha.ForwardingRule{
|
expectedRule: &computealpha.ForwardingRule{
|
||||||
Name: "lb-1",
|
Name: "lb-1",
|
||||||
Description: `{"kubernetes.io/service-name":"foo-svc"}`,
|
Description: `{"kubernetes.io/service-name":"foo-svc"}`,
|
||||||
@ -222,10 +226,11 @@ 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"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"Standard tier": {
|
"Standard tier": {
|
||||||
netTier: NetworkTierStandard,
|
netTier: cloud.NetworkTierStandard,
|
||||||
expectedRule: &computealpha.ForwardingRule{
|
expectedRule: &computealpha.ForwardingRule{
|
||||||
Name: "lb-2",
|
Name: "lb-2",
|
||||||
Description: `{"kubernetes.io/service-name":"foo-svc"}`,
|
Description: `{"kubernetes.io/service-name":"foo-svc"}`,
|
||||||
@ -234,14 +239,18 @@ 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"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
t.Run(desc, func(t *testing.T) {
|
t.Run(desc, func(t *testing.T) {
|
||||||
|
s, err := fakeGCECloud()
|
||||||
|
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, svcName, 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, region)
|
||||||
@ -252,43 +261,50 @@ func TestCreateForwardingRuleWithTier(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteAddressWithWrongTier(t *testing.T) {
|
func TestDeleteAddressWithWrongTier(t *testing.T) {
|
||||||
region := "test-region"
|
|
||||||
lbRef := "test-lb"
|
lbRef := "test-lb"
|
||||||
s := NewFakeCloudAddressService()
|
|
||||||
|
s, err := fakeGCECloud()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Enable the cloud.NetworkTiers feature
|
||||||
|
s.AlphaFeatureGate.features[AlphaFeatureNetworkTiers] = true
|
||||||
|
|
||||||
for desc, tc := range map[string]struct {
|
for desc, tc := range map[string]struct {
|
||||||
addrName string
|
addrName string
|
||||||
netTier NetworkTier
|
netTier cloud.NetworkTier
|
||||||
addrList []*computealpha.Address
|
addrList []*computealpha.Address
|
||||||
expectDelete bool
|
expectDelete bool
|
||||||
}{
|
}{
|
||||||
"Network tiers (premium) match; do nothing": {
|
"Network tiers (premium) match; do nothing": {
|
||||||
addrName: "foo1",
|
addrName: "foo1",
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
addrList: []*computealpha.Address{{Name: "foo1", Address: "1.1.1.1", NetworkTier: "PREMIUM"}},
|
addrList: []*computealpha.Address{{Name: "foo1", Address: "1.1.1.1", NetworkTier: "PREMIUM"}},
|
||||||
},
|
},
|
||||||
"Network tiers (standard) match; do nothing": {
|
"Network tiers (standard) match; do nothing": {
|
||||||
addrName: "foo2",
|
addrName: "foo2",
|
||||||
netTier: NetworkTierStandard,
|
netTier: cloud.NetworkTierStandard,
|
||||||
addrList: []*computealpha.Address{{Name: "foo2", Address: "1.1.1.2", NetworkTier: "STANDARD"}},
|
addrList: []*computealpha.Address{{Name: "foo2", Address: "1.1.1.2", NetworkTier: "STANDARD"}},
|
||||||
},
|
},
|
||||||
"Wrong network tier (standard); delete address": {
|
"Wrong network tier (standard); delete address": {
|
||||||
addrName: "foo3",
|
addrName: "foo3",
|
||||||
netTier: NetworkTierPremium,
|
netTier: cloud.NetworkTierPremium,
|
||||||
addrList: []*computealpha.Address{{Name: "foo3", Address: "1.1.1.3", NetworkTier: "STANDARD"}},
|
addrList: []*computealpha.Address{{Name: "foo3", Address: "1.1.1.3", NetworkTier: "STANDARD"}},
|
||||||
expectDelete: true,
|
expectDelete: true,
|
||||||
},
|
},
|
||||||
"Wrong network tier (preimium); delete address": {
|
"Wrong network tier (premium); delete address": {
|
||||||
addrName: "foo4",
|
addrName: "foo4",
|
||||||
netTier: NetworkTierStandard,
|
netTier: cloud.NetworkTierStandard,
|
||||||
addrList: []*computealpha.Address{{Name: "foo4", Address: "1.1.1.4", NetworkTier: "PREMIUM"}},
|
addrList: []*computealpha.Address{{Name: "foo4", Address: "1.1.1.4", NetworkTier: "PREMIUM"}},
|
||||||
expectDelete: true,
|
expectDelete: true,
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
t.Run(desc, func(t *testing.T) {
|
t.Run(desc, func(t *testing.T) {
|
||||||
s.SetRegionalAddresses(region, tc.addrList)
|
for _, addr := range tc.addrList {
|
||||||
|
s.ReserveAlphaRegionAddress(addr, 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, region)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = deleteAddressWithWrongTier(s, region, tc.addrName, lbRef, tc.netTier)
|
err = deleteAddressWithWrongTier(s, region, tc.addrName, lbRef, tc.netTier)
|
||||||
@ -316,7 +332,7 @@ func createAndInsertNodes(gce *GCECloud, nodeNames []string) ([]*v1.Node, error)
|
|||||||
|
|
||||||
if instance == nil {
|
if instance == nil {
|
||||||
err := gce.InsertInstance(
|
err := gce.InsertInstance(
|
||||||
gceProjectId,
|
projectID,
|
||||||
zoneName,
|
zoneName,
|
||||||
&compute.Instance{
|
&compute.Instance{
|
||||||
Name: name,
|
Name: name,
|
||||||
@ -392,7 +408,7 @@ func TestEnsureExternalLoadBalancer(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check that TargetPool is Created
|
// Check that TargetPool is Created
|
||||||
pool, err := gce.GetTargetPool(lbName, gceRegion)
|
pool, err := gce.GetTargetPool(lbName, 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)
|
||||||
@ -404,7 +420,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, gceRegion)
|
fwdRule, err := gce.GetRegionForwardingRule(lbName, 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)
|
||||||
@ -428,7 +444,7 @@ func TestUpdateExternalLoadBalancer(t *testing.T) {
|
|||||||
|
|
||||||
lbName := cloudprovider.GetLoadBalancerName(apiService)
|
lbName := cloudprovider.GetLoadBalancerName(apiService)
|
||||||
|
|
||||||
pool, err := gce.GetTargetPool(lbName, gceRegion)
|
pool, err := gce.GetTargetPool(lbName, 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
|
||||||
@ -453,7 +469,7 @@ func TestUpdateExternalLoadBalancer(t *testing.T) {
|
|||||||
err = gce.updateExternalLoadBalancer(clusterName, apiService, newNodes)
|
err = gce.updateExternalLoadBalancer(clusterName, apiService, newNodes)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
pool, err = gce.GetTargetPool(lbName, gceRegion)
|
pool, err = gce.GetTargetPool(lbName, region)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(
|
assert.Equal(
|
||||||
@ -489,7 +505,7 @@ func TestEnsureExternalLoadBalancerDeleted(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check that TargetPool is deleted
|
// Check that TargetPool is deleted
|
||||||
pool, err := gce.GetTargetPool(lbName, gceRegion)
|
pool, err := gce.GetTargetPool(lbName, region)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
assert.Nil(t, pool)
|
assert.Nil(t, pool)
|
||||||
|
|
||||||
@ -499,7 +515,7 @@ 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, gceRegion)
|
fwdRule, err := gce.GetRegionForwardingRule(lbName, region)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
assert.Nil(t, fwdRule)
|
assert.Nil(t, fwdRule)
|
||||||
}
|
}
|
||||||
@ -508,14 +524,14 @@ func TestLoadBalancerWrongTierResourceDeletion(t *testing.T) {
|
|||||||
gce, err := fakeGCECloud()
|
gce, err := fakeGCECloud()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Enable the NetworkTiers feature
|
// Enable the cloud.NetworkTiers feature
|
||||||
gce.AlphaFeatureGate.features[AlphaFeatureNetworkTiers] = true
|
gce.AlphaFeatureGate.features[AlphaFeatureNetworkTiers] = true
|
||||||
apiService.Annotations = map[string]string{NetworkTierAnnotationKey: "Premium"}
|
apiService.Annotations = map[string]string{NetworkTierAnnotationKey: "Premium"}
|
||||||
|
|
||||||
// NetworkTier defaults to Premium
|
// cloud.NetworkTier defaults to Premium
|
||||||
desiredTier, err := gce.getServiceNetworkTier(apiService)
|
desiredTier, err := gce.getServiceNetworkTier(apiService)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, NetworkTierPremium, desiredTier)
|
assert.Equal(t, cloud.NetworkTierPremium, desiredTier)
|
||||||
|
|
||||||
lbName := cloudprovider.GetLoadBalancerName(apiService)
|
lbName := cloudprovider.GetLoadBalancerName(apiService)
|
||||||
serviceName := types.NamespacedName{Namespace: apiService.Namespace, Name: apiService.Name}
|
serviceName := types.NamespacedName{Namespace: apiService.Namespace, Name: apiService.Name}
|
||||||
@ -525,32 +541,32 @@ func TestLoadBalancerWrongTierResourceDeletion(t *testing.T) {
|
|||||||
gce,
|
gce,
|
||||||
lbName,
|
lbName,
|
||||||
serviceName.String(),
|
serviceName.String(),
|
||||||
gceRegion,
|
region,
|
||||||
"",
|
"",
|
||||||
gce.targetPoolURL(lbName),
|
gce.targetPoolURL(lbName),
|
||||||
apiService.Spec.Ports,
|
apiService.Spec.Ports,
|
||||||
NetworkTierStandard,
|
cloud.NetworkTierStandard,
|
||||||
)
|
)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
addressObj := &computealpha.Address{
|
addressObj := &computealpha.Address{
|
||||||
Name: lbName,
|
Name: lbName,
|
||||||
Description: serviceName.String(),
|
Description: serviceName.String(),
|
||||||
NetworkTier: NetworkTierStandard.ToGCEValue(),
|
NetworkTier: cloud.NetworkTierStandard.ToGCEValue(),
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gce.ReserveAlphaRegionAddress(addressObj, gceRegion)
|
err = gce.ReserveAlphaRegionAddress(addressObj, region)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = createExternalLoadBalancer(gce)
|
_, err = createExternalLoadBalancer(gce)
|
||||||
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, gceRegion)
|
tier, err := gce.getNetworkTierFromForwardingRule(lbName, region)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, NetworkTierDefault.ToGCEValue(), tier)
|
assert.Equal(t, cloud.NetworkTierDefault.ToGCEValue(), tier)
|
||||||
|
|
||||||
// Expect address to be deleted
|
// Expect address to be deleted
|
||||||
_, err = gce.GetRegionAddress(lbName, gceRegion)
|
_, err = gce.GetRegionAddress(lbName, region)
|
||||||
assert.True(t, isNotFound(err))
|
assert.True(t, isNotFound(err))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user