mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 19:23:40 +00:00
Merge pull request #9263 from caesarxuchao/add-v1-tests-fix
Fix some v1 tests issues
This commit is contained in:
commit
44f2c8f003
@ -70,9 +70,6 @@ func TestInterfacesFor(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestRESTMapper(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" {
|
if v, k, err := RESTMapper.VersionAndKindForResource("replicationcontrollers"); err != nil || v != "v1beta3" || k != "ReplicationController" {
|
||||||
t.Errorf("unexpected version mapping: %s %s %v", v, k, err)
|
t.Errorf("unexpected version mapping: %s %s %v", v, k, err)
|
||||||
}
|
}
|
||||||
|
@ -20,12 +20,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestResourcePathWithPrefixForV1Beta3(t *testing.T) {
|
func TestResourcePathWithPrefix(t *testing.T) {
|
||||||
if Version() != "v1beta3" {
|
|
||||||
// Skip the test if we are not testing v1beta3.
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
prefix string
|
prefix string
|
||||||
resource string
|
resource string
|
||||||
@ -33,11 +28,11 @@ func TestResourcePathWithPrefixForV1Beta3(t *testing.T) {
|
|||||||
name string
|
name string
|
||||||
expected string
|
expected string
|
||||||
}{
|
}{
|
||||||
{"prefix", "resource", "mynamespace", "myresource", "/api/v1beta3/prefix/namespaces/mynamespace/resource/myresource"},
|
{"prefix", "resource", "mynamespace", "myresource", "/api/" + Version() + "/prefix/namespaces/mynamespace/resource/myresource"},
|
||||||
{"prefix", "resource", "", "myresource", "/api/v1beta3/prefix/resource/myresource"},
|
{"prefix", "resource", "", "myresource", "/api/" + Version() + "/prefix/resource/myresource"},
|
||||||
{"prefix", "resource", "mynamespace", "", "/api/v1beta3/prefix/namespaces/mynamespace/resource"},
|
{"prefix", "resource", "mynamespace", "", "/api/" + Version() + "/prefix/namespaces/mynamespace/resource"},
|
||||||
{"prefix", "resource", "", "", "/api/v1beta3/prefix/resource"},
|
{"prefix", "resource", "", "", "/api/" + Version() + "/prefix/resource"},
|
||||||
{"", "resource", "mynamespace", "myresource", "/api/v1beta3/namespaces/mynamespace/resource/myresource"},
|
{"", "resource", "mynamespace", "myresource", "/api/" + Version() + "/namespaces/mynamespace/resource/myresource"},
|
||||||
}
|
}
|
||||||
for _, item := range testCases {
|
for _, item := range testCases {
|
||||||
if actual := ResourcePathWithPrefix(item.prefix, item.resource, item.namespace, item.name); actual != item.expected {
|
if actual := ResourcePathWithPrefix(item.prefix, item.resource, item.namespace, item.name); actual != item.expected {
|
||||||
@ -46,48 +41,17 @@ func TestResourcePathWithPrefixForV1Beta3(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestResourcePathWithPrefixForV1(t *testing.T) {
|
func TestResourcePath(t *testing.T) {
|
||||||
if Version() != "v1" {
|
|
||||||
// Skip the test if we are not testing v1.
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
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"},
|
|
||||||
}
|
|
||||||
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 TestResourcePathForV1Beta3(t *testing.T) {
|
|
||||||
if Version() != "v1beta3" {
|
|
||||||
// Skip the test if we are not testing v1beta3.
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
resource string
|
resource string
|
||||||
namespace string
|
namespace string
|
||||||
name string
|
name string
|
||||||
expected string
|
expected string
|
||||||
}{
|
}{
|
||||||
{"resource", "mynamespace", "myresource", "/api/v1beta3/namespaces/mynamespace/resource/myresource"},
|
{"resource", "mynamespace", "myresource", "/api/" + Version() + "/namespaces/mynamespace/resource/myresource"},
|
||||||
{"resource", "", "myresource", "/api/v1beta3/resource/myresource"},
|
{"resource", "", "myresource", "/api/" + Version() + "/resource/myresource"},
|
||||||
{"resource", "mynamespace", "", "/api/v1beta3/namespaces/mynamespace/resource"},
|
{"resource", "mynamespace", "", "/api/" + Version() + "/namespaces/mynamespace/resource"},
|
||||||
{"resource", "", "", "/api/v1beta3/resource"},
|
{"resource", "", "", "/api/" + Version() + "/resource"},
|
||||||
}
|
}
|
||||||
for _, item := range testCases {
|
for _, item := range testCases {
|
||||||
if actual := ResourcePath(item.resource, item.namespace, item.name); actual != item.expected {
|
if actual := ResourcePath(item.resource, item.namespace, item.name); actual != item.expected {
|
||||||
@ -96,70 +60,17 @@ func TestResourcePathForV1Beta3(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestResourcePathForV1(t *testing.T) {
|
func TestResourcePathWithNamespaceQuery(t *testing.T) {
|
||||||
if Version() != "v1" {
|
|
||||||
// Skip the test if we are not testing v1.
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
resource string
|
resource string
|
||||||
namespace string
|
namespace string
|
||||||
name string
|
name string
|
||||||
expected string
|
expected string
|
||||||
}{
|
}{
|
||||||
{"resource", "mynamespace", "myresource", "/api/v1/namespaces/mynamespace/resource/myresource"},
|
{"resource", "mynamespace", "myresource", "/api/" + Version() + "/namespaces/mynamespace/resource/myresource"},
|
||||||
{"resource", "", "myresource", "/api/v1/resource/myresource"},
|
{"resource", "", "myresource", "/api/" + Version() + "/resource/myresource"},
|
||||||
{"resource", "mynamespace", "", "/api/v1/namespaces/mynamespace/resource"},
|
{"resource", "mynamespace", "", "/api/" + Version() + "/namespaces/mynamespace/resource"},
|
||||||
{"resource", "", "", "/api/v1/resource"},
|
{"resource", "", "", "/api/" + Version() + "/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
|
|
||||||
}
|
|
||||||
|
|
||||||
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 {
|
for _, item := range testCases {
|
||||||
if actual := ResourcePathWithNamespaceQuery(item.resource, item.namespace, item.name); actual != item.expected {
|
if actual := ResourcePathWithNamespaceQuery(item.resource, item.namespace, item.name); actual != item.expected {
|
||||||
|
@ -55,7 +55,7 @@ func TestMerge(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
/* TODO: uncomment this test once Merge is updated to use
|
/* TODO: uncomment this test once Merge is updated to use
|
||||||
strategic-merge-patch. See #844.
|
strategic-merge-patch. See #8449.
|
||||||
{
|
{
|
||||||
kind: "Pod",
|
kind: "Pod",
|
||||||
obj: &api.Pod{
|
obj: &api.Pod{
|
||||||
@ -193,7 +193,7 @@ func TestMerge(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
/* TODO: uncomment this test once Merge is updated to use
|
/* TODO: uncomment this test once Merge is updated to use
|
||||||
strategic-merge-patch. See #844.
|
strategic-merge-patch. See #8449.
|
||||||
{
|
{
|
||||||
kind: "Pod",
|
kind: "Pod",
|
||||||
obj: &api.Pod{
|
obj: &api.Pod{
|
||||||
|
@ -389,17 +389,10 @@ func logStackOnRecover(panicReason interface{}, httpWriter http.ResponseWriter)
|
|||||||
|
|
||||||
// init initializes master.
|
// init initializes master.
|
||||||
func (m *Master) init(c *Config) {
|
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)
|
podStorage := podetcd.NewStorage(c.EtcdHelper, c.KubeletClient)
|
||||||
podRegistry := pod.NewRegistry(podStorage.Pod)
|
podRegistry := pod.NewRegistry(podStorage.Pod)
|
||||||
|
|
||||||
podTemplateStorage := podtemplateetcd.NewREST(newerHelper)
|
podTemplateStorage := podtemplateetcd.NewREST(c.EtcdHelper)
|
||||||
|
|
||||||
eventRegistry := event.NewEtcdRegistry(c.EtcdHelper, uint64(c.EventTTL.Seconds()))
|
eventRegistry := event.NewEtcdRegistry(c.EtcdHelper, uint64(c.EventTTL.Seconds()))
|
||||||
limitRangeRegistry := limitrange.NewEtcdRegistry(c.EtcdHelper)
|
limitRangeRegistry := limitrange.NewEtcdRegistry(c.EtcdHelper)
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest/resttest"
|
"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"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/tools/etcdtest"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/tools/etcdtest"
|
||||||
)
|
)
|
||||||
@ -29,7 +29,7 @@ import (
|
|||||||
func newHelper(t *testing.T) (*tools.FakeEtcdClient, tools.EtcdHelper) {
|
func newHelper(t *testing.T) (*tools.FakeEtcdClient, tools.EtcdHelper) {
|
||||||
fakeEtcdClient := tools.NewFakeEtcdClient(t)
|
fakeEtcdClient := tools.NewFakeEtcdClient(t)
|
||||||
fakeEtcdClient.TestIndex = true
|
fakeEtcdClient.TestIndex = true
|
||||||
helper := tools.NewEtcdHelper(fakeEtcdClient, v1beta3.Codec, etcdtest.PathPrefix())
|
helper := tools.NewEtcdHelper(fakeEtcdClient, testapi.Codec(), etcdtest.PathPrefix())
|
||||||
return fakeEtcdClient, helper
|
return fakeEtcdClient, helper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
"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/runtime"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||||
|
|
||||||
@ -137,8 +137,7 @@ func TestDecodeList(t *testing.T) {
|
|||||||
pl := &api.List{
|
pl := &api.List{
|
||||||
Items: []runtime.Object{
|
Items: []runtime.Object{
|
||||||
&api.Pod{ObjectMeta: api.ObjectMeta{Name: "1"}},
|
&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: testapi.Version()}, RawJSON: []byte(`{"kind":"Pod","apiVersion":"` + testapi.Version() + `","metadata":{"name":"test"}}`)},
|
||||||
&runtime.Unknown{TypeMeta: runtime.TypeMeta{Kind: "Pod", APIVersion: "v1"}, RawJSON: []byte(`{"kind":"Pod","apiVersion":"v1","metadata":{"name":"test"}}`)},
|
|
||||||
&runtime.Unstructured{TypeMeta: runtime.TypeMeta{Kind: "Foo", APIVersion: "Bar"}, Object: map[string]interface{}{"test": "value"}},
|
&runtime.Unstructured{TypeMeta: runtime.TypeMeta{Kind: "Foo", APIVersion: "Bar"}, Object: map[string]interface{}{"test": "value"}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user