mirror of https://github.com/k3s-io/k3s
Merge pull request #69361 from seans3/get-test-fix
kubectl get test: remove testapi dependencies and cleanupspull/58/head
commit
af92d13de2
|
@ -67,7 +67,6 @@ go_test(
|
||||||
],
|
],
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/testing:go_default_library",
|
|
||||||
"//pkg/apis/core:go_default_library",
|
"//pkg/apis/core:go_default_library",
|
||||||
"//pkg/kubectl/cmd/testing:go_default_library",
|
"//pkg/kubectl/cmd/testing:go_default_library",
|
||||||
"//pkg/kubectl/cmd/util:go_default_library",
|
"//pkg/kubectl/cmd/util:go_default_library",
|
||||||
|
|
|
@ -28,12 +28,12 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
apiapps "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
apiautoscaling "k8s.io/api/autoscaling/v1"
|
autoscalingv1 "k8s.io/api/autoscaling/v1"
|
||||||
apibatchv1 "k8s.io/api/batch/v1"
|
batchv1 "k8s.io/api/batch/v1"
|
||||||
apibatchv1beta1 "k8s.io/api/batch/v1beta1"
|
batchv1beta1 "k8s.io/api/batch/v1beta1"
|
||||||
api "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
apiextensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1"
|
metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
@ -48,7 +48,6 @@ import (
|
||||||
"k8s.io/client-go/rest/fake"
|
"k8s.io/client-go/rest/fake"
|
||||||
restclientwatch "k8s.io/client-go/rest/watch"
|
restclientwatch "k8s.io/client-go/rest/watch"
|
||||||
"k8s.io/kube-openapi/pkg/util/proto"
|
"k8s.io/kube-openapi/pkg/util/proto"
|
||||||
apitesting "k8s.io/kubernetes/pkg/api/testing"
|
|
||||||
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
||||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||||
"k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi"
|
"k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi"
|
||||||
|
@ -60,6 +59,9 @@ var openapiSchemaPath = filepath.Join("..", "..", "..", "..", "api", "openapi-sp
|
||||||
|
|
||||||
var unstructuredSerializer = resource.UnstructuredPlusDefaultContentConfig().NegotiatedSerializer
|
var unstructuredSerializer = resource.UnstructuredPlusDefaultContentConfig().NegotiatedSerializer
|
||||||
|
|
||||||
|
var grace = int64(30)
|
||||||
|
var enableServiceLinks = corev1.DefaultEnableServiceLinks
|
||||||
|
|
||||||
func defaultHeader() http.Header {
|
func defaultHeader() http.Header {
|
||||||
header := http.Header{}
|
header := http.Header{}
|
||||||
header.Set("Content-Type", runtime.ContentTypeJSON)
|
header.Set("Content-Type", runtime.ContentTypeJSON)
|
||||||
|
@ -72,7 +74,7 @@ func defaultClientConfig() *restclient.Config {
|
||||||
ContentConfig: restclient.ContentConfig{
|
ContentConfig: restclient.ContentConfig{
|
||||||
NegotiatedSerializer: scheme.Codecs,
|
NegotiatedSerializer: scheme.Codecs,
|
||||||
ContentType: runtime.ContentTypeJSON,
|
ContentType: runtime.ContentTypeJSON,
|
||||||
GroupVersion: &schema.GroupVersion{Group: "", Version: "v1"},
|
GroupVersion: &corev1.SchemeGroupVersion,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,46 +93,58 @@ func initTestErrorHandler(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func testData() (*api.PodList, *api.ServiceList, *api.ReplicationControllerList) {
|
func testData() (*corev1.PodList, *corev1.ServiceList, *corev1.ReplicationControllerList) {
|
||||||
pods := &api.PodList{
|
pods := &corev1.PodList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "15",
|
ResourceVersion: "15",
|
||||||
},
|
},
|
||||||
Items: []api.Pod{
|
Items: []corev1.Pod{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test", ResourceVersion: "10"},
|
ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test", ResourceVersion: "10"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "bar", Namespace: "test", ResourceVersion: "11"},
|
ObjectMeta: metav1.ObjectMeta{Name: "bar", Namespace: "test", ResourceVersion: "11"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
svc := &api.ServiceList{
|
svc := &corev1.ServiceList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "16",
|
ResourceVersion: "16",
|
||||||
},
|
},
|
||||||
Items: []api.Service{
|
Items: []corev1.Service{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "baz", Namespace: "test", ResourceVersion: "12"},
|
ObjectMeta: metav1.ObjectMeta{Name: "baz", Namespace: "test", ResourceVersion: "12"},
|
||||||
Spec: api.ServiceSpec{
|
Spec: corev1.ServiceSpec{
|
||||||
SessionAffinity: "None",
|
SessionAffinity: "None",
|
||||||
Type: api.ServiceTypeClusterIP,
|
Type: corev1.ServiceTypeClusterIP,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
one := int32(1)
|
one := int32(1)
|
||||||
rc := &api.ReplicationControllerList{
|
rc := &corev1.ReplicationControllerList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "17",
|
ResourceVersion: "17",
|
||||||
},
|
},
|
||||||
Items: []api.ReplicationController{
|
Items: []corev1.ReplicationController{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "rc1", Namespace: "test", ResourceVersion: "18"},
|
ObjectMeta: metav1.ObjectMeta{Name: "rc1", Namespace: "test", ResourceVersion: "18"},
|
||||||
Spec: api.ReplicationControllerSpec{
|
Spec: corev1.ReplicationControllerSpec{
|
||||||
Replicas: &one,
|
Replicas: &one,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -139,30 +153,30 @@ func testData() (*api.PodList, *api.ServiceList, *api.ReplicationControllerList)
|
||||||
return pods, svc, rc
|
return pods, svc, rc
|
||||||
}
|
}
|
||||||
|
|
||||||
func testComponentStatusData() *api.ComponentStatusList {
|
func testComponentStatusData() *corev1.ComponentStatusList {
|
||||||
good := api.ComponentStatus{
|
good := corev1.ComponentStatus{
|
||||||
Conditions: []api.ComponentCondition{
|
Conditions: []corev1.ComponentCondition{
|
||||||
{Type: api.ComponentHealthy, Status: api.ConditionTrue, Message: "ok"},
|
{Type: corev1.ComponentHealthy, Status: corev1.ConditionTrue, Message: "ok"},
|
||||||
},
|
},
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "servergood"},
|
ObjectMeta: metav1.ObjectMeta{Name: "servergood"},
|
||||||
}
|
}
|
||||||
|
|
||||||
bad := api.ComponentStatus{
|
bad := corev1.ComponentStatus{
|
||||||
Conditions: []api.ComponentCondition{
|
Conditions: []corev1.ComponentCondition{
|
||||||
{Type: api.ComponentHealthy, Status: api.ConditionFalse, Message: "", Error: "bad status: 500"},
|
{Type: corev1.ComponentHealthy, Status: corev1.ConditionFalse, Message: "", Error: "bad status: 500"},
|
||||||
},
|
},
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "serverbad"},
|
ObjectMeta: metav1.ObjectMeta{Name: "serverbad"},
|
||||||
}
|
}
|
||||||
|
|
||||||
unknown := api.ComponentStatus{
|
unknown := corev1.ComponentStatus{
|
||||||
Conditions: []api.ComponentCondition{
|
Conditions: []corev1.ComponentCondition{
|
||||||
{Type: api.ComponentHealthy, Status: api.ConditionUnknown, Message: "", Error: "fizzbuzz error"},
|
{Type: corev1.ComponentHealthy, Status: corev1.ConditionUnknown, Message: "", Error: "fizzbuzz error"},
|
||||||
},
|
},
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "serverunknown"},
|
ObjectMeta: metav1.ObjectMeta{Name: "serverunknown"},
|
||||||
}
|
}
|
||||||
|
|
||||||
return &api.ComponentStatusList{
|
return &corev1.ComponentStatusList{
|
||||||
Items: []api.ComponentStatus{good, bad, unknown},
|
Items: []corev1.ComponentStatus{good, bad, unknown},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,12 +237,12 @@ func TestGetUnknownSchemaObject(t *testing.T) {
|
||||||
func TestGetSchemaObject(t *testing.T) {
|
func TestGetSchemaObject(t *testing.T) {
|
||||||
tf := cmdtesting.NewTestFactory().WithNamespace("test")
|
tf := cmdtesting.NewTestFactory().WithNamespace("test")
|
||||||
defer tf.Cleanup()
|
defer tf.Cleanup()
|
||||||
codec := scheme.Codecs.LegacyCodec(schema.GroupVersion{Version: "v1"})
|
codec := scheme.Codecs.LegacyCodec(corev1.SchemeGroupVersion)
|
||||||
t.Logf("%v", string(runtime.EncodeOrDie(codec, &api.ReplicationController{ObjectMeta: metav1.ObjectMeta{Name: "foo"}})))
|
t.Logf("%v", string(runtime.EncodeOrDie(codec, &corev1.ReplicationController{ObjectMeta: metav1.ObjectMeta{Name: "foo"}})))
|
||||||
|
|
||||||
tf.UnstructuredClient = &fake.RESTClient{
|
tf.UnstructuredClient = &fake.RESTClient{
|
||||||
NegotiatedSerializer: unstructuredSerializer,
|
NegotiatedSerializer: unstructuredSerializer,
|
||||||
Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &api.ReplicationController{ObjectMeta: metav1.ObjectMeta{Name: "foo"}})},
|
Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &corev1.ReplicationController{ObjectMeta: metav1.ObjectMeta{Name: "foo"}})},
|
||||||
}
|
}
|
||||||
tf.ClientConfigVal = defaultClientConfig()
|
tf.ClientConfigVal = defaultClientConfig()
|
||||||
|
|
||||||
|
@ -353,12 +367,8 @@ func TestGetMultipleResourceTypesShowKinds(t *testing.T) {
|
||||||
|
|
||||||
tf := cmdtesting.NewTestFactory().WithNamespace("test")
|
tf := cmdtesting.NewTestFactory().WithNamespace("test")
|
||||||
defer tf.Cleanup()
|
defer tf.Cleanup()
|
||||||
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
|
||||||
|
|
||||||
tf.UnstructuredClient = &fake.RESTClient{
|
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
||||||
NegotiatedSerializer: unstructuredSerializer,
|
|
||||||
Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &pods.Items[0])},
|
|
||||||
}
|
|
||||||
tf.UnstructuredClient = &fake.RESTClient{
|
tf.UnstructuredClient = &fake.RESTClient{
|
||||||
NegotiatedSerializer: unstructuredSerializer,
|
NegotiatedSerializer: unstructuredSerializer,
|
||||||
Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) {
|
Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) {
|
||||||
|
@ -366,23 +376,23 @@ func TestGetMultipleResourceTypesShowKinds(t *testing.T) {
|
||||||
case p == "/namespaces/test/pods" && m == "GET":
|
case p == "/namespaces/test/pods" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)}, nil
|
||||||
case p == "/namespaces/test/replicationcontrollers" && m == "GET":
|
case p == "/namespaces/test/replicationcontrollers" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &api.ReplicationControllerList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &corev1.ReplicationControllerList{})}, nil
|
||||||
case p == "/namespaces/test/services" && m == "GET":
|
case p == "/namespaces/test/services" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, svcs)}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, svcs)}, nil
|
||||||
case p == "/namespaces/test/statefulsets" && m == "GET":
|
case p == "/namespaces/test/statefulsets" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apiapps.StatefulSetList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &appsv1.StatefulSetList{})}, nil
|
||||||
case p == "/namespaces/test/horizontalpodautoscalers" && m == "GET":
|
case p == "/namespaces/test/horizontalpodautoscalers" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apiautoscaling.HorizontalPodAutoscalerList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &autoscalingv1.HorizontalPodAutoscalerList{})}, nil
|
||||||
case p == "/namespaces/test/jobs" && m == "GET":
|
case p == "/namespaces/test/jobs" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apibatchv1.JobList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &batchv1.JobList{})}, nil
|
||||||
case p == "/namespaces/test/cronjobs" && m == "GET":
|
case p == "/namespaces/test/cronjobs" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apibatchv1beta1.CronJobList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &batchv1beta1.CronJobList{})}, nil
|
||||||
case p == "/namespaces/test/daemonsets" && m == "GET":
|
case p == "/namespaces/test/daemonsets" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apiapps.DaemonSetList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &appsv1.DaemonSetList{})}, nil
|
||||||
case p == "/namespaces/test/deployments" && m == "GET":
|
case p == "/namespaces/test/deployments" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apiextensionsv1beta1.DeploymentList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &extensionsv1beta1.DeploymentList{})}, nil
|
||||||
case p == "/namespaces/test/replicasets" && m == "GET":
|
case p == "/namespaces/test/replicasets" && m == "GET":
|
||||||
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &apiextensionsv1beta1.ReplicaSetList{})}, nil
|
return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, &extensionsv1beta1.ReplicaSetList{})}, nil
|
||||||
|
|
||||||
default:
|
default:
|
||||||
t.Fatalf("request url: %#v,and request: %#v", req.URL, req)
|
t.Fatalf("request url: %#v,and request: %#v", req.URL, req)
|
||||||
|
@ -436,14 +446,14 @@ foo 0/0 0 <unknown> <none>
|
||||||
func TestGetObjectIgnoreNotFound(t *testing.T) {
|
func TestGetObjectIgnoreNotFound(t *testing.T) {
|
||||||
initTestErrorHandler(t)
|
initTestErrorHandler(t)
|
||||||
|
|
||||||
ns := &api.NamespaceList{
|
ns := &corev1.NamespaceList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "1",
|
ResourceVersion: "1",
|
||||||
},
|
},
|
||||||
Items: []api.Namespace{
|
Items: []corev1.Namespace{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "testns", Namespace: "test", ResourceVersion: "11"},
|
ObjectMeta: metav1.ObjectMeta{Name: "testns", Namespace: "test", ResourceVersion: "11"},
|
||||||
Spec: api.NamespaceSpec{},
|
Spec: corev1.NamespaceSpec{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -480,22 +490,40 @@ func TestGetObjectIgnoreNotFound(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetSortedObjects(t *testing.T) {
|
func TestGetSortedObjects(t *testing.T) {
|
||||||
pods := &api.PodList{
|
pods := &corev1.PodList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "15",
|
ResourceVersion: "15",
|
||||||
},
|
},
|
||||||
Items: []api.Pod{
|
Items: []corev1.Pod{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "c", Namespace: "test", ResourceVersion: "10"},
|
ObjectMeta: metav1.ObjectMeta{Name: "c", Namespace: "test", ResourceVersion: "10"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "b", Namespace: "test", ResourceVersion: "11"},
|
ObjectMeta: metav1.ObjectMeta{Name: "b", Namespace: "test", ResourceVersion: "11"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "a", Namespace: "test", ResourceVersion: "9"},
|
ObjectMeta: metav1.ObjectMeta{Name: "a", Namespace: "test", ResourceVersion: "9"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -508,7 +536,7 @@ func TestGetSortedObjects(t *testing.T) {
|
||||||
NegotiatedSerializer: unstructuredSerializer,
|
NegotiatedSerializer: unstructuredSerializer,
|
||||||
Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)},
|
Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, pods)},
|
||||||
}
|
}
|
||||||
tf.ClientConfigVal = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &schema.GroupVersion{Version: "v1"}}}
|
tf.ClientConfigVal = &restclient.Config{ContentConfig: restclient.ContentConfig{GroupVersion: &corev1.SchemeGroupVersion}}
|
||||||
|
|
||||||
streams, _, buf, _ := genericclioptions.NewTestIOStreams()
|
streams, _, buf, _ := genericclioptions.NewTestIOStreams()
|
||||||
cmd := NewCmdGet("kubectl", tf, streams)
|
cmd := NewCmdGet("kubectl", tf, streams)
|
||||||
|
@ -530,17 +558,35 @@ c 0/0 0 <unknown>
|
||||||
|
|
||||||
func sortTestData() []runtime.Object {
|
func sortTestData() []runtime.Object {
|
||||||
return []runtime.Object{
|
return []runtime.Object{
|
||||||
&api.Pod{
|
&corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "c", Namespace: "test", ResourceVersion: "10"},
|
ObjectMeta: metav1.ObjectMeta{Name: "c", Namespace: "test", ResourceVersion: "10"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
},
|
},
|
||||||
&api.Pod{
|
},
|
||||||
|
&corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "b", Namespace: "test", ResourceVersion: "11"},
|
ObjectMeta: metav1.ObjectMeta{Name: "b", Namespace: "test", ResourceVersion: "11"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
},
|
},
|
||||||
&api.Pod{
|
},
|
||||||
|
&corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "a", Namespace: "test", ResourceVersion: "9"},
|
ObjectMeta: metav1.ObjectMeta{Name: "a", Namespace: "test", ResourceVersion: "9"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -552,25 +598,43 @@ func sortTestTableData() []runtime.Object {
|
||||||
Rows: []metav1beta1.TableRow{
|
Rows: []metav1beta1.TableRow{
|
||||||
{
|
{
|
||||||
Object: runtime.RawExtension{
|
Object: runtime.RawExtension{
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "c", Namespace: "test", ResourceVersion: "10"},
|
ObjectMeta: metav1.ObjectMeta{Name: "c", Namespace: "test", ResourceVersion: "10"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Object: runtime.RawExtension{
|
Object: runtime.RawExtension{
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "b", Namespace: "test", ResourceVersion: "11"},
|
ObjectMeta: metav1.ObjectMeta{Name: "b", Namespace: "test", ResourceVersion: "11"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Object: runtime.RawExtension{
|
Object: runtime.RawExtension{
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "a", Namespace: "test", ResourceVersion: "9"},
|
ObjectMeta: metav1.ObjectMeta{Name: "a", Namespace: "test", ResourceVersion: "9"},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -620,7 +684,7 @@ func TestRuntimeSorter(t *testing.T) {
|
||||||
objs: sortTestData(),
|
objs: sortTestData(),
|
||||||
op: func(sorter *RuntimeSorter, objs []runtime.Object, out io.Writer) error {
|
op: func(sorter *RuntimeSorter, objs []runtime.Object, out io.Writer) error {
|
||||||
for _, o := range objs {
|
for _, o := range objs {
|
||||||
fmt.Fprintf(out, "%s,", o.(*api.Pod).Name)
|
fmt.Fprintf(out, "%s,", o.(*corev1.Pod).Name)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
|
@ -1040,7 +1104,7 @@ service/baz ClusterIP <none> <none> <none> <unknown>
|
||||||
|
|
||||||
func TestGetMultipleTypeObjectsWithDirectReference(t *testing.T) {
|
func TestGetMultipleTypeObjectsWithDirectReference(t *testing.T) {
|
||||||
_, svc, _ := testData()
|
_, svc, _ := testData()
|
||||||
node := &api.Node{
|
node := &corev1.Node{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "foo",
|
Name: "foo",
|
||||||
},
|
},
|
||||||
|
@ -1081,15 +1145,21 @@ node/foo Unknown <none> <unknown>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func watchTestData() ([]api.Pod, []watch.Event) {
|
func watchTestData() ([]corev1.Pod, []watch.Event) {
|
||||||
pods := []api.Pod{
|
pods := []corev1.Pod{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "bar",
|
Name: "bar",
|
||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
ResourceVersion: "9",
|
ResourceVersion: "9",
|
||||||
},
|
},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
@ -1097,54 +1167,84 @@ func watchTestData() ([]api.Pod, []watch.Event) {
|
||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
ResourceVersion: "10",
|
ResourceVersion: "10",
|
||||||
},
|
},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
events := []watch.Event{
|
events := []watch.Event{
|
||||||
// current state events
|
// current state events
|
||||||
{
|
{
|
||||||
Type: watch.Added,
|
Type: watch.Added,
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "bar",
|
Name: "bar",
|
||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
ResourceVersion: "9",
|
ResourceVersion: "9",
|
||||||
},
|
},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Type: watch.Added,
|
Type: watch.Added,
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "foo",
|
Name: "foo",
|
||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
ResourceVersion: "10",
|
ResourceVersion: "10",
|
||||||
},
|
},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// resource events
|
// resource events
|
||||||
{
|
{
|
||||||
Type: watch.Modified,
|
Type: watch.Modified,
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "foo",
|
Name: "foo",
|
||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
ResourceVersion: "11",
|
ResourceVersion: "11",
|
||||||
},
|
},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Type: watch.Deleted,
|
Type: watch.Deleted,
|
||||||
Object: &api.Pod{
|
Object: &corev1.Pod{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "foo",
|
Name: "foo",
|
||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
ResourceVersion: "12",
|
ResourceVersion: "12",
|
||||||
},
|
},
|
||||||
Spec: apitesting.V1DeepEqualSafePodSpec(),
|
Spec: corev1.PodSpec{
|
||||||
|
RestartPolicy: corev1.RestartPolicyAlways,
|
||||||
|
DNSPolicy: corev1.DNSClusterFirst,
|
||||||
|
TerminationGracePeriodSeconds: &grace,
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{},
|
||||||
|
EnableServiceLinks: &enableServiceLinks,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1158,7 +1258,7 @@ func TestWatchLabelSelector(t *testing.T) {
|
||||||
defer tf.Cleanup()
|
defer tf.Cleanup()
|
||||||
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
||||||
|
|
||||||
podList := &api.PodList{
|
podList := &corev1.PodList{
|
||||||
Items: pods,
|
Items: pods,
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "10",
|
ResourceVersion: "10",
|
||||||
|
@ -1209,7 +1309,7 @@ func TestWatchFieldSelector(t *testing.T) {
|
||||||
defer tf.Cleanup()
|
defer tf.Cleanup()
|
||||||
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
||||||
|
|
||||||
podList := &api.PodList{
|
podList := &corev1.PodList{
|
||||||
Items: pods,
|
Items: pods,
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "10",
|
ResourceVersion: "10",
|
||||||
|
@ -1389,7 +1489,7 @@ func TestWatchOnlyList(t *testing.T) {
|
||||||
defer tf.Cleanup()
|
defer tf.Cleanup()
|
||||||
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
codec := scheme.Codecs.LegacyCodec(scheme.Scheme.PrioritizedVersionsAllGroups()...)
|
||||||
|
|
||||||
podList := &api.PodList{
|
podList := &corev1.PodList{
|
||||||
Items: pods,
|
Items: pods,
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "10",
|
ResourceVersion: "10",
|
||||||
|
|
Loading…
Reference in New Issue