This is an automated email from the ASF dual-hosted git repository.

ccondit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-k8shim.git


The following commit(s) were added to refs/heads/master by this push:
     new 735210ca [YUNIKORN-2971] Use FakeRecorder and MockedRecorder properly 
in the tests (#937)
735210ca is described below

commit 735210ca15eca7f51acbc3c6fdbbd744658f6eee
Author: Peter Bacsko <[email protected]>
AuthorDate: Tue Nov 12 14:59:39 2024 -0600

    [YUNIKORN-2971] Use FakeRecorder and MockedRecorder properly in the tests 
(#937)
    
    Closes: #937
    
    Signed-off-by: Craig Condit <[email protected]>
---
 pkg/cache/application_test.go        | 23 +++++++++-------------
 pkg/cache/context_test.go            | 37 +++++++++++++++++-------------------
 pkg/cache/scheduler_callback_test.go |  3 +++
 pkg/cache/task_test.go               |  7 +------
 4 files changed, 30 insertions(+), 40 deletions(-)

diff --git a/pkg/cache/application_test.go b/pkg/cache/application_test.go
index 8f52f33d..418b2194 100644
--- a/pkg/cache/application_test.go
+++ b/pkg/cache/application_test.go
@@ -139,6 +139,7 @@ func TestFailApplication(t *testing.T) {
                rt.time++
        }
        events.SetRecorder(mr)
+       defer events.SetRecorder(events.NewMockedRecorder())
        resources := make(map[v1.ResourceName]resource.Quantity)
        containers := make([]v1.Container, 0)
        containers = append(containers, v1.Container{
@@ -200,8 +201,6 @@ func TestFailApplication(t *testing.T) {
        assert.NilError(t, err)
        assertAppState(t, app2, ApplicationStates().Failed, 3*time.Second)
        assert.Equal(t, rt.time, int64(0))
-       // Test over, set Recorder back fake type
-       events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
 }
 
 func TestSetUnallocatedPodsToFailedWhenFailApplication(t *testing.T) {
@@ -228,6 +227,7 @@ func TestSetUnallocatedPodsToFailedWhenFailApplication(t 
*testing.T) {
        // set Recorder to mocked type
        mr := events.NewMockedRecorder()
        events.SetRecorder(mr)
+       defer events.SetRecorder(events.NewMockedRecorder())
        resources := make(map[v1.ResourceName]resource.Quantity)
        containers := make([]v1.Container, 0)
        containers = append(containers, v1.Container{
@@ -306,8 +306,6 @@ func TestSetUnallocatedPodsToFailedWhenFailApplication(t 
*testing.T) {
        assert.NilError(t, err)
        assert.Equal(t, newPod3.Status.Phase, v1.PodFailed, 3*time.Second)
        assert.Equal(t, newPod3.Status.Reason, 
constants.ApplicationInsufficientResourcesFailure, 3*time.Second)
-       // Test over, set Recorder back fake type
-       events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
 }
 
 func TestSetUnallocatedPodsToFailedWhenRejectApplication(t *testing.T) {
@@ -334,6 +332,7 @@ func TestSetUnallocatedPodsToFailedWhenRejectApplication(t 
*testing.T) {
        // set Recorder to mocked type
        mr := events.NewMockedRecorder()
        events.SetRecorder(mr)
+       defer events.SetRecorder(events.NewMockedRecorder())
        resources := make(map[v1.ResourceName]resource.Quantity)
        containers := make([]v1.Container, 0)
        containers = append(containers, v1.Container{
@@ -404,8 +403,6 @@ func TestSetUnallocatedPodsToFailedWhenRejectApplication(t 
*testing.T) {
        assert.NilError(t, err)
        assert.Equal(t, newPod2.Status.Phase, v1.PodFailed, 3*time.Second)
        assert.Equal(t, newPod2.Status.Reason, 
constants.ApplicationRejectedFailure, 3*time.Second)
-       // Test over, set Recorder back fake type
-       events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
 }
 
 func TestReleaseAppAllocation(t *testing.T) {
@@ -1110,10 +1107,9 @@ func TestGetPlaceholderTasks(t *testing.T) {
 
 func TestPlaceholderTimeoutEvents(t *testing.T) {
        context := initContextForTest()
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
 
        pod1 := v1.Pod{
                TypeMeta: apis.TypeMeta{
@@ -1213,10 +1209,9 @@ func TestApplication_onReservationStateChange(t 
*testing.T) {
        dispatcher.Start()
        defer dispatcher.Stop()
 
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
 
        app := NewApplication(appID, "root.a", "testuser", testGroups, 
map[string]string{}, newMockSchedulerAPI())
        context.addApplicationToContext(app)
diff --git a/pkg/cache/context_test.go b/pkg/cache/context_test.go
index 91f48e60..a3a6fc92 100644
--- a/pkg/cache/context_test.go
+++ b/pkg/cache/context_test.go
@@ -1059,10 +1059,9 @@ func TestGetTask(t *testing.T) {
 }
 
 func TestNodeEventFailsPublishingWithoutNode(t *testing.T) {
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
        context := initContextForTest()
 
        eventRecords := make([]*si.EventRecord, 0)
@@ -1087,10 +1086,9 @@ func TestNodeEventFailsPublishingWithoutNode(t 
*testing.T) {
 }
 
 func TestNodeEventPublishedCorrectly(t *testing.T) {
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
 
        context, apiProvider := initContextAndAPIProviderForTest()
        dispatcher.Start()
@@ -1147,10 +1145,9 @@ func TestNodeEventPublishedCorrectly(t *testing.T) {
 }
 
 func TestFilteredEventsNotPublished(t *testing.T) {
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
 
        context, apiProvider := initContextAndAPIProviderForTest()
        dispatcher.Start()
@@ -1231,10 +1228,10 @@ func TestFilteredEventsNotPublished(t *testing.T) {
 }
 
 func TestPublishEventsWithNotExistingAsk(t *testing.T) {
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
+
        context := initContextForTest()
        context.AddApplication(&AddApplicationRequest{
                Metadata: ApplicationMetadata{
@@ -1271,10 +1268,10 @@ func TestPublishEventsWithNotExistingAsk(t *testing.T) {
 }
 
 func TestPublishEventsCorrectly(t *testing.T) {
-       recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
-       if !ok {
-               t.Fatal("the EventRecorder is expected to be of type 
FakeRecorder")
-       }
+       recorder := k8sEvents.NewFakeRecorder(1024)
+       events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
+
        context := initContextForTest()
 
        // create fake application and task
diff --git a/pkg/cache/scheduler_callback_test.go 
b/pkg/cache/scheduler_callback_test.go
index d98f5f6f..8b0db9d9 100644
--- a/pkg/cache/scheduler_callback_test.go
+++ b/pkg/cache/scheduler_callback_test.go
@@ -248,6 +248,7 @@ func TestUpdateApplication_Rejected(t *testing.T) {
        NewPlaceholderManager(context.apiProvider.GetAPIs())
        recorder := k8sEvents.NewFakeRecorder(1024)
        events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
 
        err := callback.UpdateApplication(&si.ApplicationResponse{
                Rejected: []*si.RejectedApplication{
@@ -361,6 +362,7 @@ func testUpdateApplicationFailure(t *testing.T, state 
string) {
        NewPlaceholderManager(context.apiProvider.GetAPIs())
        recorder := k8sEvents.NewFakeRecorder(1024)
        events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
 
        err := callback.UpdateApplication(&si.ApplicationResponse{
                Updated: []*si.UpdatedApplication{
@@ -459,6 +461,7 @@ func TestSendEvent(t *testing.T) {
        callback, _ := initCallbackTest(t, false, false)
        recorder := k8sEvents.NewFakeRecorder(1024)
        events.SetRecorder(recorder)
+       defer events.SetRecorder(events.NewMockedRecorder())
        defer dispatcher.UnregisterAllEventHandlers()
        defer dispatcher.Stop()
 
diff --git a/pkg/cache/task_test.go b/pkg/cache/task_test.go
index 864cd7e8..415afa17 100644
--- a/pkg/cache/task_test.go
+++ b/pkg/cache/task_test.go
@@ -23,19 +23,16 @@ import (
        "time"
 
        "gotest.tools/v3/assert"
-
        v1 "k8s.io/api/core/v1"
        schedulingv1 "k8s.io/api/scheduling/v1"
        "k8s.io/apimachinery/pkg/api/resource"
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-       k8sEvents "k8s.io/client-go/tools/events"
 
        "github.com/apache/yunikorn-k8shim/pkg/client"
        "github.com/apache/yunikorn-k8shim/pkg/common/constants"
        "github.com/apache/yunikorn-k8shim/pkg/common/events"
        "github.com/apache/yunikorn-k8shim/pkg/common/utils"
        "github.com/apache/yunikorn-k8shim/pkg/locking"
-
        "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
 )
 
@@ -527,6 +524,7 @@ func TestHandleSubmitTaskEvent(t *testing.T) {
                rt.time++
        }
        events.SetRecorder(mr)
+       defer events.SetRecorder(events.NewMockedRecorder())
        resources := make(map[v1.ResourceName]resource.Quantity)
        containers := make([]v1.Container, 0)
        containers = append(containers, v1.Container{
@@ -604,9 +602,6 @@ func TestHandleSubmitTaskEvent(t *testing.T) {
        assert.Assert(t, allocRequest.Allocations[0].PreemptionPolicy != nil)
        assert.Assert(t, 
!allocRequest.Allocations[0].PreemptionPolicy.AllowPreemptSelf)
        assert.Assert(t, 
allocRequest.Allocations[0].PreemptionPolicy.AllowPreemptOther)
-
-       // Test over, set Recorder back fake type
-       events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
 }
 
 func TestSimultaneousTaskCompleteAndAllocate(t *testing.T) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to