diff --git a/test/e2e/dra/test-driver/app/gomega.go b/test/e2e/dra/test-driver/app/gomega.go index 45f4ceff5b5..70bc1bde9ea 100644 --- a/test/e2e/dra/test-driver/app/gomega.go +++ b/test/e2e/dra/test-driver/app/gomega.go @@ -33,22 +33,42 @@ var BeRegistered = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error return false, nil }).WithMessage("contain successful NotifyRegistrationStatus call") -// NodePrepareResouceCalled checks that NodePrepareResource API has been called -var NodePrepareResourceCalled = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error) { +// NodePrepareResoucesSucceeded checks that NodePrepareResources API has been called and succeeded +var NodePrepareResourcesSucceeded = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error) { for _, call := range actualCalls { - if strings.HasSuffix(call.FullMethod, "/NodePrepareResource") && call.Err == nil { + if strings.HasSuffix(call.FullMethod, "/NodePrepareResources") && call.Response != nil && call.Err == nil { return true, nil } } return false, nil -}).WithMessage("contain NodePrepareResource call") +}).WithMessage("contain successful NodePrepareResources call") -// NodePrepareResoucesCalled checks that NodePrepareResources API has been called -var NodePrepareResourcesCalled = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error) { +// NodePrepareResoucesFailed checks that NodePrepareResources API has been called and returned an error +var NodePrepareResourcesFailed = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error) { for _, call := range actualCalls { - if strings.HasSuffix(call.FullMethod, "/NodePrepareResources") && call.Err == nil { + if strings.HasSuffix(call.FullMethod, "/NodePrepareResources") && call.Err != nil { return true, nil } } return false, nil -}).WithMessage("contain NodePrepareResources call") +}).WithMessage("contain unsuccessful NodePrepareResources call") + +// NodeUnprepareResoucesSucceeded checks that NodeUnprepareResources API has been called and succeeded +var NodeUnprepareResourcesSucceeded = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error) { + for _, call := range actualCalls { + if strings.HasSuffix(call.FullMethod, "/NodeUnprepareResources") && call.Response != nil && call.Err == nil { + return true, nil + } + } + return false, nil +}).WithMessage("contain successful NodeUnprepareResources call") + +// NodeUnprepareResoucesFailed checks that NodeUnprepareResources API has been called and returned an error +var NodeUnprepareResourcesFailed = gcustom.MakeMatcher(func(actualCalls []GRPCCall) (bool, error) { + for _, call := range actualCalls { + if strings.HasSuffix(call.FullMethod, "/NodeUnprepareResources") && call.Err != nil { + return true, nil + } + } + return false, nil +}).WithMessage("contain unsuccessful NodeUnprepareResources call") diff --git a/test/e2e_node/dra_test.go b/test/e2e_node/dra_test.go index ad2fab45d6d..4bf4d368c48 100644 --- a/test/e2e_node/dra_test.go +++ b/test/e2e_node/dra_test.go @@ -122,7 +122,7 @@ var _ = framework.SIGDescribe("node")("DRA", feature.DynamicResourceAllocation, framework.ExpectNoError(err) ginkgo.By("wait for NodePrepareResources call") - gomega.Eventually(kubeletPlugin.GetGRPCCalls).WithTimeout(dra.PluginClientTimeout * 2).Should(testdriver.NodePrepareResourcesCalled) + gomega.Eventually(kubeletPlugin.GetGRPCCalls).WithTimeout(dra.PluginClientTimeout * 2).Should(testdriver.NodePrepareResourcesSucceeded) // TODO: Check condition or event when implemented // see https://github.com/kubernetes/kubernetes/issues/118468 for details