diff --git a/pkg/api/testapi/testapi.go b/pkg/api/testapi/testapi.go index 79e4fedcf95..23a5b25391b 100644 --- a/pkg/api/testapi/testapi.go +++ b/pkg/api/testapi/testapi.go @@ -24,7 +24,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" ) -// Version returns the API version to test against as set by the KUBE_API_VERSION env var. +// Version returns the API version to test against, as set by the KUBE_API_VERSION env var. func Version() string { version := os.Getenv("KUBE_API_VERSION") if version == "" { @@ -33,10 +33,22 @@ func Version() string { return version } -func CodecForVersionOrDie() runtime.Codec { +// Codec returns the codec for the API version to test against, as set by the +// KUBE_API_VERSION env var. +func Codec() runtime.Codec { interfaces, err := latest.InterfacesFor(Version()) if err != nil { panic(err) } return interfaces.Codec } + +// ResourceVersioner returns the ResourceVersioner for the API version to test against, +// as set by the KUBE_API_VERSION env var. +func ResourceVersioner() runtime.ResourceVersioner { + interfaces, err := latest.InterfacesFor(Version()) + if err != nil { + panic(err) + } + return interfaces.ResourceVersioner +} diff --git a/pkg/client/restclient_test.go b/pkg/client/restclient_test.go index 0240fcc8d4c..8c1df0d0ae8 100644 --- a/pkg/client/restclient_test.go +++ b/pkg/client/restclient_test.go @@ -109,7 +109,7 @@ func TestDoRequest(t *testing.T) { {Request: testRequest{Method: "GET", Path: "error"}, Response: Response{StatusCode: 500}, Error: true}, {Request: testRequest{Method: "POST", Path: "faildecode"}, Response: Response{StatusCode: 200, RawBody: &invalid}}, {Request: testRequest{Method: "GET", Path: "failread"}, Response: Response{StatusCode: 200, RawBody: &invalid}}, - {Client: &Client{&RESTClient{baseURL: uri, Codec: testapi.CodecForVersionOrDie()}}, Request: testRequest{Method: "GET", Path: "nocertificate"}, Error: true}, + {Client: &Client{&RESTClient{baseURL: uri, Codec: testapi.Codec()}}, Request: testRequest{Method: "GET", Path: "nocertificate"}, Error: true}, } for _, c := range testClients { client := c.Setup() diff --git a/pkg/controller/replication_controller_test.go b/pkg/controller/replication_controller_test.go index fa3c3890d91..4b81737c6cb 100644 --- a/pkg/controller/replication_controller_test.go +++ b/pkg/controller/replication_controller_test.go @@ -149,7 +149,7 @@ func TestSyncReplicationControllerDeletes(t *testing.T) { } func TestSyncReplicationControllerCreates(t *testing.T) { - body := runtime.EncodeOrDie(testapi.CodecForVersionOrDie(), newPodList(0)) + body := runtime.EncodeOrDie(testapi.Codec(), newPodList(0)) fakeHandler := util.FakeHandler{ StatusCode: 200, ResponseBody: string(body), @@ -170,7 +170,7 @@ func TestSyncReplicationControllerCreates(t *testing.T) { func TestCreateReplica(t *testing.T) { ctx := api.NewDefaultContext() - body := runtime.EncodeOrDie(testapi.CodecForVersionOrDie(), &api.Pod{}) + body := runtime.EncodeOrDie(testapi.Codec(), &api.Pod{}) fakeHandler := util.FakeHandler{ StatusCode: 200, ResponseBody: string(body), diff --git a/pkg/service/endpoints_controller_test.go b/pkg/service/endpoints_controller_test.go index e85f1d77f3e..fd074cc24ab 100644 --- a/pkg/service/endpoints_controller_test.go +++ b/pkg/service/endpoints_controller_test.go @@ -203,7 +203,7 @@ func TestSyncEndpointsItemsPreexisting(t *testing.T) { if err := endpoints.SyncServiceEndpoints(); err != nil { t.Errorf("unexpected error: %v", err) } - data := runtime.EncodeOrDie(testapi.CodecForVersionOrDie(), &api.Endpoints{ + data := runtime.EncodeOrDie(testapi.Codec(), &api.Endpoints{ TypeMeta: api.TypeMeta{ ID: "foo", ResourceVersion: "1", @@ -261,7 +261,7 @@ func TestSyncEndpointsItems(t *testing.T) { if err := endpoints.SyncServiceEndpoints(); err != nil { t.Errorf("unexpected error: %v", err) } - data := runtime.EncodeOrDie(testapi.CodecForVersionOrDie(), &api.Endpoints{ + data := runtime.EncodeOrDie(testapi.Codec(), &api.Endpoints{ TypeMeta: api.TypeMeta{ ResourceVersion: "", }, diff --git a/plugin/pkg/scheduler/factory/factory_test.go b/plugin/pkg/scheduler/factory/factory_test.go index f333f1e3fb3..d7b3cf008ff 100644 --- a/plugin/pkg/scheduler/factory/factory_test.go +++ b/plugin/pkg/scheduler/factory/factory_test.go @@ -317,7 +317,7 @@ func TestBind(t *testing.T) { t.Errorf("Unexpected error: %v", err) continue } - expectedBody := runtime.EncodeOrDie(testapi.CodecForVersionOrDie(), item.binding) + expectedBody := runtime.EncodeOrDie(testapi.Codec(), item.binding) handler.ValidateRequest(t, "/api/"+testapi.Version()+"/bindings", "POST", &expectedBody) } }