mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Merge pull request #108495 from stevekuznetsov/skuznets/better-rv-math
test/integration: improve TestTransform
This commit is contained in:
commit
c6c4915dd7
@ -1417,6 +1417,12 @@ func TestTransform(t *testing.T) {
|
|||||||
crdGVR := schema.GroupVersionResource{Group: fooCRD.Spec.Group, Version: fooCRD.Spec.Versions[0].Name, Resource: "foos"}
|
crdGVR := schema.GroupVersionResource{Group: fooCRD.Spec.Group, Version: fooCRD.Spec.Versions[0].Name, Resource: "foos"}
|
||||||
crclient := dynamicClient.Resource(crdGVR).Namespace(testNamespace)
|
crclient := dynamicClient.Resource(crdGVR).Namespace(testNamespace)
|
||||||
|
|
||||||
|
previousList, err := crclient.List(context.TODO(), metav1.ListOptions{})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to list CRs before test: %v", err)
|
||||||
|
}
|
||||||
|
previousRV := previousList.GetResourceVersion()
|
||||||
|
|
||||||
testcases := []struct {
|
testcases := []struct {
|
||||||
name string
|
name string
|
||||||
accept string
|
accept string
|
||||||
@ -1957,21 +1963,29 @@ func TestTransform(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
rv, _ := strconv.Atoi(obj.GetResourceVersion())
|
var rv string
|
||||||
if rv < 1 {
|
if obj.GetResourceVersion() == "" || obj.GetResourceVersion() == "0" {
|
||||||
rv = 1
|
// no object was created in the preamble to the test, so get recent data
|
||||||
|
rv = "0"
|
||||||
|
} else {
|
||||||
|
// we created an object, and need to list+watch from some time before the creation to see it
|
||||||
|
rv = previousRV
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), wait.ForeverTestTimeout)
|
||||||
|
t.Cleanup(func() {
|
||||||
|
cancel()
|
||||||
|
})
|
||||||
w, err := client.Get().
|
w, err := client.Get().
|
||||||
Resource(resource).NamespaceIfScoped(obj.GetNamespace(), len(obj.GetNamespace()) > 0).
|
Resource(resource).NamespaceIfScoped(obj.GetNamespace(), len(obj.GetNamespace()) > 0).
|
||||||
SetHeader("Accept", tc.accept).
|
SetHeader("Accept", tc.accept).
|
||||||
VersionedParams(&metav1.ListOptions{
|
VersionedParams(&metav1.ListOptions{
|
||||||
ResourceVersion: strconv.Itoa(rv - 1),
|
ResourceVersion: rv,
|
||||||
Watch: true,
|
Watch: true,
|
||||||
FieldSelector: fields.OneTermEqualSelector("metadata.name", obj.GetName()).String(),
|
FieldSelector: fields.OneTermEqualSelector("metadata.name", obj.GetName()).String(),
|
||||||
}, metav1.ParameterCodec).
|
}, metav1.ParameterCodec).
|
||||||
Param("includeObject", string(tc.includeObject)).
|
Param("includeObject", string(tc.includeObject)).
|
||||||
Stream(context.TODO())
|
Stream(ctx)
|
||||||
if (tc.wantErr != nil) != (err != nil) {
|
if (tc.wantErr != nil) != (err != nil) {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user