mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Update tests to have namespace set in req context
* This updates tests that make requests that call into admission. * For apiextensions-apiserver, the namespace is set to metav1.NamespaceNone since the CRD created and worked with is a cluster scoped CRD. * For most tests in register/storage, the namespace is set to NamespaceDefault or NamespaceNone based on if the resource is cluster scoped (namespaces) or namespace scoped (pvs). * Endpoints tests now have a namespace specified in the expected object - NamespaceDefault or other based on the test. Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
This commit is contained in:
parent
b6549ecf46
commit
f0ef426238
@ -74,7 +74,7 @@ func TestCreateSetsFields(t *testing.T) {
|
||||
defer server.Terminate(t)
|
||||
defer storage.store.DestroyFunc()
|
||||
namespace := validNewNamespace()
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
_, err := storage.Create(ctx, namespace, rest.ValidateAllObjectFunc, &metav1.CreateOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
@ -152,7 +152,7 @@ func TestDeleteNamespaceWithIncompleteFinalizers(t *testing.T) {
|
||||
defer server.Terminate(t)
|
||||
defer storage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -167,6 +167,7 @@ func TestDeleteNamespaceWithIncompleteFinalizers(t *testing.T) {
|
||||
if err := storage.store.Storage.Create(ctx, key, namespace, nil, 0, false); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
obj, immediate, err := storage.Delete(ctx, "foo", rest.ValidateAllObjectFunc, nil)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error")
|
||||
@ -188,7 +189,7 @@ func TestUpdateDeletingNamespaceWithIncompleteMetadataFinalizers(t *testing.T) {
|
||||
defer server.Terminate(t)
|
||||
defer storage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -204,6 +205,7 @@ func TestUpdateDeletingNamespaceWithIncompleteMetadataFinalizers(t *testing.T) {
|
||||
if err := storage.store.Storage.Create(ctx, key, namespace, nil, 0, false); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
ns, err := storage.Get(ctx, "foo", &metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
@ -223,7 +225,7 @@ func TestUpdateDeletingNamespaceWithIncompleteSpecFinalizers(t *testing.T) {
|
||||
defer server.Terminate(t)
|
||||
defer storage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -242,6 +244,7 @@ func TestUpdateDeletingNamespaceWithIncompleteSpecFinalizers(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
if _, _, err = storage.Update(ctx, "foo", rest.DefaultUpdatedObjectInfo(ns), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@ -257,7 +260,7 @@ func TestUpdateDeletingNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||
defer server.Terminate(t)
|
||||
defer storage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -275,6 +278,7 @@ func TestUpdateDeletingNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ns.(*api.Namespace).Finalizers = nil
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
if _, _, err = storage.Update(ctx, "foo", rest.DefaultUpdatedObjectInfo(ns), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@ -298,7 +302,7 @@ func TestFinalizeDeletingNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||
defer storage.store.DestroyFunc()
|
||||
defer finalizeStorage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -318,6 +322,7 @@ func TestFinalizeDeletingNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ns.(*api.Namespace).Spec.Finalizers = nil
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
if _, _, err = finalizeStorage.Update(ctx, "foo", rest.DefaultUpdatedObjectInfo(ns), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@ -341,7 +346,7 @@ func TestFinalizeDeletingNamespaceWithIncompleteMetadataFinalizers(t *testing.T)
|
||||
defer storage.store.DestroyFunc()
|
||||
defer finalizeStorage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -362,6 +367,7 @@ func TestFinalizeDeletingNamespaceWithIncompleteMetadataFinalizers(t *testing.T)
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ns.(*api.Namespace).Spec.Finalizers = nil
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
if _, _, err = finalizeStorage.Update(ctx, "foo", rest.DefaultUpdatedObjectInfo(ns), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
@ -377,7 +383,7 @@ func TestDeleteNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||
defer server.Terminate(t)
|
||||
defer storage.store.DestroyFunc()
|
||||
key := "namespaces/foo"
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
now := metav1.Now()
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@ -392,6 +398,7 @@ func TestDeleteNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||
if err := storage.store.Storage.Create(ctx, key, namespace, nil, 0, false); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
if _, _, err := storage.Delete(ctx, "foo", rest.ValidateAllObjectFunc, nil); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
@ -579,7 +586,7 @@ func TestDeleteWithGCFinalizers(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
key := "namespaces/" + test.name
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
namespace := &api.Namespace{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: test.name,
|
||||
@ -595,6 +602,7 @@ func TestDeleteWithGCFinalizers(t *testing.T) {
|
||||
}
|
||||
var obj runtime.Object
|
||||
var err error
|
||||
ctx = genericapirequest.WithNamespace(genericapirequest.NewContext(), namespace.Name)
|
||||
if obj, _, err = storage.Delete(ctx, test.name, rest.ValidateAllObjectFunc, test.deleteOptions); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ func TestUpdateStatus(t *testing.T) {
|
||||
storage, statusStorage, server := newStorage(t)
|
||||
defer server.Terminate(t)
|
||||
defer storage.Store.DestroyFunc()
|
||||
ctx := genericapirequest.NewContext()
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
key, _ := storage.KeyFunc(ctx, "foo")
|
||||
pvStart := validNewPersistentVolume("foo")
|
||||
err := storage.Storage.Create(ctx, key, pvStart, nil, 0, false)
|
||||
|
@ -50,6 +50,7 @@ import (
|
||||
"k8s.io/apiserver/pkg/authorization/authorizer"
|
||||
"k8s.io/apiserver/pkg/endpoints/discovery"
|
||||
apirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||
"k8s.io/apiserver/pkg/registry/generic"
|
||||
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
|
||||
"k8s.io/apiserver/pkg/registry/rest"
|
||||
@ -470,7 +471,10 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
defer server.Terminate(t)
|
||||
|
||||
crd := multiVersionFixture.DeepCopy()
|
||||
if _, err := cl.ApiextensionsV1().CustomResourceDefinitions().Create(context.TODO(), crd, metav1.CreateOptions{}); err != nil {
|
||||
// Create a context with metav1.NamespaceNone as the namespace since multiVersionFixture
|
||||
// is a cluster scoped CRD.
|
||||
ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone)
|
||||
if _, err := cl.ApiextensionsV1().CustomResourceDefinitions().Create(ctx, crd, metav1.CreateOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := crdInformer.Informer().GetStore().Add(crd); err != nil {
|
||||
@ -526,12 +530,12 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
u := &unstructured.Unstructured{Object: map[string]interface{}{}}
|
||||
u.SetGroupVersionKind(schema.GroupVersionKind{Group: "stable.example.com", Version: "v1beta1", Kind: "MultiVersion"})
|
||||
u.SetName("marker")
|
||||
if item, err := crdInfo.storages["v1beta1"].CustomResource.Create(context.TODO(), u, validateFunc, &metav1.CreateOptions{}); err != nil {
|
||||
if item, err := crdInfo.storages["v1beta1"].CustomResource.Create(ctx, u, validateFunc, &metav1.CreateOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
startResourceVersion = item.(*unstructured.Unstructured).GetResourceVersion()
|
||||
}
|
||||
if _, _, err := crdInfo.storages["v1beta1"].CustomResource.Delete(context.TODO(), u.GetName(), validateFunc, &metav1.DeleteOptions{}); err != nil {
|
||||
if _, _, err := crdInfo.storages["v1beta1"].CustomResource.Delete(ctx, u.GetName(), validateFunc, &metav1.DeleteOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
@ -545,7 +549,7 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
unstructured.SetNestedField(u.Object, int64(1), "spec", "num")
|
||||
|
||||
// Create
|
||||
if item, err := crdInfo.storages[version.Name].CustomResource.Create(context.TODO(), u, validateFunc, &metav1.CreateOptions{}); err != nil {
|
||||
if item, err := crdInfo.storages[version.Name].CustomResource.Create(ctx, u, validateFunc, &metav1.CreateOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if item.GetObjectKind().GroupVersionKind() != expectGVK {
|
||||
t.Errorf("expected create result to be %#v, got %#v", expectGVK, item.GetObjectKind().GroupVersionKind())
|
||||
@ -555,14 +559,14 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
|
||||
// Update
|
||||
u.SetAnnotations(map[string]string{"updated": "true"})
|
||||
if item, _, err := crdInfo.storages[version.Name].CustomResource.Update(context.TODO(), u.GetName(), rest.DefaultUpdatedObjectInfo(u), validateFunc, updateValidateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
||||
if item, _, err := crdInfo.storages[version.Name].CustomResource.Update(ctx, u.GetName(), rest.DefaultUpdatedObjectInfo(u), validateFunc, updateValidateFunc, false, &metav1.UpdateOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if item.GetObjectKind().GroupVersionKind() != expectGVK {
|
||||
t.Errorf("expected update result to be %#v, got %#v", expectGVK, item.GetObjectKind().GroupVersionKind())
|
||||
}
|
||||
|
||||
// Get
|
||||
if item, err := crdInfo.storages[version.Name].CustomResource.Get(context.TODO(), u.GetName(), &metav1.GetOptions{}); err != nil {
|
||||
if item, err := crdInfo.storages[version.Name].CustomResource.Get(ctx, u.GetName(), &metav1.GetOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if item.GetObjectKind().GroupVersionKind() != expectGVK {
|
||||
t.Errorf("expected get result to be %#v, got %#v", expectGVK, item.GetObjectKind().GroupVersionKind())
|
||||
@ -572,7 +576,7 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
// Allow time to propagate the create into the cache
|
||||
time.Sleep(time.Second)
|
||||
// Get cached
|
||||
if item, err := crdInfo.storages[version.Name].CustomResource.Get(context.TODO(), u.GetName(), &metav1.GetOptions{ResourceVersion: "0"}); err != nil {
|
||||
if item, err := crdInfo.storages[version.Name].CustomResource.Get(ctx, u.GetName(), &metav1.GetOptions{ResourceVersion: "0"}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if item.GetObjectKind().GroupVersionKind() != expectGVK {
|
||||
t.Errorf("expected cached get result to be %#v, got %#v", expectGVK, item.GetObjectKind().GroupVersionKind())
|
||||
@ -584,7 +588,7 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
for _, version := range crd.Spec.Versions {
|
||||
expectGVK := schema.GroupVersionKind{Group: "stable.example.com", Version: version.Name, Kind: "MultiVersion"}
|
||||
|
||||
if list, err := crdInfo.storages[version.Name].CustomResource.List(context.TODO(), &metainternalversion.ListOptions{}); err != nil {
|
||||
if list, err := crdInfo.storages[version.Name].CustomResource.List(ctx, &metainternalversion.ListOptions{}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
for _, item := range list.(*unstructured.UnstructuredList).Items {
|
||||
@ -596,7 +600,7 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
|
||||
if enableWatchCache {
|
||||
// List from watch cache
|
||||
if list, err := crdInfo.storages[version.Name].CustomResource.List(context.TODO(), &metainternalversion.ListOptions{ResourceVersion: "0"}); err != nil {
|
||||
if list, err := crdInfo.storages[version.Name].CustomResource.List(ctx, &metainternalversion.ListOptions{ResourceVersion: "0"}); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
for _, item := range list.(*unstructured.UnstructuredList).Items {
|
||||
@ -607,7 +611,7 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) {
|
||||
}
|
||||
}
|
||||
|
||||
watch, err := crdInfo.storages[version.Name].CustomResource.Watch(context.TODO(), &metainternalversion.ListOptions{ResourceVersion: startResourceVersion})
|
||||
watch, err := crdInfo.storages[version.Name].CustomResource.Watch(ctx, &metainternalversion.ListOptions{ResourceVersion: startResourceVersion})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user