Skip to content

Commit 1b81428

Browse files
committed
[YUNIKORN-2971] Use FakeRecorder and MockedRecorder properly in the tests
1 parent 8fa300f commit 1b81428

File tree

4 files changed

+30
-40
lines changed

4 files changed

+30
-40
lines changed

pkg/cache/application_test.go

+9-14
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ func TestFailApplication(t *testing.T) {
139139
rt.time++
140140
}
141141
events.SetRecorder(mr)
142+
defer events.SetRecorder(events.NewMockedRecorder())
142143
resources := make(map[v1.ResourceName]resource.Quantity)
143144
containers := make([]v1.Container, 0)
144145
containers = append(containers, v1.Container{
@@ -200,8 +201,6 @@ func TestFailApplication(t *testing.T) {
200201
assert.NilError(t, err)
201202
assertAppState(t, app2, ApplicationStates().Failed, 3*time.Second)
202203
assert.Equal(t, rt.time, int64(0))
203-
// Test over, set Recorder back fake type
204-
events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
205204
}
206205

207206
func TestSetUnallocatedPodsToFailedWhenFailApplication(t *testing.T) {
@@ -228,6 +227,7 @@ func TestSetUnallocatedPodsToFailedWhenFailApplication(t *testing.T) {
228227
// set Recorder to mocked type
229228
mr := events.NewMockedRecorder()
230229
events.SetRecorder(mr)
230+
defer events.SetRecorder(events.NewMockedRecorder())
231231
resources := make(map[v1.ResourceName]resource.Quantity)
232232
containers := make([]v1.Container, 0)
233233
containers = append(containers, v1.Container{
@@ -306,8 +306,6 @@ func TestSetUnallocatedPodsToFailedWhenFailApplication(t *testing.T) {
306306
assert.NilError(t, err)
307307
assert.Equal(t, newPod3.Status.Phase, v1.PodFailed, 3*time.Second)
308308
assert.Equal(t, newPod3.Status.Reason, constants.ApplicationInsufficientResourcesFailure, 3*time.Second)
309-
// Test over, set Recorder back fake type
310-
events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
311309
}
312310

313311
func TestSetUnallocatedPodsToFailedWhenRejectApplication(t *testing.T) {
@@ -334,6 +332,7 @@ func TestSetUnallocatedPodsToFailedWhenRejectApplication(t *testing.T) {
334332
// set Recorder to mocked type
335333
mr := events.NewMockedRecorder()
336334
events.SetRecorder(mr)
335+
defer events.SetRecorder(events.NewMockedRecorder())
337336
resources := make(map[v1.ResourceName]resource.Quantity)
338337
containers := make([]v1.Container, 0)
339338
containers = append(containers, v1.Container{
@@ -404,8 +403,6 @@ func TestSetUnallocatedPodsToFailedWhenRejectApplication(t *testing.T) {
404403
assert.NilError(t, err)
405404
assert.Equal(t, newPod2.Status.Phase, v1.PodFailed, 3*time.Second)
406405
assert.Equal(t, newPod2.Status.Reason, constants.ApplicationRejectedFailure, 3*time.Second)
407-
// Test over, set Recorder back fake type
408-
events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
409406
}
410407

411408
func TestReleaseAppAllocation(t *testing.T) {
@@ -1110,10 +1107,9 @@ func TestGetPlaceholderTasks(t *testing.T) {
11101107

11111108
func TestPlaceholderTimeoutEvents(t *testing.T) {
11121109
context := initContextForTest()
1113-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1114-
if !ok {
1115-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1116-
}
1110+
recorder := k8sEvents.NewFakeRecorder(1024)
1111+
events.SetRecorder(recorder)
1112+
defer events.SetRecorder(events.NewMockedRecorder())
11171113

11181114
pod1 := v1.Pod{
11191115
TypeMeta: apis.TypeMeta{
@@ -1213,10 +1209,9 @@ func TestApplication_onReservationStateChange(t *testing.T) {
12131209
dispatcher.Start()
12141210
defer dispatcher.Stop()
12151211

1216-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1217-
if !ok {
1218-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1219-
}
1212+
recorder := k8sEvents.NewFakeRecorder(1024)
1213+
events.SetRecorder(recorder)
1214+
defer events.SetRecorder(events.NewMockedRecorder())
12201215

12211216
app := NewApplication(appID, "root.a", "testuser", testGroups, map[string]string{}, newMockSchedulerAPI())
12221217
context.addApplicationToContext(app)

pkg/cache/context_test.go

+17-20
Original file line numberDiff line numberDiff line change
@@ -1059,10 +1059,9 @@ func TestGetTask(t *testing.T) {
10591059
}
10601060

10611061
func TestNodeEventFailsPublishingWithoutNode(t *testing.T) {
1062-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1063-
if !ok {
1064-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1065-
}
1062+
recorder := k8sEvents.NewFakeRecorder(1024)
1063+
events.SetRecorder(recorder)
1064+
defer events.SetRecorder(events.NewMockedRecorder())
10661065
context := initContextForTest()
10671066

10681067
eventRecords := make([]*si.EventRecord, 0)
@@ -1087,10 +1086,9 @@ func TestNodeEventFailsPublishingWithoutNode(t *testing.T) {
10871086
}
10881087

10891088
func TestNodeEventPublishedCorrectly(t *testing.T) {
1090-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1091-
if !ok {
1092-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1093-
}
1089+
recorder := k8sEvents.NewFakeRecorder(1024)
1090+
events.SetRecorder(recorder)
1091+
defer events.SetRecorder(events.NewMockedRecorder())
10941092

10951093
context, apiProvider := initContextAndAPIProviderForTest()
10961094
dispatcher.Start()
@@ -1147,10 +1145,9 @@ func TestNodeEventPublishedCorrectly(t *testing.T) {
11471145
}
11481146

11491147
func TestFilteredEventsNotPublished(t *testing.T) {
1150-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1151-
if !ok {
1152-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1153-
}
1148+
recorder := k8sEvents.NewFakeRecorder(1024)
1149+
events.SetRecorder(recorder)
1150+
defer events.SetRecorder(events.NewMockedRecorder())
11541151

11551152
context, apiProvider := initContextAndAPIProviderForTest()
11561153
dispatcher.Start()
@@ -1231,10 +1228,10 @@ func TestFilteredEventsNotPublished(t *testing.T) {
12311228
}
12321229

12331230
func TestPublishEventsWithNotExistingAsk(t *testing.T) {
1234-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1235-
if !ok {
1236-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1237-
}
1231+
recorder := k8sEvents.NewFakeRecorder(1024)
1232+
events.SetRecorder(recorder)
1233+
defer events.SetRecorder(events.NewMockedRecorder())
1234+
12381235
context := initContextForTest()
12391236
context.AddApplication(&AddApplicationRequest{
12401237
Metadata: ApplicationMetadata{
@@ -1271,10 +1268,10 @@ func TestPublishEventsWithNotExistingAsk(t *testing.T) {
12711268
}
12721269

12731270
func TestPublishEventsCorrectly(t *testing.T) {
1274-
recorder, ok := events.GetRecorder().(*k8sEvents.FakeRecorder)
1275-
if !ok {
1276-
t.Fatal("the EventRecorder is expected to be of type FakeRecorder")
1277-
}
1271+
recorder := k8sEvents.NewFakeRecorder(1024)
1272+
events.SetRecorder(recorder)
1273+
defer events.SetRecorder(events.NewMockedRecorder())
1274+
12781275
context := initContextForTest()
12791276

12801277
// create fake application and task

pkg/cache/scheduler_callback_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ func TestUpdateApplication_Rejected(t *testing.T) {
248248
NewPlaceholderManager(context.apiProvider.GetAPIs())
249249
recorder := k8sEvents.NewFakeRecorder(1024)
250250
events.SetRecorder(recorder)
251+
defer events.SetRecorder(events.NewMockedRecorder())
251252

252253
err := callback.UpdateApplication(&si.ApplicationResponse{
253254
Rejected: []*si.RejectedApplication{
@@ -361,6 +362,7 @@ func testUpdateApplicationFailure(t *testing.T, state string) {
361362
NewPlaceholderManager(context.apiProvider.GetAPIs())
362363
recorder := k8sEvents.NewFakeRecorder(1024)
363364
events.SetRecorder(recorder)
365+
defer events.SetRecorder(events.NewMockedRecorder())
364366

365367
err := callback.UpdateApplication(&si.ApplicationResponse{
366368
Updated: []*si.UpdatedApplication{
@@ -459,6 +461,7 @@ func TestSendEvent(t *testing.T) {
459461
callback, _ := initCallbackTest(t, false, false)
460462
recorder := k8sEvents.NewFakeRecorder(1024)
461463
events.SetRecorder(recorder)
464+
defer events.SetRecorder(events.NewMockedRecorder())
462465
defer dispatcher.UnregisterAllEventHandlers()
463466
defer dispatcher.Stop()
464467

pkg/cache/task_test.go

+1-6
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,16 @@ import (
2323
"time"
2424

2525
"gotest.tools/v3/assert"
26-
2726
v1 "k8s.io/api/core/v1"
2827
schedulingv1 "k8s.io/api/scheduling/v1"
2928
"k8s.io/apimachinery/pkg/api/resource"
3029
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
31-
k8sEvents "k8s.io/client-go/tools/events"
3230

3331
"github.com/apache/yunikorn-k8shim/pkg/client"
3432
"github.com/apache/yunikorn-k8shim/pkg/common/constants"
3533
"github.com/apache/yunikorn-k8shim/pkg/common/events"
3634
"github.com/apache/yunikorn-k8shim/pkg/common/utils"
3735
"github.com/apache/yunikorn-k8shim/pkg/locking"
38-
3936
"github.com/apache/yunikorn-scheduler-interface/lib/go/si"
4037
)
4138

@@ -527,6 +524,7 @@ func TestHandleSubmitTaskEvent(t *testing.T) {
527524
rt.time++
528525
}
529526
events.SetRecorder(mr)
527+
defer events.SetRecorder(events.NewMockedRecorder())
530528
resources := make(map[v1.ResourceName]resource.Quantity)
531529
containers := make([]v1.Container, 0)
532530
containers = append(containers, v1.Container{
@@ -604,9 +602,6 @@ func TestHandleSubmitTaskEvent(t *testing.T) {
604602
assert.Assert(t, allocRequest.Allocations[0].PreemptionPolicy != nil)
605603
assert.Assert(t, !allocRequest.Allocations[0].PreemptionPolicy.AllowPreemptSelf)
606604
assert.Assert(t, allocRequest.Allocations[0].PreemptionPolicy.AllowPreemptOther)
607-
608-
// Test over, set Recorder back fake type
609-
events.SetRecorder(k8sEvents.NewFakeRecorder(1024))
610605
}
611606

612607
func TestSimultaneousTaskCompleteAndAllocate(t *testing.T) {

0 commit comments

Comments
 (0)