mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Svc REST: Test that ExternalName doesn't set IPs
This commit is contained in:
parent
ca4a95ee49
commit
9ca582f3b7
@ -339,14 +339,12 @@ func familyOf(ip string) api.IPFamily {
|
||||
return api.IPFamily("unknown")
|
||||
}
|
||||
|
||||
// Prove that create ignores IPFamily stuff when type is ExternalName.
|
||||
func TestCreateIgnoresIPFamilyForExternalName(t *testing.T) {
|
||||
// Prove that create ignores IP and IPFamily stuff when type is ExternalName.
|
||||
func TestCreateIgnoresIPsForExternalName(t *testing.T) {
|
||||
type testCase struct {
|
||||
name string
|
||||
svc *api.Service
|
||||
expectError bool
|
||||
expectPolicy *api.IPFamilyPolicyType
|
||||
expectFamilies []api.IPFamily
|
||||
name string
|
||||
svc *api.Service
|
||||
expectError bool
|
||||
}
|
||||
// These cases were chosen from the full gamut to ensure all "interesting"
|
||||
// cases are covered.
|
||||
@ -360,41 +358,31 @@ func TestCreateIgnoresIPFamilyForExternalName(t *testing.T) {
|
||||
clusterFamilies: []api.IPFamily{api.IPv4Protocol},
|
||||
enableDualStack: false,
|
||||
cases: []testCase{{
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
}, {
|
||||
name: "Policy:SingleStack_Families:v4",
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicySingleStack),
|
||||
svctest.SetIPFamilies(api.IPv4Protocol)),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
}, {
|
||||
name: "Policy:PreferDualStack_Families:v4v6",
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyPreferDualStack),
|
||||
svctest.SetIPFamilies(api.IPv4Protocol, api.IPv6Protocol)),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
}, {
|
||||
name: "Policy:RequireDualStack_Families:v6v4",
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyRequireDualStack),
|
||||
svctest.SetIPFamilies(api.IPv6Protocol, api.IPv4Protocol)),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
}},
|
||||
}, {
|
||||
name: "singlestack:v6_gate:on",
|
||||
clusterFamilies: []api.IPFamily{api.IPv6Protocol},
|
||||
enableDualStack: true,
|
||||
cases: []testCase{{
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
}, {
|
||||
name: "Policy:SingleStack_Families:v6",
|
||||
svc: svctest.MakeService("foo",
|
||||
@ -419,41 +407,31 @@ func TestCreateIgnoresIPFamilyForExternalName(t *testing.T) {
|
||||
clusterFamilies: []api.IPFamily{api.IPv4Protocol, api.IPv6Protocol},
|
||||
enableDualStack: false,
|
||||
cases: []testCase{{
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
}, {
|
||||
name: "Policy:SingleStack_Families:v4",
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicySingleStack),
|
||||
svctest.SetIPFamilies(api.IPv4Protocol)),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
}, {
|
||||
name: "Policy:PreferDualStack_Families:v4v6",
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyPreferDualStack),
|
||||
svctest.SetIPFamilies(api.IPv4Protocol, api.IPv6Protocol)),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
}, {
|
||||
name: "Policy:RequireDualStack_Families:v6v4",
|
||||
svc: svctest.MakeService("foo",
|
||||
svctest.SetIPFamilyPolicy(api.IPFamilyPolicyRequireDualStack),
|
||||
svctest.SetIPFamilies(api.IPv6Protocol, api.IPv4Protocol)),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
}},
|
||||
}, {
|
||||
name: "dualstack:v6v4_gate:on",
|
||||
clusterFamilies: []api.IPFamily{api.IPv6Protocol, api.IPv4Protocol},
|
||||
enableDualStack: true,
|
||||
cases: []testCase{{
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
expectPolicy: nil,
|
||||
expectFamilies: nil,
|
||||
name: "Policy:unset_Families:unset",
|
||||
svc: svctest.MakeService("foo"),
|
||||
}, {
|
||||
name: "Policy:SingleStack_Families:v6",
|
||||
svc: svctest.MakeService("foo",
|
||||
@ -503,12 +481,18 @@ func TestCreateIgnoresIPFamilyForExternalName(t *testing.T) {
|
||||
}
|
||||
createdSvc := createdObj.(*api.Service)
|
||||
|
||||
if want, got := fmtIPFamilyPolicy(itc.expectPolicy), fmtIPFamilyPolicy(createdSvc.Spec.IPFamilyPolicy); want != got {
|
||||
if want, got := fmtIPFamilyPolicy(nil), fmtIPFamilyPolicy(createdSvc.Spec.IPFamilyPolicy); want != got {
|
||||
t.Errorf("wrong IPFamilyPolicy: want %s, got %s", want, got)
|
||||
}
|
||||
if want, got := fmtIPFamilies(itc.expectFamilies), fmtIPFamilies(createdSvc.Spec.IPFamilies); want != got {
|
||||
if want, got := fmtIPFamilies(nil), fmtIPFamilies(createdSvc.Spec.IPFamilies); want != got {
|
||||
t.Errorf("wrong IPFamilies: want %s, got %s", want, got)
|
||||
}
|
||||
if len(createdSvc.Spec.ClusterIP) != 0 {
|
||||
t.Errorf("expected no clusterIP, got %q", createdSvc.Spec.ClusterIP)
|
||||
}
|
||||
if len(createdSvc.Spec.ClusterIPs) != 0 {
|
||||
t.Errorf("expected no clusterIPs, got %q", createdSvc.Spec.ClusterIPs)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user