mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 21:17:23 +00:00
Svc REST: Remove overlapping rest_tests
Most are moved to storage_test
This commit is contained in:
parent
12ac38f661
commit
c71467def0
@ -22,7 +22,6 @@ import (
|
|||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
"k8s.io/apiserver/pkg/registry/generic"
|
||||||
@ -35,7 +34,6 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
|
"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
|
||||||
"k8s.io/kubernetes/pkg/registry/registrytest"
|
"k8s.io/kubernetes/pkg/registry/registrytest"
|
||||||
netutils "k8s.io/utils/net"
|
netutils "k8s.io/utils/net"
|
||||||
utilpointer "k8s.io/utils/pointer"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewTestREST(t *testing.T, ipFamilies []api.IPFamily) (*GenericREST, *etcd3testing.EtcdTestServer) {
|
func NewTestREST(t *testing.T, ipFamilies []api.IPFamily) (*GenericREST, *etcd3testing.EtcdTestServer) {
|
||||||
@ -118,85 +116,6 @@ func makeIPNet6(t *testing.T) *net.IPNet {
|
|||||||
return net
|
return net
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestServiceStorageValidatesUpdate(t *testing.T) {
|
|
||||||
ctx := genericapirequest.NewDefaultContext()
|
|
||||||
storage, server := NewTestREST(t, []api.IPFamily{api.IPv4Protocol})
|
|
||||||
defer server.Terminate(t)
|
|
||||||
_, err := storage.Create(ctx, svctest.MakeService("foo"), rest.ValidateAllObjectFunc, &metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
failureCases := map[string]*api.Service{
|
|
||||||
"empty ID": svctest.MakeService(""),
|
|
||||||
"invalid selector": svctest.MakeService("", func(svc *api.Service) {
|
|
||||||
svc.Spec.Selector = map[string]string{"ThisSelectorFailsValidation": "ok"}
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
for _, failureCase := range failureCases {
|
|
||||||
c, created, err := storage.Update(ctx, failureCase.Name, rest.DefaultUpdatedObjectInfo(failureCase), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{})
|
|
||||||
if err == nil {
|
|
||||||
t.Errorf("expected error")
|
|
||||||
}
|
|
||||||
if c != nil || created {
|
|
||||||
t.Errorf("Expected nil object or created false")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestServiceRegistryUpdateLoadBalancerService(t *testing.T) {
|
|
||||||
ctx := genericapirequest.NewDefaultContext()
|
|
||||||
storage, server := NewTestREST(t, []api.IPFamily{api.IPv4Protocol})
|
|
||||||
defer server.Terminate(t)
|
|
||||||
|
|
||||||
// Create non-loadbalancer.
|
|
||||||
svc1 := svctest.MakeService("foo")
|
|
||||||
obj, err := storage.Create(ctx, svc1, rest.ValidateAllObjectFunc, &metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Modify to be loadbalancer.
|
|
||||||
svc2 := obj.(*api.Service).DeepCopy()
|
|
||||||
svc2.Spec.Type = api.ServiceTypeLoadBalancer
|
|
||||||
svc2.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyTypeCluster
|
|
||||||
svc2.Spec.AllocateLoadBalancerNodePorts = utilpointer.BoolPtr(true)
|
|
||||||
obj, _, err = storage.Update(ctx, svc2.Name, rest.DefaultUpdatedObjectInfo(svc2), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Change port.
|
|
||||||
svc3 := obj.(*api.Service).DeepCopy()
|
|
||||||
svc3.Spec.Ports[0].Port = 6504
|
|
||||||
if _, _, err := storage.Update(ctx, svc3.Name, rest.DefaultUpdatedObjectInfo(svc3), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestServiceRegistryUpdateMultiPortLoadBalancerService(t *testing.T) {
|
|
||||||
ctx := genericapirequest.NewDefaultContext()
|
|
||||||
storage, server := NewTestREST(t, []api.IPFamily{api.IPv4Protocol})
|
|
||||||
defer server.Terminate(t)
|
|
||||||
|
|
||||||
// Create load balancer.
|
|
||||||
svc1 := svctest.MakeService("foo",
|
|
||||||
svctest.SetTypeLoadBalancer,
|
|
||||||
svctest.SetPorts(
|
|
||||||
svctest.MakeServicePort("p", 6502, intstr.FromInt(6502), api.ProtocolTCP),
|
|
||||||
svctest.MakeServicePort("q", 8086, intstr.FromInt(8086), api.ProtocolTCP)))
|
|
||||||
obj, err := storage.Create(ctx, svc1, rest.ValidateAllObjectFunc, &metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Modify ports
|
|
||||||
svc2 := obj.(*api.Service).DeepCopy()
|
|
||||||
svc2.Spec.Ports[1].Port = 8088
|
|
||||||
if _, _, err := storage.Update(ctx, svc2.Name, rest.DefaultUpdatedObjectInfo(svc2), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is local because it's not fully fleshed out enough for general use.
|
// this is local because it's not fully fleshed out enough for general use.
|
||||||
func makePod(name string, ips ...string) api.Pod {
|
func makePod(name string, ips ...string) api.Pod {
|
||||||
p := api.Pod{
|
p := api.Pod{
|
||||||
@ -221,31 +140,6 @@ func makePod(name string, ips ...string) api.Pod {
|
|||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestServiceRegistryList(t *testing.T) {
|
|
||||||
ctx := genericapirequest.NewDefaultContext()
|
|
||||||
storage, server := NewTestREST(t, []api.IPFamily{api.IPv4Protocol})
|
|
||||||
defer server.Terminate(t)
|
|
||||||
_, err := storage.Create(ctx, svctest.MakeService("foo"), rest.ValidateAllObjectFunc, &metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
_, err = storage.Create(ctx, svctest.MakeService("foo2"), rest.ValidateAllObjectFunc, &metav1.CreateOptions{})
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
|
||||||
s, _ := storage.List(ctx, nil)
|
|
||||||
sl := s.(*api.ServiceList)
|
|
||||||
if len(sl.Items) != 2 {
|
|
||||||
t.Fatalf("Expected 2 services, but got %v", len(sl.Items))
|
|
||||||
}
|
|
||||||
if e, a := "foo", sl.Items[0].Name; e != a {
|
|
||||||
t.Errorf("Expected %v, but got %v", e, a)
|
|
||||||
}
|
|
||||||
if e, a := "foo2", sl.Items[1].Name; e != a {
|
|
||||||
t.Errorf("Expected %v, but got %v", e, a)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Validate the internalTrafficPolicy field when set to "Cluster" then updated to "Local"
|
// Validate the internalTrafficPolicy field when set to "Cluster" then updated to "Local"
|
||||||
func TestServiceRegistryInternalTrafficPolicyClusterThenLocal(t *testing.T) {
|
func TestServiceRegistryInternalTrafficPolicyClusterThenLocal(t *testing.T) {
|
||||||
ctx := genericapirequest.NewDefaultContext()
|
ctx := genericapirequest.NewDefaultContext()
|
||||||
|
Loading…
Reference in New Issue
Block a user