mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #65140 from sttts/sttts-crd-update-test
Automatic merge from submit-queue (batch tested with PRs 65116, 61718, 65140, 65128, 65099). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. apiextensions: add update to testSimpleCRUD (again?) Did we ever have that before cleanups/refactorings?
This commit is contained in:
commit
7b53aca70d
@ -25,6 +25,7 @@ import (
|
|||||||
|
|
||||||
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
||||||
"k8s.io/apiextensions-apiserver/test/integration/testserver"
|
"k8s.io/apiextensions-apiserver/test/integration/testserver"
|
||||||
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
@ -92,8 +93,8 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
|
|
||||||
noxuWatch, err := noxuResourceClients[v.Name].Watch(metav1.ListOptions{})
|
noxuWatch, err := noxuResourceClients[v.Name].Watch(metav1.ListOptions{})
|
||||||
if disabledVersions[v.Name] {
|
if disabledVersions[v.Name] {
|
||||||
if err == nil {
|
if !errors.IsNotFound(err) {
|
||||||
t.Errorf("expected the watch creation fail for disabled version %s", v.Name)
|
t.Errorf("expected the watch operation fail with NotFound for disabled version %s, got error: %v", v.Name, err)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -111,8 +112,8 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
for version, noxuResourceClient := range noxuResourceClients {
|
for version, noxuResourceClient := range noxuResourceClients {
|
||||||
createdNoxuInstance, err := instantiateVersionedCustomResource(t, testserver.NewVersionedNoxuInstance(ns, "foo", version), noxuResourceClient, noxuDefinition, version)
|
createdNoxuInstance, err := instantiateVersionedCustomResource(t, testserver.NewVersionedNoxuInstance(ns, "foo", version), noxuResourceClient, noxuDefinition, version)
|
||||||
if disabledVersions[version] {
|
if disabledVersions[version] {
|
||||||
if err == nil {
|
if !errors.IsNotFound(err) {
|
||||||
t.Errorf("expected the CR creation fail for disabled version %s", version)
|
t.Errorf("expected the CR creation fail with NotFound for disabled version %s, got error: %v", version, err)
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -161,8 +162,9 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
gottenNoxuInstance, err := noxuResourceClient2.Get("foo", metav1.GetOptions{})
|
gottenNoxuInstance, err := noxuResourceClient2.Get("foo", metav1.GetOptions{})
|
||||||
|
|
||||||
if disabledVersions[version2] {
|
if disabledVersions[version2] {
|
||||||
if err == nil {
|
if !errors.IsNotFound(err) {
|
||||||
t.Errorf("expected the get operation fail for disabled version %s", version2)
|
t.Errorf("expected the get operation fail with NotFound for disabled version %s, got error: %v", version2, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -177,8 +179,9 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
// List test
|
// List test
|
||||||
listWithItem, err := noxuResourceClient2.List(metav1.ListOptions{})
|
listWithItem, err := noxuResourceClient2.List(metav1.ListOptions{})
|
||||||
if disabledVersions[version2] {
|
if disabledVersions[version2] {
|
||||||
if err == nil {
|
if !errors.IsNotFound(err) {
|
||||||
t.Errorf("expected the list operation fail for disabled version %s", version2)
|
t.Errorf("expected the list operation fail with NotFound for disabled version %s, got error: %v", version2, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -196,6 +199,69 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update test
|
||||||
|
for version2, noxuResourceClient2 := range noxuResourceClients {
|
||||||
|
var gottenNoxuInstance *unstructured.Unstructured
|
||||||
|
if disabledVersions[version2] {
|
||||||
|
gottenNoxuInstance = &unstructured.Unstructured{}
|
||||||
|
gottenNoxuInstance.SetName("foo")
|
||||||
|
} else {
|
||||||
|
gottenNoxuInstance, err = noxuResourceClient2.Get("foo", metav1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gottenNoxuInstance.Object["updated"] = version2
|
||||||
|
updatedNoxuInstance, err := noxuResourceClient2.Update(gottenNoxuInstance)
|
||||||
|
if disabledVersions[version2] {
|
||||||
|
if !errors.IsNotFound(err) {
|
||||||
|
t.Errorf("expected the update operation fail with NotFound for disabled version %s, got error: %v", version2, err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if updated, ok := updatedNoxuInstance.Object["updated"]; !ok {
|
||||||
|
t.Errorf("expected string 'updated' field")
|
||||||
|
} else if updated, ok := updated.(string); !ok || updated != version2 {
|
||||||
|
t.Errorf("expected string 'updated' field to equal %q, got %q of type %T", version2, updated, updated)
|
||||||
|
}
|
||||||
|
|
||||||
|
if e, a := version2, updatedNoxuInstance.GroupVersionKind().Version; !reflect.DeepEqual(e, a) {
|
||||||
|
t.Errorf("expected %v, got %v", e, a)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, noxuWatch := range noxuWatchs {
|
||||||
|
select {
|
||||||
|
case watchEvent := <-noxuWatch.ResultChan():
|
||||||
|
eventMetadata, err := meta.Accessor(watchEvent.Object)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if watchEvent.Type != watch.Modified {
|
||||||
|
t.Errorf("expected modified event, got %v", watchEvent.Type)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
// it should have a UUID
|
||||||
|
createdMetadata, err := meta.Accessor(createdNoxuInstance)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if e, a := createdMetadata.GetUID(), eventMetadata.GetUID(); e != a {
|
||||||
|
t.Errorf("expected equal UID for (expected) %v, and (actual) %v", createdNoxuInstance, watchEvent.Object)
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-time.After(5 * time.Second):
|
||||||
|
t.Errorf("missing watch event")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Delete test
|
// Delete test
|
||||||
if err := noxuResourceClient.Delete("foo", metav1.NewDeleteOptions(0)); err != nil {
|
if err := noxuResourceClient.Delete("foo", metav1.NewDeleteOptions(0)); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -212,20 +278,22 @@ func testSimpleCRUD(t *testing.T, ns string, noxuDefinition *apiextensionsv1beta
|
|||||||
for _, noxuWatch := range noxuWatchs {
|
for _, noxuWatch := range noxuWatchs {
|
||||||
select {
|
select {
|
||||||
case watchEvent := <-noxuWatch.ResultChan():
|
case watchEvent := <-noxuWatch.ResultChan():
|
||||||
if e, a := watch.Deleted, watchEvent.Type; e != a {
|
eventMetadata, err := meta.Accessor(watchEvent.Object)
|
||||||
t.Errorf("expected %v, got %v", e, a)
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if watchEvent.Type != watch.Deleted {
|
||||||
|
t.Errorf("expected delete event, got %v", watchEvent.Type)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
deletedObjectMeta, err := meta.Accessor(watchEvent.Object)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
// it should have a UUID
|
// it should have a UUID
|
||||||
createdObjectMeta, err := meta.Accessor(createdNoxuInstance)
|
createdMetadata, err := meta.Accessor(createdNoxuInstance)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if e, a := createdObjectMeta.GetUID(), deletedObjectMeta.GetUID(); e != a {
|
if e, a := createdMetadata.GetUID(), eventMetadata.GetUID(); e != a {
|
||||||
t.Errorf("expected equal UID for (expected) %v, and (actual) %v", createdNoxuInstance, watchEvent.Object)
|
t.Errorf("expected equal UID for (expected) %v, and (actual) %v", createdNoxuInstance, watchEvent.Object)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user