mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 10:18:13 +00:00 
			
		
		
		
	Remove use of testapi codecs, selflink, resourcepath functions
This commit is contained in:
		| @@ -17,7 +17,6 @@ go_test( | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/legacyscheme:go_default_library", | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/apis/core:go_default_library", | ||||
|         "//pkg/apis/core/install:go_default_library", | ||||
|         "//pkg/kubelet/server/portforward:go_default_library", | ||||
|   | ||||
| @@ -23,7 +23,7 @@ import ( | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"k8s.io/api/core/v1" | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/fields" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| @@ -34,7 +34,6 @@ import ( | ||||
| 	. "k8s.io/client-go/tools/cache" | ||||
| 	watchtools "k8s.io/client-go/tools/watch" | ||||
| 	utiltesting "k8s.io/client-go/util/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| ) | ||||
|  | ||||
| func parseSelectorOrDie(s string) fields.Selector { | ||||
| @@ -71,7 +70,7 @@ func TestListWatchesCanList(t *testing.T) { | ||||
| 	}{ | ||||
| 		// Node | ||||
| 		{ | ||||
| 			location:      testapi.Default.ResourcePath("nodes", metav1.NamespaceAll, ""), | ||||
| 			location:      "/api/v1/nodes", | ||||
| 			resource:      "nodes", | ||||
| 			namespace:     metav1.NamespaceAll, | ||||
| 			fieldSelector: parseSelectorOrDie(""), | ||||
| @@ -79,7 +78,7 @@ func TestListWatchesCanList(t *testing.T) { | ||||
| 		// pod with "assigned" field selector. | ||||
| 		{ | ||||
| 			location: buildLocation( | ||||
| 				testapi.Default.ResourcePath("pods", metav1.NamespaceAll, ""), | ||||
| 				"/api/v1/pods", | ||||
| 				buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}})), | ||||
| 			resource:      "pods", | ||||
| 			namespace:     metav1.NamespaceAll, | ||||
| @@ -88,7 +87,7 @@ func TestListWatchesCanList(t *testing.T) { | ||||
| 		// pod in namespace "foo" | ||||
| 		{ | ||||
| 			location: buildLocation( | ||||
| 				testapi.Default.ResourcePath("pods", "foo", ""), | ||||
| 				"/api/v1/namespaces/foo/pods", | ||||
| 				buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}})), | ||||
| 			resource:      "pods", | ||||
| 			namespace:     "foo", | ||||
| @@ -124,7 +123,7 @@ func TestListWatchesCanWatch(t *testing.T) { | ||||
| 		// Node | ||||
| 		{ | ||||
| 			location: buildLocation( | ||||
| 				testapi.Default.ResourcePath("nodes", metav1.NamespaceAll, ""), | ||||
| 				"/api/v1/nodes", | ||||
| 				buildQueryValues(url.Values{"watch": []string{"true"}})), | ||||
| 			rv:            "", | ||||
| 			resource:      "nodes", | ||||
| @@ -133,7 +132,7 @@ func TestListWatchesCanWatch(t *testing.T) { | ||||
| 		}, | ||||
| 		{ | ||||
| 			location: buildLocation( | ||||
| 				testapi.Default.ResourcePath("nodes", metav1.NamespaceAll, ""), | ||||
| 				"/api/v1/nodes", | ||||
| 				buildQueryValues(url.Values{"resourceVersion": []string{"42"}, "watch": []string{"true"}})), | ||||
| 			rv:            "42", | ||||
| 			resource:      "nodes", | ||||
| @@ -143,7 +142,7 @@ func TestListWatchesCanWatch(t *testing.T) { | ||||
| 		// pod with "assigned" field selector. | ||||
| 		{ | ||||
| 			location: buildLocation( | ||||
| 				testapi.Default.ResourcePath("pods", metav1.NamespaceAll, ""), | ||||
| 				"/api/v1/pods", | ||||
| 				buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}, "resourceVersion": []string{"0"}, "watch": []string{"true"}})), | ||||
| 			rv:            "0", | ||||
| 			resource:      "pods", | ||||
| @@ -153,7 +152,7 @@ func TestListWatchesCanWatch(t *testing.T) { | ||||
| 		// pod with namespace foo and assigned field selector | ||||
| 		{ | ||||
| 			location: buildLocation( | ||||
| 				testapi.Default.ResourcePath("pods", "foo", ""), | ||||
| 				"/api/v1/namespaces/foo/pods", | ||||
| 				buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}, "resourceVersion": []string{"0"}, "watch": []string{"true"}})), | ||||
| 			rv:            "0", | ||||
| 			resource:      "pods", | ||||
|   | ||||
| @@ -14,7 +14,6 @@ go_test( | ||||
|     ], | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/apis/core/install:go_default_library", | ||||
|         "//pkg/controller/testutil:go_default_library", | ||||
|         "//pkg/securitycontext:go_default_library", | ||||
| @@ -31,6 +30,7 @@ go_test( | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/rest:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/cache:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/record:go_default_library", | ||||
|   | ||||
| @@ -28,7 +28,7 @@ import ( | ||||
| 	"time" | ||||
|  | ||||
| 	apps "k8s.io/api/apps/v1" | ||||
| 	"k8s.io/api/core/v1" | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	apiequality "k8s.io/apimachinery/pkg/api/equality" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| @@ -38,11 +38,11 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/util/uuid" | ||||
| 	clientset "k8s.io/client-go/kubernetes" | ||||
| 	"k8s.io/client-go/kubernetes/fake" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	restclient "k8s.io/client-go/rest" | ||||
| 	"k8s.io/client-go/tools/cache" | ||||
| 	"k8s.io/client-go/tools/record" | ||||
| 	utiltesting "k8s.io/client-go/util/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	_ "k8s.io/kubernetes/pkg/apis/core/install" | ||||
| 	"k8s.io/kubernetes/pkg/controller/testutil" | ||||
| 	"k8s.io/kubernetes/pkg/securitycontext" | ||||
| @@ -279,7 +279,7 @@ func TestUIDExpectations(t *testing.T) { | ||||
|  | ||||
| func TestCreatePods(t *testing.T) { | ||||
| 	ns := metav1.NamespaceDefault | ||||
| 	body := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "empty_pod"}}) | ||||
| 	body := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "empty_pod"}}) | ||||
| 	fakeHandler := utiltesting.FakeHandler{ | ||||
| 		StatusCode:   200, | ||||
| 		ResponseBody: string(body), | ||||
| @@ -306,7 +306,7 @@ func TestCreatePods(t *testing.T) { | ||||
| 		}, | ||||
| 		Spec: controllerSpec.Spec.Template.Spec, | ||||
| 	} | ||||
| 	fakeHandler.ValidateRequest(t, testapi.Default.ResourcePath("pods", metav1.NamespaceDefault, ""), "POST", nil) | ||||
| 	fakeHandler.ValidateRequest(t, "/api/v1/namespaces/default/pods", "POST", nil) | ||||
| 	var actualPod = &v1.Pod{} | ||||
| 	err = json.Unmarshal([]byte(fakeHandler.RequestBody), actualPod) | ||||
| 	assert.NoError(t, err, "unexpected error: %v", err) | ||||
|   | ||||
| @@ -45,7 +45,6 @@ go_test( | ||||
|     srcs = ["endpoints_controller_test.go"], | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/api/v1/endpoints:go_default_library", | ||||
|         "//pkg/apis/core:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
| @@ -61,6 +60,7 @@ go_test( | ||||
|         "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/informers:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/rest:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/cache:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/util/testing:go_default_library", | ||||
|   | ||||
| @@ -35,11 +35,11 @@ import ( | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| 	"k8s.io/client-go/informers" | ||||
| 	clientset "k8s.io/client-go/kubernetes" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	restclient "k8s.io/client-go/rest" | ||||
| 	"k8s.io/client-go/tools/cache" | ||||
| 	utiltesting "k8s.io/client-go/util/testing" | ||||
| 	featuregatetesting "k8s.io/component-base/featuregate/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	endptspkg "k8s.io/kubernetes/pkg/api/v1/endpoints" | ||||
| 	api "k8s.io/kubernetes/pkg/apis/core" | ||||
| 	"k8s.io/kubernetes/pkg/controller" | ||||
| @@ -139,11 +139,14 @@ func addNotReadyPodsWithSpecifiedRestartPolicyAndPhase(store cache.Store, namesp | ||||
| func makeTestServer(t *testing.T, namespace string) (*httptest.Server, *utiltesting.FakeHandler) { | ||||
| 	fakeEndpointsHandler := utiltesting.FakeHandler{ | ||||
| 		StatusCode:   http.StatusOK, | ||||
| 		ResponseBody: runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{}), | ||||
| 		ResponseBody: runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{}), | ||||
| 	} | ||||
| 	mux := http.NewServeMux() | ||||
| 	mux.Handle(testapi.Default.ResourcePath("endpoints", namespace, ""), &fakeEndpointsHandler) | ||||
| 	mux.Handle(testapi.Default.ResourcePath("endpoints/", namespace, ""), &fakeEndpointsHandler) | ||||
| 	if namespace == "" { | ||||
| 		t.Fatal("namespace cannot be empty") | ||||
| 	} | ||||
| 	mux.Handle("/api/v1/namespaces/"+namespace+"/endpoints", &fakeEndpointsHandler) | ||||
| 	mux.Handle("/api/v1/namespaces/"+namespace+"/endpoints/", &fakeEndpointsHandler) | ||||
| 	mux.HandleFunc("/", func(res http.ResponseWriter, req *http.Request) { | ||||
| 		t.Errorf("unexpected request: %v", req.RequestURI) | ||||
| 		http.Error(res, "", http.StatusNotFound) | ||||
| @@ -315,7 +318,7 @@ func TestSyncEndpointsProtocolTCP(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -329,7 +332,7 @@ func TestSyncEndpointsProtocolTCP(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsProtocolUDP(t *testing.T) { | ||||
| @@ -359,7 +362,7 @@ func TestSyncEndpointsProtocolUDP(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -373,7 +376,7 @@ func TestSyncEndpointsProtocolUDP(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "UDP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsProtocolSCTP(t *testing.T) { | ||||
| @@ -403,7 +406,7 @@ func TestSyncEndpointsProtocolSCTP(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -417,7 +420,7 @@ func TestSyncEndpointsProtocolSCTP(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "SCTP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsEmptySelectorSelectsAll(t *testing.T) { | ||||
| @@ -443,7 +446,7 @@ func TestSyncEndpointsItemsEmptySelectorSelectsAll(t *testing.T) { | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -457,7 +460,7 @@ func TestSyncEndpointsItemsEmptySelectorSelectsAll(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsEmptySelectorSelectsAllNotReady(t *testing.T) { | ||||
| @@ -483,7 +486,7 @@ func TestSyncEndpointsItemsEmptySelectorSelectsAllNotReady(t *testing.T) { | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -497,7 +500,7 @@ func TestSyncEndpointsItemsEmptySelectorSelectsAllNotReady(t *testing.T) { | ||||
| 			Ports:             []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsEmptySelectorSelectsAllMixed(t *testing.T) { | ||||
| @@ -523,7 +526,7 @@ func TestSyncEndpointsItemsEmptySelectorSelectsAllMixed(t *testing.T) { | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -538,7 +541,7 @@ func TestSyncEndpointsItemsEmptySelectorSelectsAllMixed(t *testing.T) { | ||||
| 			Ports:             []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsPreexisting(t *testing.T) { | ||||
| @@ -567,7 +570,7 @@ func TestSyncEndpointsItemsPreexisting(t *testing.T) { | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -581,7 +584,7 @@ func TestSyncEndpointsItemsPreexisting(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsPreexistingIdentical(t *testing.T) { | ||||
| @@ -643,7 +646,7 @@ func TestSyncEndpointsItems(t *testing.T) { | ||||
| 			{Name: "port1", Port: 8088, Protocol: "TCP"}, | ||||
| 		}, | ||||
| 	}} | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			ResourceVersion: "", | ||||
| 			Name:            "foo", | ||||
| @@ -654,7 +657,7 @@ func TestSyncEndpointsItems(t *testing.T) { | ||||
| 		Subsets: endptspkg.SortSubsets(expectedSubsets), | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, ""), "POST", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints", "POST", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsWithLabels(t *testing.T) { | ||||
| @@ -693,7 +696,7 @@ func TestSyncEndpointsItemsWithLabels(t *testing.T) { | ||||
| 	}} | ||||
|  | ||||
| 	serviceLabels[v1.IsHeadlessService] = "" | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			ResourceVersion: "", | ||||
| 			Name:            "foo", | ||||
| @@ -702,7 +705,7 @@ func TestSyncEndpointsItemsWithLabels(t *testing.T) { | ||||
| 		Subsets: endptspkg.SortSubsets(expectedSubsets), | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, ""), "POST", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints", "POST", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsPreexistingLabelsChange(t *testing.T) { | ||||
| @@ -740,7 +743,7 @@ func TestSyncEndpointsItemsPreexistingLabelsChange(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	serviceLabels[v1.IsHeadlessService] = "" | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -752,7 +755,7 @@ func TestSyncEndpointsItemsPreexistingLabelsChange(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestWaitsForAllInformersToBeSynced2(t *testing.T) { | ||||
| @@ -838,7 +841,7 @@ func TestSyncEndpointsHeadlessService(t *testing.T) { | ||||
| 	originalService := service.DeepCopy() | ||||
| 	endpoints.serviceStore.Add(service) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -857,7 +860,7 @@ func TestSyncEndpointsHeadlessService(t *testing.T) { | ||||
| 		t.Fatalf("syncing endpoints changed service: %s", diff.ObjectReflectDiff(service, originalService)) | ||||
| 	} | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyNeverAndPhaseFailed(t *testing.T) { | ||||
| @@ -885,7 +888,7 @@ func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyNeverAndPhaseFail | ||||
| 		}, | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -896,7 +899,7 @@ func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyNeverAndPhaseFail | ||||
| 		}, | ||||
| 		Subsets: []v1.EndpointSubset{}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyNeverAndPhaseSucceeded(t *testing.T) { | ||||
| @@ -924,7 +927,7 @@ func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyNeverAndPhaseSucc | ||||
| 		}, | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -935,7 +938,7 @@ func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyNeverAndPhaseSucc | ||||
| 		}, | ||||
| 		Subsets: []v1.EndpointSubset{}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyOnFailureAndPhaseSucceeded(t *testing.T) { | ||||
| @@ -963,7 +966,7 @@ func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyOnFailureAndPhase | ||||
| 		}, | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -974,7 +977,7 @@ func TestSyncEndpointsItemsExcludeNotReadyPodsWithRestartPolicyOnFailureAndPhase | ||||
| 		}, | ||||
| 		Subsets: []v1.EndpointSubset{}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestSyncEndpointsHeadlessWithoutPort(t *testing.T) { | ||||
| @@ -993,7 +996,7 @@ func TestSyncEndpointsHeadlessWithoutPort(t *testing.T) { | ||||
| 	addPods(endpoints.podStore, ns, 1, 1, 0, false) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name: "foo", | ||||
| 			Labels: map[string]string{ | ||||
| @@ -1005,7 +1008,7 @@ func TestSyncEndpointsHeadlessWithoutPort(t *testing.T) { | ||||
| 			Ports:     nil, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, ""), "POST", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints", "POST", &data) | ||||
| } | ||||
|  | ||||
| // There are 3*5 possibilities(3 types of RestartPolicy by 5 types of PodPhase). Not list them all here. | ||||
| @@ -1424,7 +1427,7 @@ func TestLastTriggerChangeTimeAnnotation(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -1441,7 +1444,7 @@ func TestLastTriggerChangeTimeAnnotation(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestLastTriggerChangeTimeAnnotation_AnnotationOverridden(t *testing.T) { | ||||
| @@ -1474,7 +1477,7 @@ func TestLastTriggerChangeTimeAnnotation_AnnotationOverridden(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -1491,7 +1494,7 @@ func TestLastTriggerChangeTimeAnnotation_AnnotationOverridden(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| func TestLastTriggerChangeTimeAnnotation_AnnotationCleared(t *testing.T) { | ||||
| @@ -1525,7 +1528,7 @@ func TestLastTriggerChangeTimeAnnotation_AnnotationCleared(t *testing.T) { | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
|  | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	data := runtime.EncodeOrDie(testapi.Default.Codec(), &v1.Endpoints{ | ||||
| 	data := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Endpoints{ | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:            "foo", | ||||
| 			Namespace:       ns, | ||||
| @@ -1539,7 +1542,7 @@ func TestLastTriggerChangeTimeAnnotation_AnnotationCleared(t *testing.T) { | ||||
| 			Ports:     []v1.EndpointPort{{Port: 8080, Protocol: "TCP"}}, | ||||
| 		}}, | ||||
| 	}) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "PUT", &data) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "PUT", &data) | ||||
| } | ||||
|  | ||||
| // TestPodUpdatesBatching verifies that endpoint updates caused by pod updates are batched together. | ||||
| @@ -1941,7 +1944,7 @@ func TestSyncEndpointsServiceNotFound(t *testing.T) { | ||||
| 	}) | ||||
| 	endpoints.syncService(ns + "/foo") | ||||
| 	endpointsHandler.ValidateRequestCount(t, 1) | ||||
| 	endpointsHandler.ValidateRequest(t, testapi.Default.ResourcePath("endpoints", ns, "foo"), "DELETE", nil) | ||||
| 	endpointsHandler.ValidateRequest(t, "/api/v1/namespaces/"+ns+"/endpoints/foo", "DELETE", nil) | ||||
| } | ||||
|  | ||||
| func podChangedHelper(oldPod, newPod *v1.Pod, endpointChanged endpointutil.EndpointsMatch) bool { | ||||
|   | ||||
| @@ -12,7 +12,6 @@ go_test( | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/legacyscheme:go_default_library", | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
|         "//staging/src/k8s.io/api/apps/v1:go_default_library", | ||||
|         "//staging/src/k8s.io/api/core/v1:go_default_library", | ||||
| @@ -25,6 +24,7 @@ go_test( | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/util/strategicpatch:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/informers:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/testing:go_default_library", | ||||
|     ], | ||||
| ) | ||||
|   | ||||
| @@ -27,8 +27,8 @@ import ( | ||||
| 	"k8s.io/api/core/v1" | ||||
| 	"k8s.io/client-go/informers" | ||||
| 	"k8s.io/client-go/kubernetes/fake" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	"k8s.io/kubernetes/pkg/api/legacyscheme" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/controller" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/api/errors" | ||||
| @@ -968,12 +968,12 @@ func TestRealHistory_AdoptControllerRevision(t *testing.T) { | ||||
| 					return true, nil, errors.NewNotFound(apps.Resource("controllerrevisions"), test.revision.Name) | ||||
| 				} | ||||
| 				b, err := strategicpatch.StrategicMergePatch( | ||||
| 					[]byte(runtime.EncodeOrDie(testapi.Apps.Codec(), test.revision)), | ||||
| 					[]byte(runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(apps.SchemeGroupVersion), test.revision)), | ||||
| 					action.GetPatch(), test.revision) | ||||
| 				if err != nil { | ||||
| 					return true, nil, err | ||||
| 				} | ||||
| 				obj, err := runtime.Decode(testapi.Apps.Codec(), b) | ||||
| 				obj, err := runtime.Decode(clientscheme.Codecs.LegacyCodec(apps.SchemeGroupVersion), b) | ||||
| 				if err != nil { | ||||
| 					return true, nil, err | ||||
| 				} | ||||
| @@ -1219,12 +1219,12 @@ func TestRealHistory_ReleaseControllerRevision(t *testing.T) { | ||||
| 						test.revision.GroupVersionKind().GroupKind(), test.revision.Name, nil) | ||||
| 				} | ||||
| 				b, err := strategicpatch.StrategicMergePatch( | ||||
| 					[]byte(runtime.EncodeOrDie(testapi.Apps.Codec(), test.revision)), | ||||
| 					[]byte(runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(apps.SchemeGroupVersion), test.revision)), | ||||
| 					action.GetPatch(), test.revision) | ||||
| 				if err != nil { | ||||
| 					return true, nil, err | ||||
| 				} | ||||
| 				obj, err := runtime.Decode(testapi.Apps.Codec(), b) | ||||
| 				obj, err := runtime.Decode(clientscheme.Codecs.LegacyCodec(apps.SchemeGroupVersion), b) | ||||
| 				if err != nil { | ||||
| 					return true, nil, err | ||||
| 				} | ||||
|   | ||||
| @@ -42,7 +42,6 @@ go_test( | ||||
|     ], | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
|         "//staging/src/k8s.io/api/core/v1:go_default_library", | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", | ||||
|   | ||||
| @@ -41,7 +41,6 @@ import ( | ||||
| 	fakecloud "k8s.io/cloud-provider/fake" | ||||
| 	servicehelper "k8s.io/cloud-provider/service/helpers" | ||||
| 	featuregatetesting "k8s.io/component-base/featuregate/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/controller" | ||||
| ) | ||||
|  | ||||
| @@ -53,7 +52,7 @@ func newService(name string, uid types.UID, serviceType v1.ServiceType) *v1.Serv | ||||
| 			Name:      name, | ||||
| 			Namespace: "default", | ||||
| 			UID:       uid, | ||||
| 			SelfLink:  testapi.Default.SelfLink("services", name), | ||||
| 			SelfLink:  "/api/v1/namespaces/default/services/" + name, | ||||
| 		}, | ||||
| 		Spec: v1.ServiceSpec{ | ||||
| 			Type: serviceType, | ||||
| @@ -145,7 +144,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) { | ||||
| 				ObjectMeta: metav1.ObjectMeta{ | ||||
| 					Name:      "udp-service", | ||||
| 					Namespace: "default", | ||||
| 					SelfLink:  testapi.Default.SelfLink("services", "udp-service"), | ||||
| 					SelfLink:  "/api/v1/namespaces/default/services/udp-service", | ||||
| 				}, | ||||
| 				Spec: v1.ServiceSpec{ | ||||
| 					Ports: []v1.ServicePort{{ | ||||
| @@ -166,7 +165,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) { | ||||
| 				ObjectMeta: metav1.ObjectMeta{ | ||||
| 					Name:      "basic-service1", | ||||
| 					Namespace: "default", | ||||
| 					SelfLink:  testapi.Default.SelfLink("services", "basic-service1"), | ||||
| 					SelfLink:  "/api/v1/namespaces/default/services/basic-service1", | ||||
| 				}, | ||||
| 				Spec: v1.ServiceSpec{ | ||||
| 					Ports: []v1.ServicePort{{ | ||||
| @@ -187,7 +186,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) { | ||||
| 				ObjectMeta: metav1.ObjectMeta{ | ||||
| 					Name:      "sctp-service", | ||||
| 					Namespace: "default", | ||||
| 					SelfLink:  testapi.Default.SelfLink("services", "sctp-service"), | ||||
| 					SelfLink:  "/api/v1/namespaces/default/services/sctp-service", | ||||
| 				}, | ||||
| 				Spec: v1.ServiceSpec{ | ||||
| 					Ports: []v1.ServicePort{{ | ||||
| @@ -234,7 +233,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) { | ||||
| 				ObjectMeta: metav1.ObjectMeta{ | ||||
| 					Name:      "basic-service1", | ||||
| 					Namespace: "default", | ||||
| 					SelfLink:  testapi.Default.SelfLink("services", "basic-service1"), | ||||
| 					SelfLink:  "/api/v1/namespaces/default/services/basic-service1", | ||||
| 					DeletionTimestamp: &metav1.Time{ | ||||
| 						Time: time.Now(), | ||||
| 					}, | ||||
| @@ -267,7 +266,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) { | ||||
| 				ObjectMeta: metav1.ObjectMeta{ | ||||
| 					Name:      "basic-service1", | ||||
| 					Namespace: "default", | ||||
| 					SelfLink:  testapi.Default.SelfLink("services", "basic-service1"), | ||||
| 					SelfLink:  "/api/v1/namespaces/default/services/basic-service1", | ||||
| 				}, | ||||
| 				Spec: v1.ServiceSpec{ | ||||
| 					Ports: []v1.ServicePort{{ | ||||
| @@ -288,7 +287,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) { | ||||
| 				ObjectMeta: metav1.ObjectMeta{ | ||||
| 					Name:       "basic-service1", | ||||
| 					Namespace:  "default", | ||||
| 					SelfLink:   testapi.Default.SelfLink("services", "basic-service1"), | ||||
| 					SelfLink:   "/api/v1/namespaces/default/services/basic-service1", | ||||
| 					Finalizers: []string{servicehelper.LoadBalancerCleanupFinalizer}, | ||||
| 				}, | ||||
| 				Spec: v1.ServiceSpec{ | ||||
|   | ||||
| @@ -74,7 +74,6 @@ go_test( | ||||
|     ], | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/apis/core:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
|         "//pkg/controller/volume/persistentvolume/testing:go_default_library", | ||||
|   | ||||
| @@ -40,7 +40,6 @@ import ( | ||||
| 	storagelisters "k8s.io/client-go/listers/storage/v1" | ||||
| 	"k8s.io/client-go/tools/cache" | ||||
| 	"k8s.io/client-go/tools/record" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/controller" | ||||
| 	pvtesting "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/testing" | ||||
| 	pvutil "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/util" | ||||
| @@ -375,7 +374,7 @@ func newClaim(name, claimUID, capacity, boundToVolume string, phase v1.Persisten | ||||
| 		}, | ||||
| 	} | ||||
| 	// Make sure ref.GetReference(claim) works | ||||
| 	claim.ObjectMeta.SelfLink = testapi.Default.SelfLink("pvc", name) | ||||
| 	claim.ObjectMeta.SelfLink = "/api/v1/namespaces/" + testNamespace + "/persistentvolumeclaims/" + name | ||||
|  | ||||
| 	if len(annotations) > 0 { | ||||
| 		claim.Annotations = make(map[string]string) | ||||
|   | ||||
| @@ -27,7 +27,6 @@ import ( | ||||
| 	"k8s.io/client-go/kubernetes/scheme" | ||||
| 	ref "k8s.io/client-go/tools/reference" | ||||
| 	featuregatetesting "k8s.io/component-base/featuregate/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	pvutil "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/util" | ||||
| 	"k8s.io/kubernetes/pkg/features" | ||||
| 	"k8s.io/kubernetes/pkg/volume/util" | ||||
| @@ -1396,7 +1395,7 @@ func TestFindingPreboundVolumes(t *testing.T) { | ||||
| 		ObjectMeta: metav1.ObjectMeta{ | ||||
| 			Name:      "claim01", | ||||
| 			Namespace: "myns", | ||||
| 			SelfLink:  testapi.Default.SelfLink("pvc", ""), | ||||
| 			SelfLink:  "/api/v1/namespaces/myns/persistentvolumeclaims/claim01", | ||||
| 		}, | ||||
| 		Spec: v1.PersistentVolumeClaimSpec{ | ||||
| 			AccessModes: []v1.PersistentVolumeAccessMode{v1.ReadWriteOnce}, | ||||
|   | ||||
| @@ -45,7 +45,6 @@ go_test( | ||||
|     ], | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/controller:go_default_library", | ||||
|         "//pkg/controller/volume/persistentvolume/testing:go_default_library", | ||||
|         "//pkg/controller/volume/persistentvolume/util:go_default_library", | ||||
|   | ||||
| @@ -40,7 +40,6 @@ import ( | ||||
| 	k8stesting "k8s.io/client-go/testing" | ||||
| 	featuregatetesting "k8s.io/component-base/featuregate/testing" | ||||
| 	"k8s.io/klog" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/controller" | ||||
| 	pvtesting "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/testing" | ||||
| 	pvutil "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/util" | ||||
| @@ -562,7 +561,7 @@ func makeTestPVC(name, size, node string, pvcBoundState int, pvName, resourceVer | ||||
| 			Namespace:       "testns", | ||||
| 			UID:             types.UID("pvc-uid"), | ||||
| 			ResourceVersion: resourceVersion, | ||||
| 			SelfLink:        testapi.Default.SelfLink("pvc", name), | ||||
| 			SelfLink:        "/api/v1/namespaces/testns/persistentvolumeclaims/" + name, | ||||
| 		}, | ||||
| 		Spec: v1.PersistentVolumeClaimSpec{ | ||||
| 			Resources: v1.ResourceRequirements{ | ||||
|   | ||||
| @@ -72,7 +72,6 @@ go_test( | ||||
|     embed = [":go_default_library"], | ||||
|     deps = [ | ||||
|         "//pkg/api/legacyscheme:go_default_library", | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/apis/core:go_default_library", | ||||
|         "//pkg/apis/core/v1:go_default_library", | ||||
|         "//pkg/apis/core/validation:go_default_library", | ||||
|   | ||||
| @@ -26,8 +26,8 @@ import ( | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	"k8s.io/kubernetes/pkg/api/legacyscheme" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/apis/core" | ||||
| 	"k8s.io/kubernetes/pkg/apis/core/validation" | ||||
| 	"k8s.io/kubernetes/pkg/securitycontext" | ||||
| @@ -72,7 +72,7 @@ func TestDecodeSinglePod(t *testing.T) { | ||||
| 			}, | ||||
| 		}, | ||||
| 	} | ||||
| 	json, err := runtime.Encode(testapi.Default.Codec(), pod) | ||||
| 	json, err := runtime.Encode(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), pod) | ||||
| 	if err != nil { | ||||
| 		t.Errorf("unexpected error: %v", err) | ||||
| 	} | ||||
| @@ -148,7 +148,7 @@ func TestDecodePodList(t *testing.T) { | ||||
| 	podList := &v1.PodList{ | ||||
| 		Items: []v1.Pod{*pod}, | ||||
| 	} | ||||
| 	json, err := runtime.Encode(testapi.Default.Codec(), podList) | ||||
| 	json, err := runtime.Encode(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), podList) | ||||
| 	if err != nil { | ||||
| 		t.Errorf("unexpected error: %v", err) | ||||
| 	} | ||||
|   | ||||
| @@ -33,7 +33,7 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| 	"k8s.io/apimachinery/pkg/util/wait" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	api "k8s.io/kubernetes/pkg/apis/core" | ||||
| 	k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1" | ||||
| 	"k8s.io/kubernetes/pkg/apis/core/validation" | ||||
| @@ -199,7 +199,7 @@ func getTestCases(hostname types.NodeName) []*testCase { | ||||
| } | ||||
|  | ||||
| func (tc *testCase) writeToFile(dir, name string, t *testing.T) string { | ||||
| 	fileContents, err := runtime.Encode(testapi.Default.Codec(), tc.pod) | ||||
| 	fileContents, err := runtime.Encode(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), tc.pod) | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("%s: error in encoding the pod: %v", tc.desc, err) | ||||
| 	} | ||||
|   | ||||
| @@ -28,8 +28,8 @@ import ( | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	utiltesting "k8s.io/client-go/util/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	api "k8s.io/kubernetes/pkg/apis/core" | ||||
| 	k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1" | ||||
| 	"k8s.io/kubernetes/pkg/apis/core/validation" | ||||
| @@ -292,7 +292,7 @@ func TestExtractPodsFromHTTP(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	for _, testCase := range testCases { | ||||
| 		data, err := runtime.Encode(testapi.Default.Codec(), testCase.pods) | ||||
| 		data, err := runtime.Encode(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), testCase.pods) | ||||
| 		if err != nil { | ||||
| 			t.Fatalf("%s: error in encoding the pod: %v", testCase.desc, err) | ||||
| 		} | ||||
|   | ||||
| @@ -149,7 +149,6 @@ go_test( | ||||
|     race = "off", | ||||
|     deps = [ | ||||
|         "//pkg/api/legacyscheme:go_default_library", | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/apis/batch:go_default_library", | ||||
|         "//pkg/apis/networking:go_default_library", | ||||
|         "//pkg/apis/storage:go_default_library", | ||||
|   | ||||
| @@ -48,7 +48,6 @@ import ( | ||||
| 	restclient "k8s.io/client-go/rest" | ||||
| 	kubeversion "k8s.io/component-base/version" | ||||
| 	"k8s.io/kubernetes/pkg/api/legacyscheme" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/apis/batch" | ||||
| 	"k8s.io/kubernetes/pkg/apis/networking" | ||||
| 	apisstorage "k8s.io/kubernetes/pkg/apis/storage" | ||||
| @@ -86,7 +85,7 @@ func setUp(t *testing.T) (*etcd3testing.EtcdTestServer, Config, *assert.Assertio | ||||
| 		networking.Resource("ingresses").WithVersion("v1beta1"), | ||||
| 	} | ||||
| 	resourceEncoding = resourceconfig.MergeResourceEncodingConfigs(resourceEncoding, resourceEncodingOverrides) | ||||
| 	storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), legacyscheme.Codecs, resourceEncoding, DefaultAPIResourceConfigSource(), nil) | ||||
| 	storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, "application/vnd.kubernetes.protobuf", legacyscheme.Codecs, resourceEncoding, DefaultAPIResourceConfigSource(), nil) | ||||
|  | ||||
| 	etcdOptions := options.NewEtcdOptions(storageConfig) | ||||
| 	// unit tests don't need watch cache and it leaks lots of goroutines with etcd testing functions during unit tests | ||||
|   | ||||
| @@ -24,14 +24,11 @@ import ( | ||||
| 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||
| 	etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing" | ||||
| 	"k8s.io/apiserver/pkg/storage/storagebackend" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/pkg/kubeapiserver" | ||||
| ) | ||||
|  | ||||
| func NewEtcdStorage(t *testing.T, group string) (*storagebackend.Config, *etcd3testing.EtcdTestServer) { | ||||
| 	server, config := etcd3testing.NewUnsecuredEtcd3TestClientServer(t) | ||||
| 	config.Codec = testapi.Groups[group].StorageCodec() | ||||
| 	return config, server | ||||
| 	return NewEtcdStorageForResource(t, schema.GroupResource{Group: group, Resource: "any"}) | ||||
| } | ||||
|  | ||||
| func NewEtcdStorageForResource(t *testing.T, resource schema.GroupResource) (*storagebackend.Config, *etcd3testing.EtcdTestServer) { | ||||
|   | ||||
| @@ -70,8 +70,6 @@ func TestExperimentalEncodeDecodeStatus(t *testing.T) { | ||||
| 		Reason:  metav1.StatusReasonUnknown, | ||||
| 		Message: "", | ||||
| 	} | ||||
| 	// TODO: caesarxuchao: use the testapi.Extensions.Codec() once the PR that | ||||
| 	// moves experimental from v1 to v1beta1 got merged. | ||||
| 	_, codecs := TestScheme() | ||||
| 	expCodec := apitesting.TestCodec(codecs, schema.GroupVersion{Group: "", Version: runtime.APIVersionInternal}) | ||||
|  | ||||
|   | ||||
| @@ -11,7 +11,6 @@ go_test( | ||||
|         "integration", | ||||
|     ], | ||||
|     deps = [ | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//staging/src/k8s.io/api/core/v1:go_default_library", | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", | ||||
|   | ||||
| @@ -34,7 +34,6 @@ import ( | ||||
| 	restclient "k8s.io/client-go/rest" | ||||
| 	"k8s.io/client-go/tools/cache" | ||||
| 	watchtools "k8s.io/client-go/tools/watch" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/test/integration/framework" | ||||
| ) | ||||
|  | ||||
| @@ -76,7 +75,6 @@ func TestWatchRestartsIfTimeoutNotReached(t *testing.T) { | ||||
|  | ||||
| 	config := &restclient.Config{ | ||||
| 		Host: s.URL, | ||||
| 		ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[corev1.GroupName].GroupVersion()}, | ||||
| 	} | ||||
|  | ||||
| 	namespaceObject := framework.CreateTestingNamespace("retry-watch", s, t) | ||||
|   | ||||
| @@ -24,7 +24,6 @@ go_test( | ||||
|         "//cmd/kube-apiserver/app/options:go_default_library", | ||||
|         "//cmd/kube-apiserver/app/testing:go_default_library", | ||||
|         "//pkg/api/legacyscheme:go_default_library", | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//pkg/apis/autoscaling:go_default_library", | ||||
|         "//pkg/apis/core:go_default_library", | ||||
|         "//pkg/apis/extensions:go_default_library", | ||||
|   | ||||
| @@ -30,7 +30,6 @@ import ( | ||||
| 	"k8s.io/apiserver/pkg/authorization/authorizer" | ||||
| 	clientset "k8s.io/client-go/kubernetes" | ||||
| 	restclient "k8s.io/client-go/rest" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	api "k8s.io/kubernetes/pkg/apis/core" | ||||
| 	"k8s.io/kubernetes/test/integration/framework" | ||||
| ) | ||||
| @@ -62,7 +61,7 @@ func TestSubjectAccessReview(t *testing.T) { | ||||
| 	_, s, closeFn := framework.RunAMaster(masterConfig) | ||||
| 	defer closeFn() | ||||
|  | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: s.URL, ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[api.GroupName].GroupVersion()}}) | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: s.URL}) | ||||
|  | ||||
| 	tests := []struct { | ||||
| 		name           string | ||||
| @@ -157,7 +156,7 @@ func TestSelfSubjectAccessReview(t *testing.T) { | ||||
| 	_, s, closeFn := framework.RunAMaster(masterConfig) | ||||
| 	defer closeFn() | ||||
|  | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: s.URL, ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[api.GroupName].GroupVersion()}}) | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: s.URL}) | ||||
|  | ||||
| 	tests := []struct { | ||||
| 		name           string | ||||
| @@ -236,7 +235,7 @@ func TestLocalSubjectAccessReview(t *testing.T) { | ||||
| 	_, s, closeFn := framework.RunAMaster(masterConfig) | ||||
| 	defer closeFn() | ||||
|  | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: s.URL, ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[api.GroupName].GroupVersion()}}) | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: s.URL}) | ||||
|  | ||||
| 	tests := []struct { | ||||
| 		name           string | ||||
|   | ||||
| @@ -47,8 +47,7 @@ import ( | ||||
| 	"k8s.io/apiserver/pkg/authorization/authorizerfactory" | ||||
| 	"k8s.io/apiserver/plugin/pkg/authenticator/token/tokentest" | ||||
| 	"k8s.io/apiserver/plugin/pkg/authenticator/token/webhook" | ||||
| 	"k8s.io/client-go/tools/clientcmd/api/v1" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	v1 "k8s.io/client-go/tools/clientcmd/api/v1" | ||||
| 	"k8s.io/kubernetes/pkg/apis/autoscaling" | ||||
| 	api "k8s.io/kubernetes/pkg/apis/core" | ||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||
| @@ -94,26 +93,45 @@ func getTestWebhookTokenAuth(serverURL string) (authenticator.Request, error) { | ||||
| } | ||||
|  | ||||
| func path(resource, namespace, name string) string { | ||||
| 	return testapi.Default.ResourcePath(resource, namespace, name) | ||||
| 	return pathWithPrefix("", resource, namespace, name) | ||||
| } | ||||
|  | ||||
| func pathWithPrefix(prefix, resource, namespace, name string) string { | ||||
| 	return testapi.Default.ResourcePathWithPrefix(prefix, resource, namespace, name) | ||||
| 	path := "/api/v1" | ||||
| 	if prefix != "" { | ||||
| 		path = path + "/" + prefix | ||||
| 	} | ||||
| 	if namespace != "" { | ||||
| 		path = path + "/namespaces/" + namespace | ||||
| 	} | ||||
| 	// Resource names are lower case. | ||||
| 	resource = strings.ToLower(resource) | ||||
| 	if resource != "" { | ||||
| 		path = path + "/" + resource | ||||
| 	} | ||||
| 	if name != "" { | ||||
| 		path = path + "/" + name | ||||
| 	} | ||||
| 	return path | ||||
| } | ||||
|  | ||||
| func pathWithSubResource(resource, namespace, name, subresource string) string { | ||||
| 	return testapi.Default.SubResourcePath(resource, namespace, name, subresource) | ||||
| 	path := pathWithPrefix("", resource, namespace, name) | ||||
| 	if subresource != "" { | ||||
| 		path = path + "/" + subresource | ||||
| 	} | ||||
| 	return path | ||||
| } | ||||
|  | ||||
| func timeoutPath(resource, namespace, name string) string { | ||||
| 	return addTimeoutFlag(testapi.Default.ResourcePath(resource, namespace, name)) | ||||
| 	return addTimeoutFlag(path(resource, namespace, name)) | ||||
| } | ||||
|  | ||||
| // Bodies for requests used in subsequent tests. | ||||
| var aPod = ` | ||||
| { | ||||
|   "kind": "Pod", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a", | ||||
|     "creationTimestamp": null%s | ||||
| @@ -131,7 +149,7 @@ var aPod = ` | ||||
| var aRC = ` | ||||
| { | ||||
|   "kind": "ReplicationController", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a", | ||||
|     "labels": { | ||||
| @@ -164,7 +182,7 @@ var aRC = ` | ||||
| var aService = ` | ||||
| { | ||||
|   "kind": "Service", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a", | ||||
|     "labels": { | ||||
| @@ -188,7 +206,7 @@ var aService = ` | ||||
| var aNode = ` | ||||
| { | ||||
|   "kind": "Node", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a"%s | ||||
|   }, | ||||
| @@ -202,7 +220,7 @@ func aEvent(namespace string) string { | ||||
| 	return ` | ||||
| { | ||||
|   "kind": "Event", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a"%s | ||||
|   }, | ||||
| @@ -219,7 +237,7 @@ func aEvent(namespace string) string { | ||||
| var aBinding = ` | ||||
| { | ||||
|   "kind": "Binding", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a"%s | ||||
|   }, | ||||
| @@ -242,7 +260,7 @@ var emptyEndpoints = ` | ||||
| var aEndpoints = ` | ||||
| { | ||||
|   "kind": "Endpoints", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "metadata": { | ||||
|     "name": "a"%s | ||||
|   }, | ||||
| @@ -267,7 +285,7 @@ var aEndpoints = ` | ||||
| var deleteNow = ` | ||||
| { | ||||
|   "kind": "DeleteOptions", | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "gracePeriodSeconds": 0%s | ||||
| } | ||||
| ` | ||||
|   | ||||
| @@ -23,12 +23,12 @@ import ( | ||||
| 	"io/ioutil" | ||||
| 	"net/http" | ||||
| 	"net/http/httputil" | ||||
| 	gopath "path" | ||||
| 	"reflect" | ||||
| 	"strings" | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	api "k8s.io/api/core/v1" | ||||
| 	rbacapi "k8s.io/api/rbac/v1" | ||||
| 	apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| @@ -49,7 +49,6 @@ import ( | ||||
| 	featuregatetesting "k8s.io/component-base/featuregate/testing" | ||||
| 	"k8s.io/klog" | ||||
| 	"k8s.io/kubernetes/pkg/api/legacyscheme" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	rbachelper "k8s.io/kubernetes/pkg/apis/rbac/v1" | ||||
| 	"k8s.io/kubernetes/pkg/master" | ||||
| 	"k8s.io/kubernetes/pkg/registry/rbac/clusterrole" | ||||
| @@ -193,12 +192,9 @@ func (s statusCode) String() string { | ||||
|  | ||||
| // Declare a set of raw objects to use. | ||||
| var ( | ||||
| 	// Make a role binding with the version enabled in testapi.Rbac | ||||
| 	// This assumes testapi is using rbac.authorization.k8s.io/v1beta1 or rbac.authorization.k8s.io/v1, which are identical in structure. | ||||
| 	// TODO: rework or remove testapi usage to allow writing integration tests that don't depend on envvars | ||||
| 	writeJobsRoleBinding = ` | ||||
| { | ||||
|   "apiVersion": "` + testapi.Rbac.GroupVersion().String() + `", | ||||
|   "apiVersion": "rbac.authorization.k8s.io/v1", | ||||
|   "kind": "RoleBinding", | ||||
|   "metadata": { | ||||
|     "name": "pi"%s | ||||
| @@ -260,7 +256,7 @@ var ( | ||||
| ` | ||||
| 	podNamespace = ` | ||||
| { | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "kind": "Namespace", | ||||
|   "metadata": { | ||||
| 	"name": "pod-namespace"%s | ||||
| @@ -269,7 +265,7 @@ var ( | ||||
| ` | ||||
| 	jobNamespace = ` | ||||
| { | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "kind": "Namespace", | ||||
|   "metadata": { | ||||
| 	"name": "job-namespace"%s | ||||
| @@ -278,7 +274,7 @@ var ( | ||||
| ` | ||||
| 	forbiddenNamespace = ` | ||||
| { | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "kind": "Namespace", | ||||
|   "metadata": { | ||||
| 	"name": "forbidden-namespace"%s | ||||
| @@ -287,7 +283,7 @@ var ( | ||||
| ` | ||||
| 	limitRangeNamespace = ` | ||||
| { | ||||
|   "apiVersion": "` + testapi.Groups[api.GroupName].GroupVersion().String() + `", | ||||
|   "apiVersion": "v1", | ||||
|   "kind": "Namespace", | ||||
|   "metadata": { | ||||
| 	"name": "limitrange-namespace"%s | ||||
| @@ -560,12 +556,21 @@ func TestRBAC(t *testing.T) { | ||||
| 		previousResourceVersion := make(map[string]float64) | ||||
|  | ||||
| 		for j, r := range tc.requests { | ||||
| 			testGroup, ok := testapi.Groups[r.apiGroup] | ||||
| 			if !ok { | ||||
| 				t.Errorf("case %d %d: unknown api group %q, %s", i, j, r.apiGroup, r) | ||||
| 				continue | ||||
| 			path := "/" | ||||
| 			if r.apiGroup == "" { | ||||
| 				path = gopath.Join(path, "api/v1") | ||||
| 			} else { | ||||
| 				path = gopath.Join(path, "apis", r.apiGroup, "v1") | ||||
| 			} | ||||
| 			if r.namespace != "" { | ||||
| 				path = gopath.Join(path, "namespaces", r.namespace) | ||||
| 			} | ||||
| 			if r.resource != "" { | ||||
| 				path = gopath.Join(path, r.resource) | ||||
| 			} | ||||
| 			if r.name != "" { | ||||
| 				path = gopath.Join(path, r.name) | ||||
| 			} | ||||
| 			path := testGroup.ResourcePath(r.resource, r.namespace, r.name) | ||||
|  | ||||
| 			var body io.Reader | ||||
| 			if r.body != "" { | ||||
| @@ -652,7 +657,7 @@ func TestBootstrapping(t *testing.T) { | ||||
| 	_, s, closeFn := framework.RunAMaster(masterConfig) | ||||
| 	defer closeFn() | ||||
|  | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{BearerToken: superUser, Host: s.URL, ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[api.GroupName].GroupVersion()}}) | ||||
| 	clientset := clientset.NewForConfigOrDie(&restclient.Config{BearerToken: superUser, Host: s.URL}) | ||||
|  | ||||
| 	watcher, err := clientset.RbacV1().ClusterRoles().Watch(metav1.ListOptions{ResourceVersion: "0"}) | ||||
| 	if err != nil { | ||||
| @@ -712,7 +717,7 @@ func TestDiscoveryUpgradeBootstrapping(t *testing.T) { | ||||
| 	})) | ||||
| 	_, s, tearDownFn := framework.RunAMaster(masterConfig) | ||||
|  | ||||
| 	client := clientset.NewForConfigOrDie(&restclient.Config{BearerToken: superUser, Host: s.URL, ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[api.GroupName].GroupVersion()}}) | ||||
| 	client := clientset.NewForConfigOrDie(&restclient.Config{BearerToken: superUser, Host: s.URL}) | ||||
|  | ||||
| 	// Modify the default RBAC discovery ClusterRoleBidnings to look more like the defaults that | ||||
| 	// existed prior to v1.14, but with user modifications. | ||||
| @@ -750,7 +755,7 @@ func TestDiscoveryUpgradeBootstrapping(t *testing.T) { | ||||
| 	// `system:discovery`, and respect auto-reconciliation annotations. | ||||
| 	_, s, tearDownFn = framework.RunAMaster(masterConfig) | ||||
|  | ||||
| 	client = clientset.NewForConfigOrDie(&restclient.Config{BearerToken: superUser, Host: s.URL, ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Groups[api.GroupName].GroupVersion()}}) | ||||
| 	client = clientset.NewForConfigOrDie(&restclient.Config{BearerToken: superUser, Host: s.URL}) | ||||
|  | ||||
| 	newDiscRoleBinding, err := client.RbacV1().ClusterRoleBindings().Get("system:discovery", metav1.GetOptions{}) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -18,7 +18,6 @@ go_test( | ||||
|     deps = [ | ||||
|         "//cmd/kube-apiserver/app/testing:go_default_library", | ||||
|         "//pkg/api/legacyscheme:go_default_library", | ||||
|         "//pkg/api/testapi:go_default_library", | ||||
|         "//staging/src/k8s.io/api/core/v1:go_default_library", | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", | ||||
| @@ -32,6 +31,7 @@ go_test( | ||||
|         "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/dynamic:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library", | ||||
|         "//staging/src/k8s.io/component-base/version:go_default_library", | ||||
|         "//test/integration/framework:go_default_library", | ||||
|         "//test/utils/image:go_default_library", | ||||
|   | ||||
| @@ -32,8 +32,8 @@ import ( | ||||
| 	"k8s.io/apimachinery/pkg/watch" | ||||
| 	"k8s.io/client-go/dynamic" | ||||
| 	clientset "k8s.io/client-go/kubernetes" | ||||
| 	clientscheme "k8s.io/client-go/kubernetes/scheme" | ||||
| 	kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" | ||||
| 	"k8s.io/kubernetes/pkg/api/testapi" | ||||
| 	"k8s.io/kubernetes/test/integration/framework" | ||||
| ) | ||||
|  | ||||
| @@ -208,7 +208,7 @@ func unstructuredToPod(obj *unstructured.Unstructured) (*v1.Pod, error) { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	pod := new(v1.Pod) | ||||
| 	err = runtime.DecodeInto(testapi.Default.Codec(), json, pod) | ||||
| 	err = runtime.DecodeInto(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), json, pod) | ||||
| 	pod.Kind = "" | ||||
| 	pod.APIVersion = "" | ||||
| 	return pod, err | ||||
| @@ -220,6 +220,6 @@ func unstructuredToEvent(obj *unstructured.Unstructured) (*v1.Event, error) { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	event := new(v1.Event) | ||||
| 	err = runtime.DecodeInto(testapi.Default.Codec(), json, event) | ||||
| 	err = runtime.DecodeInto(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), json, event) | ||||
| 	return event, err | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jordan Liggitt
					Jordan Liggitt