Skip to content

Commit

Permalink
Merge pull request kubernetes#9263 from caesarxuchao/add-v1-tests-fix
Browse files Browse the repository at this point in the history
Fix some v1 tests issues
  • Loading branch information
Quinton Hoole committed Jun 4, 2015
2 parents b5251de + 080da97 commit 44f2c8f
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 123 deletions.
3 changes: 0 additions & 3 deletions pkg/api/latest/latest_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,6 @@ func TestInterfacesFor(t *testing.T) {
}

func TestRESTMapper(t *testing.T) {
if v, k, err := RESTMapper.VersionAndKindForResource("replicationControllers"); err != nil || v != "v1beta3" || k != "ReplicationController" {
t.Errorf("unexpected version mapping: %s %s %v", v, k, err)
}
if v, k, err := RESTMapper.VersionAndKindForResource("replicationcontrollers"); err != nil || v != "v1beta3" || k != "ReplicationController" {
t.Errorf("unexpected version mapping: %s %s %v", v, k, err)
}
Expand Down
121 changes: 16 additions & 105 deletions pkg/api/testapi/testapi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,50 +20,19 @@ import (
"testing"
)

func TestResourcePathWithPrefixForV1Beta3(t *testing.T) {
if Version() != "v1beta3" {
// Skip the test if we are not testing v1beta3.
return
}

testCases := []struct {
prefix string
resource string
namespace string
name string
expected string
}{
{"prefix", "resource", "mynamespace", "myresource", "/api/v1beta3/prefix/namespaces/mynamespace/resource/myresource"},
{"prefix", "resource", "", "myresource", "/api/v1beta3/prefix/resource/myresource"},
{"prefix", "resource", "mynamespace", "", "/api/v1beta3/prefix/namespaces/mynamespace/resource"},
{"prefix", "resource", "", "", "/api/v1beta3/prefix/resource"},
{"", "resource", "mynamespace", "myresource", "/api/v1beta3/namespaces/mynamespace/resource/myresource"},
}
for _, item := range testCases {
if actual := ResourcePathWithPrefix(item.prefix, item.resource, item.namespace, item.name); actual != item.expected {
t.Errorf("Expected: %s, got: %s for prefix: %s, resource: %s, namespace: %s and name: %s", item.expected, actual, item.prefix, item.resource, item.namespace, item.name)
}
}
}

func TestResourcePathWithPrefixForV1(t *testing.T) {
if Version() != "v1" {
// Skip the test if we are not testing v1.
return
}

func TestResourcePathWithPrefix(t *testing.T) {
testCases := []struct {
prefix string
resource string
namespace string
name string
expected string
}{
{"prefix", "resource", "mynamespace", "myresource", "/api/v1/prefix/namespaces/mynamespace/resource/myresource"},
{"prefix", "resource", "", "myresource", "/api/v1/prefix/resource/myresource"},
{"prefix", "resource", "mynamespace", "", "/api/v1/prefix/namespaces/mynamespace/resource"},
{"prefix", "resource", "", "", "/api/v1/prefix/resource"},
{"", "resource", "mynamespace", "myresource", "/api/v1/namespaces/mynamespace/resource/myresource"},
{"prefix", "resource", "mynamespace", "myresource", "/api/" + Version() + "/prefix/namespaces/mynamespace/resource/myresource"},
{"prefix", "resource", "", "myresource", "/api/" + Version() + "/prefix/resource/myresource"},
{"prefix", "resource", "mynamespace", "", "/api/" + Version() + "/prefix/namespaces/mynamespace/resource"},
{"prefix", "resource", "", "", "/api/" + Version() + "/prefix/resource"},
{"", "resource", "mynamespace", "myresource", "/api/" + Version() + "/namespaces/mynamespace/resource/myresource"},
}
for _, item := range testCases {
if actual := ResourcePathWithPrefix(item.prefix, item.resource, item.namespace, item.name); actual != item.expected {
Expand All @@ -72,22 +41,17 @@ func TestResourcePathWithPrefixForV1(t *testing.T) {
}
}

func TestResourcePathForV1Beta3(t *testing.T) {
if Version() != "v1beta3" {
// Skip the test if we are not testing v1beta3.
return
}

func TestResourcePath(t *testing.T) {
testCases := []struct {
resource string
namespace string
name string
expected string
}{
{"resource", "mynamespace", "myresource", "/api/v1beta3/namespaces/mynamespace/resource/myresource"},
{"resource", "", "myresource", "/api/v1beta3/resource/myresource"},
{"resource", "mynamespace", "", "/api/v1beta3/namespaces/mynamespace/resource"},
{"resource", "", "", "/api/v1beta3/resource"},
{"resource", "mynamespace", "myresource", "/api/" + Version() + "/namespaces/mynamespace/resource/myresource"},
{"resource", "", "myresource", "/api/" + Version() + "/resource/myresource"},
{"resource", "mynamespace", "", "/api/" + Version() + "/namespaces/mynamespace/resource"},
{"resource", "", "", "/api/" + Version() + "/resource"},
}
for _, item := range testCases {
if actual := ResourcePath(item.resource, item.namespace, item.name); actual != item.expected {
Expand All @@ -96,70 +60,17 @@ func TestResourcePathForV1Beta3(t *testing.T) {
}
}

func TestResourcePathForV1(t *testing.T) {
if Version() != "v1" {
// Skip the test if we are not testing v1.
return
}

testCases := []struct {
resource string
namespace string
name string
expected string
}{
{"resource", "mynamespace", "myresource", "/api/v1/namespaces/mynamespace/resource/myresource"},
{"resource", "", "myresource", "/api/v1/resource/myresource"},
{"resource", "mynamespace", "", "/api/v1/namespaces/mynamespace/resource"},
{"resource", "", "", "/api/v1/resource"},
}
for _, item := range testCases {
if actual := ResourcePath(item.resource, item.namespace, item.name); actual != item.expected {
t.Errorf("Expected: %s, got: %s for resource: %s, namespace: %s and name: %s", item.expected, actual, item.resource, item.namespace, item.name)
}
}
}

func TestResourcePathWithNamespaceQueryForV1Beta3(t *testing.T) {
if Version() != "v1beta3" {
// Skip the test if we are not testing v1beta3.
return
}

testCases := []struct {
resource string
namespace string
name string
expected string
}{
{"resource", "mynamespace", "myresource", "/api/v1beta3/namespaces/mynamespace/resource/myresource"},
{"resource", "", "myresource", "/api/v1beta3/resource/myresource"},
{"resource", "mynamespace", "", "/api/v1beta3/namespaces/mynamespace/resource"},
{"resource", "", "", "/api/v1beta3/resource"},
}
for _, item := range testCases {
if actual := ResourcePathWithNamespaceQuery(item.resource, item.namespace, item.name); actual != item.expected {
t.Errorf("Expected: %s, got: %s for resource: %s, namespace: %s and name: %s", item.expected, actual, item.resource, item.namespace, item.name)
}
}
}

func TestResourcePathWithNamespaceQueryForV1(t *testing.T) {
if Version() != "v1" {
// Skip the test if we are not testing v1.
return
}

func TestResourcePathWithNamespaceQuery(t *testing.T) {
testCases := []struct {
resource string
namespace string
name string
expected string
}{
{"resource", "mynamespace", "myresource", "/api/v1/namespaces/mynamespace/resource/myresource"},
{"resource", "", "myresource", "/api/v1/resource/myresource"},
{"resource", "mynamespace", "", "/api/v1/namespaces/mynamespace/resource"},
{"resource", "", "", "/api/v1/resource"},
{"resource", "mynamespace", "myresource", "/api/" + Version() + "/namespaces/mynamespace/resource/myresource"},
{"resource", "", "myresource", "/api/" + Version() + "/resource/myresource"},
{"resource", "mynamespace", "", "/api/" + Version() + "/namespaces/mynamespace/resource"},
{"resource", "", "", "/api/" + Version() + "/resource"},
}
for _, item := range testCases {
if actual := ResourcePathWithNamespaceQuery(item.resource, item.namespace, item.name); actual != item.expected {
Expand Down
4 changes: 2 additions & 2 deletions pkg/kubectl/cmd/util/helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func TestMerge(t *testing.T) {
},
},
/* TODO: uncomment this test once Merge is updated to use
strategic-merge-patch. See #844.
strategic-merge-patch. See #8449.
{
kind: "Pod",
obj: &api.Pod{
Expand Down Expand Up @@ -193,7 +193,7 @@ func TestMerge(t *testing.T) {
},
},
/* TODO: uncomment this test once Merge is updated to use
strategic-merge-patch. See #844.
strategic-merge-patch. See #8449.
{
kind: "Pod",
obj: &api.Pod{
Expand Down
9 changes: 1 addition & 8 deletions pkg/master/master.go
Original file line number Diff line number Diff line change
Expand Up @@ -389,17 +389,10 @@ func logStackOnRecover(panicReason interface{}, httpWriter http.ResponseWriter)

// init initializes master.
func (m *Master) init(c *Config) {
// TODO: make initialization of the helper part of the Master, and allow some storage
// objects to have a newer storage version than the user's default.
newerHelper, err := NewEtcdHelper(c.EtcdHelper.Client, "v1beta3", DefaultEtcdPathPrefix)
if err != nil {
glog.Fatalf("Unable to setup storage for v1beta3: %v", err)
}

podStorage := podetcd.NewStorage(c.EtcdHelper, c.KubeletClient)
podRegistry := pod.NewRegistry(podStorage.Pod)

podTemplateStorage := podtemplateetcd.NewREST(newerHelper)
podTemplateStorage := podtemplateetcd.NewREST(c.EtcdHelper)

eventRegistry := event.NewEtcdRegistry(c.EtcdHelper, uint64(c.EventTTL.Seconds()))
limitRangeRegistry := limitrange.NewEtcdRegistry(c.EtcdHelper)
Expand Down
4 changes: 2 additions & 2 deletions pkg/registry/podtemplate/etcd/etcd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ import (

"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest/resttest"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/testapi"
"github.com/GoogleCloudPlatform/kubernetes/pkg/tools"
"github.com/GoogleCloudPlatform/kubernetes/pkg/tools/etcdtest"
)

func newHelper(t *testing.T) (*tools.FakeEtcdClient, tools.EtcdHelper) {
fakeEtcdClient := tools.NewFakeEtcdClient(t)
fakeEtcdClient.TestIndex = true
helper := tools.NewEtcdHelper(fakeEtcdClient, v1beta3.Codec, etcdtest.PathPrefix())
helper := tools.NewEtcdHelper(fakeEtcdClient, testapi.Codec(), etcdtest.PathPrefix())
return fakeEtcdClient, helper
}

Expand Down
5 changes: 2 additions & 3 deletions pkg/runtime/helper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"testing"

"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
_ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/testapi"
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"

Expand Down Expand Up @@ -137,8 +137,7 @@ func TestDecodeList(t *testing.T) {
pl := &api.List{
Items: []runtime.Object{
&api.Pod{ObjectMeta: api.ObjectMeta{Name: "1"}},
&runtime.Unknown{TypeMeta: runtime.TypeMeta{Kind: "Pod", APIVersion: "v1beta3"}, RawJSON: []byte(`{"kind":"Pod","apiVersion":"v1beta3","metadata":{"name":"test"}}`)},
&runtime.Unknown{TypeMeta: runtime.TypeMeta{Kind: "Pod", APIVersion: "v1"}, RawJSON: []byte(`{"kind":"Pod","apiVersion":"v1","metadata":{"name":"test"}}`)},
&runtime.Unknown{TypeMeta: runtime.TypeMeta{Kind: "Pod", APIVersion: testapi.Version()}, RawJSON: []byte(`{"kind":"Pod","apiVersion":"` + testapi.Version() + `","metadata":{"name":"test"}}`)},
&runtime.Unstructured{TypeMeta: runtime.TypeMeta{Kind: "Foo", APIVersion: "Bar"}, Object: map[string]interface{}{"test": "value"}},
},
}
Expand Down

0 comments on commit 44f2c8f

Please sign in to comment.