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

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


The following commit(s) were added to refs/heads/master by this push:
     new dd77c6db [YUNIKORN-2398] Refactor event system mock (#792)
dd77c6db is described below

commit dd77c6db6bb2efae50e57123b08159d9070b793e
Author: Wilfred Spiegelenburg <[email protected]>
AuthorDate: Fri Feb 9 17:41:47 2024 +0100

    [YUNIKORN-2398] Refactor event system mock (#792)
    
    Move the event system mock into its own package under the events
    package.
    Move the node iterator creation function for tests to the utilities
    file of the scheduler objects tests
    
    Closes: #792
    
    Signed-off-by: Peter Bacsko <[email protected]>
---
 pkg/events/mock/event_system.go                  |  67 +++++++++
 pkg/scheduler/objects/allocation_ask_test.go     |  11 +-
 pkg/scheduler/objects/application_events_test.go | 155 ++++++++++-----------
 pkg/scheduler/objects/application_test.go        |  25 ++--
 pkg/scheduler/objects/ask_events_test.go         |  67 ++++-----
 pkg/scheduler/objects/common_test.go             |  87 ------------
 pkg/scheduler/objects/node_events_test.go        | 167 ++++++++++++-----------
 pkg/scheduler/objects/node_test.go               |  41 +++---
 pkg/scheduler/objects/queue_events_test.go       | 119 ++++++++--------
 pkg/scheduler/objects/utilities_test.go          |  16 +++
 10 files changed, 379 insertions(+), 376 deletions(-)

diff --git a/pkg/events/mock/event_system.go b/pkg/events/mock/event_system.go
new file mode 100644
index 00000000..f21482b7
--- /dev/null
+++ b/pkg/events/mock/event_system.go
@@ -0,0 +1,67 @@
+/*
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+
+package mock
+
+import (
+       "github.com/apache/yunikorn-core/pkg/events"
+       "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
+)
+
+type EventSystem struct {
+       Events  []*si.EventRecord
+       enabled bool
+}
+
+func (m *EventSystem) CreateEventStream(_ string, _ uint64) 
*events.EventStream {
+       return nil
+}
+
+func (m *EventSystem) RemoveStream(_ *events.EventStream) {
+}
+
+func (m *EventSystem) AddEvent(event *si.EventRecord) {
+       m.Events = append(m.Events, event)
+}
+
+func (m *EventSystem) StartService() {}
+
+func (m *EventSystem) Stop() {}
+
+func (m *EventSystem) Reset() {
+       m.Events = make([]*si.EventRecord, 0)
+}
+
+func (m *EventSystem) GetEventsFromID(uint64, uint64) ([]*si.EventRecord, 
uint64, uint64) {
+       return nil, 0, 0
+}
+
+func (m *EventSystem) IsEventTrackingEnabled() bool {
+       return m.enabled
+}
+
+func (m *EventSystem) GetEventStreams() []events.EventStreamData {
+       return nil
+}
+
+func NewEventSystem() *EventSystem {
+       return &EventSystem{Events: make([]*si.EventRecord, 0), enabled: true}
+}
+func NewEventSystemDisabled() *EventSystem {
+       return &EventSystem{Events: make([]*si.EventRecord, 0), enabled: false}
+}
diff --git a/pkg/scheduler/objects/allocation_ask_test.go 
b/pkg/scheduler/objects/allocation_ask_test.go
index e10e925e..59bc47da 100644
--- a/pkg/scheduler/objects/allocation_ask_test.go
+++ b/pkg/scheduler/objects/allocation_ask_test.go
@@ -26,6 +26,7 @@ import (
        "gotest.tools/v3/assert"
 
        "github.com/apache/yunikorn-core/pkg/common/resources"
+       "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/common"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
 )
@@ -238,16 +239,16 @@ func TestSendPredicateFailed(t *testing.T) {
                ResourceAsk:    res.ToProto(),
        }
        ask := NewAllocationAskFromSI(siAsk)
-       eventSystem := newEventSystemMockDisabled()
+       eventSystem := mock.NewEventSystemDisabled()
        ask.askEvents = newAskEvents(ask, eventSystem)
        ask.SendPredicateFailedEvent("failed")
-       assert.Equal(t, 0, len(eventSystem.events))
+       assert.Equal(t, 0, len(eventSystem.Events))
 
-       eventSystem = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        ask.askEvents = newAskEvents(ask, eventSystem)
        ask.SendPredicateFailedEvent("failure")
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, "Predicate failed for request 'ask-1' with message: 
'failure'", event.Message)
 }
 
diff --git a/pkg/scheduler/objects/application_events_test.go 
b/pkg/scheduler/objects/application_events_test.go
index c4d6d0e4..7e29f6ae 100644
--- a/pkg/scheduler/objects/application_events_test.go
+++ b/pkg/scheduler/objects/application_events_test.go
@@ -23,6 +23,7 @@ import (
        "testing"
 
        "github.com/apache/yunikorn-core/pkg/common"
+       "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
 )
 
@@ -51,20 +52,20 @@ func TestSendPlaceholderLargerEvent(t *testing.T) {
        app := &Application{
                queuePath: "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendPlaceholderLargerEvent(&Allocation{}, &AllocationAsk{})
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        appEvents.sendPlaceholderLargerEvent(&Allocation{
                allocationKey: aKey,
        }, &AllocationAsk{
                applicationID: appID0,
                allocationKey: aKey,
        })
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
 }
 
 func TestSendNewAllocationEvent(t *testing.T) {
@@ -72,26 +73,26 @@ func TestSendNewAllocationEvent(t *testing.T) {
                ApplicationID: appID0,
                queuePath:     "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendNewAllocationEvent(&Allocation{})
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        assert.Assert(t, appEvents.eventSystem != nil, "event system should not 
be nil")
        appEvents.sendNewAllocationEvent(&Allocation{
                applicationID: appID0,
                allocationKey: aKey,
                allocationID:  aAllocationID,
        })
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       assert.Equal(t, si.EventRecord_APP, mock.events[0].Type, "event type is 
not expected")
-       assert.Equal(t, si.EventRecord_ADD, mock.events[0].EventChangeType, 
"event change type is not expected")
-       assert.Equal(t, si.EventRecord_APP_ALLOC, 
mock.events[0].EventChangeDetail, "event change detail is not expected")
-       assert.Equal(t, appID0, mock.events[0].ObjectID, "event object id is 
not expected")
-       assert.Equal(t, aAllocationID, mock.events[0].ReferenceID, "event 
reference id is not expected")
-       assert.Equal(t, common.Empty, mock.events[0].Message, "message is not 
expected")
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       assert.Equal(t, si.EventRecord_APP, eventSystem.Events[0].Type, "event 
type is not expected")
+       assert.Equal(t, si.EventRecord_ADD, 
eventSystem.Events[0].EventChangeType, "event change type is not expected")
+       assert.Equal(t, si.EventRecord_APP_ALLOC, 
eventSystem.Events[0].EventChangeDetail, "event change detail is not expected")
+       assert.Equal(t, appID0, eventSystem.Events[0].ObjectID, "event object 
id is not expected")
+       assert.Equal(t, aAllocationID, eventSystem.Events[0].ReferenceID, 
"event reference id is not expected")
+       assert.Equal(t, common.Empty, eventSystem.Events[0].Message, "message 
is not expected")
 }
 
 func TestSendNewAskEvent(t *testing.T) {
@@ -99,25 +100,25 @@ func TestSendNewAskEvent(t *testing.T) {
                ApplicationID: appID0,
                queuePath:     "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendNewAskEvent(&AllocationAsk{})
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        assert.Assert(t, appEvents.eventSystem != nil, "event system should not 
be nil")
        appEvents.sendNewAskEvent(&AllocationAsk{
                applicationID: appID0,
                allocationKey: aKey,
        })
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       assert.Equal(t, si.EventRecord_APP, mock.events[0].Type, "event type is 
not expected")
-       assert.Equal(t, si.EventRecord_ADD, mock.events[0].EventChangeType, 
"event change type is not expected")
-       assert.Equal(t, si.EventRecord_APP_REQUEST, 
mock.events[0].EventChangeDetail, "event change detail is not expected")
-       assert.Equal(t, appID0, mock.events[0].ObjectID, "event object id is 
not expected")
-       assert.Equal(t, aKey, mock.events[0].ReferenceID, "event reference id 
is not expected")
-       assert.Equal(t, common.Empty, mock.events[0].Message, "message is not 
expected")
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       assert.Equal(t, si.EventRecord_APP, eventSystem.Events[0].Type, "event 
type is not expected")
+       assert.Equal(t, si.EventRecord_ADD, 
eventSystem.Events[0].EventChangeType, "event change type is not expected")
+       assert.Equal(t, si.EventRecord_APP_REQUEST, 
eventSystem.Events[0].EventChangeDetail, "event change detail is not expected")
+       assert.Equal(t, appID0, eventSystem.Events[0].ObjectID, "event object 
id is not expected")
+       assert.Equal(t, aKey, eventSystem.Events[0].ReferenceID, "event 
reference id is not expected")
+       assert.Equal(t, common.Empty, eventSystem.Events[0].Message, "message 
is not expected")
 }
 
 func TestSendRemoveAllocationEvent(t *testing.T) {
@@ -125,14 +126,14 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
                ApplicationID: appID0,
                queuePath:     "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendRemoveAllocationEvent(&Allocation{}, 
si.TerminationType_STOPPED_BY_RM)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
        testCases := []struct {
                name                 string
-               eventSystemMock      *EventSystemMock
+               eventSystemMock      *mock.EventSystem
                terminationType      si.TerminationType
                allocation           *Allocation
                expectedEventCnt     int
@@ -144,7 +145,7 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
        }{
                {
                        name:                 "remove allocation cause of node 
removal",
-                       eventSystemMock:      newEventSystemMock(),
+                       eventSystemMock:      mock.NewEventSystem(),
                        terminationType:      
si.TerminationType_UNKNOWN_TERMINATION_TYPE,
                        allocation:           &Allocation{applicationID: 
appID0, allocationKey: aKey, allocationID: aAllocationID},
                        expectedEventCnt:     1,
@@ -156,7 +157,7 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
                },
                {
                        name:                 "remove allocation cause of 
resource manager cancel",
-                       eventSystemMock:      newEventSystemMock(),
+                       eventSystemMock:      mock.NewEventSystem(),
                        terminationType:      si.TerminationType_STOPPED_BY_RM,
                        allocation:           &Allocation{applicationID: 
appID0, allocationKey: aKey, allocationID: aAllocationID},
                        expectedEventCnt:     1,
@@ -168,7 +169,7 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
                },
                {
                        name:                 "remove allocation cause of 
timeout",
-                       eventSystemMock:      newEventSystemMock(),
+                       eventSystemMock:      mock.NewEventSystem(),
                        terminationType:      si.TerminationType_TIMEOUT,
                        allocation:           &Allocation{applicationID: 
appID0, allocationKey: aKey, allocationID: aAllocationID},
                        expectedEventCnt:     1,
@@ -180,7 +181,7 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
                },
                {
                        name:                 "remove allocation cause of 
preemption",
-                       eventSystemMock:      newEventSystemMock(),
+                       eventSystemMock:      mock.NewEventSystem(),
                        terminationType:      
si.TerminationType_PREEMPTED_BY_SCHEDULER,
                        allocation:           &Allocation{applicationID: 
appID0, allocationKey: aKey, allocationID: aAllocationID},
                        expectedEventCnt:     1,
@@ -192,7 +193,7 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
                },
                {
                        name:                 "remove allocation cause of 
replacement",
-                       eventSystemMock:      newEventSystemMock(),
+                       eventSystemMock:      mock.NewEventSystem(),
                        terminationType:      
si.TerminationType_PLACEHOLDER_REPLACED,
                        allocation:           &Allocation{applicationID: 
appID0, allocationKey: aKey, allocationID: aAllocationID},
                        expectedEventCnt:     1,
@@ -213,13 +214,13 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
                                appEvents := newApplicationEvents(app, 
testCase.eventSystemMock)
                                assert.Assert(t, appEvents.eventSystem != nil, 
"event system should not be nil")
                                
appEvents.sendRemoveAllocationEvent(testCase.allocation, 
testCase.terminationType)
-                               assert.Equal(t, testCase.expectedEventCnt, 
len(testCase.eventSystemMock.events), "event was not generated")
-                               assert.Equal(t, testCase.expectedType, 
testCase.eventSystemMock.events[0].Type, "event type is not expected")
-                               assert.Equal(t, testCase.expectedChangeType, 
testCase.eventSystemMock.events[0].EventChangeType, "event change type is not 
expected")
-                               assert.Equal(t, testCase.expectedChangeDetail, 
testCase.eventSystemMock.events[0].EventChangeDetail, "event change detail is 
not expected")
-                               assert.Equal(t, testCase.expectedObjectID, 
testCase.eventSystemMock.events[0].ObjectID, "event object id is not expected")
-                               assert.Equal(t, testCase.expectedReferenceID, 
testCase.eventSystemMock.events[0].ReferenceID, "event reference id is not 
expected")
-                               assert.Equal(t, common.Empty, 
testCase.eventSystemMock.events[0].Message, "message is not expected")
+                               assert.Equal(t, testCase.expectedEventCnt, 
len(testCase.eventSystemMock.Events), "event was not generated")
+                               assert.Equal(t, testCase.expectedType, 
testCase.eventSystemMock.Events[0].Type, "event type is not expected")
+                               assert.Equal(t, testCase.expectedChangeType, 
testCase.eventSystemMock.Events[0].EventChangeType, "event change type is not 
expected")
+                               assert.Equal(t, testCase.expectedChangeDetail, 
testCase.eventSystemMock.Events[0].EventChangeDetail, "event change detail is 
not expected")
+                               assert.Equal(t, testCase.expectedObjectID, 
testCase.eventSystemMock.Events[0].ObjectID, "event object id is not expected")
+                               assert.Equal(t, testCase.expectedReferenceID, 
testCase.eventSystemMock.Events[0].ReferenceID, "event reference id is not 
expected")
+                               assert.Equal(t, common.Empty, 
testCase.eventSystemMock.Events[0].Message, "message is not expected")
                        }
                })
        }
@@ -230,18 +231,18 @@ func TestSendRemoveAskEvent(t *testing.T) {
                ApplicationID: appID0,
                queuePath:     "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendRemoveAskEvent(&AllocationAsk{}, 
si.EventRecord_REQUEST_CANCEL)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
        ask := &AllocationAsk{
                applicationID: appID0,
                allocationKey: aKey}
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        appEvents.sendRemoveAskEvent(ask, si.EventRecord_REQUEST_CANCEL)
-       event := mock.events[0]
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_APP, event.Type)
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_REQUEST_CANCEL, event.EventChangeDetail)
@@ -249,9 +250,9 @@ func TestSendRemoveAskEvent(t *testing.T) {
        assert.Equal(t, "alloc-1", event.ReferenceID)
        assert.Equal(t, "", event.Message)
 
-       mock.Reset()
+       eventSystem.Reset()
        appEvents.sendRemoveAskEvent(ask, si.EventRecord_REQUEST_TIMEOUT)
-       event = mock.events[0]
+       event = eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_APP, event.Type)
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_REQUEST_TIMEOUT, event.EventChangeDetail)
@@ -265,15 +266,15 @@ func TestSendNewApplicationEvent(t *testing.T) {
                ApplicationID: appID0,
                queuePath:     "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendNewApplicationEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mockEvents := newEventSystemMock()
+       mockEvents := mock.NewEventSystem()
        appEvents = newApplicationEvents(app, mockEvents)
        appEvents.sendNewApplicationEvent()
-       event := mockEvents.events[0]
+       event := mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_APP, event.Type)
        assert.Equal(t, si.EventRecord_ADD, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
@@ -287,15 +288,15 @@ func TestSendRemoveApplicationEvent(t *testing.T) {
                ApplicationID: appID0,
                queuePath:     "root.test",
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendRemoveApplicationEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        appEvents.sendRemoveApplicationEvent()
-       event := mock.events[0]
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_APP, event.Type)
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
@@ -310,15 +311,15 @@ func TestSendStateChangeEvent(t *testing.T) {
                queuePath:             "root.test",
                sendStateChangeEvents: true,
        }
-       mock := newEventSystemMockDisabled()
-       appEvents := newApplicationEvents(app, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       appEvents := newApplicationEvents(app, eventSystem)
        appEvents.sendStateChangeEvent(si.EventRecord_APP_RUNNING, "")
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        appEvents.sendStateChangeEvent(si.EventRecord_APP_RUNNING, "The 
application is running")
-       event := mock.events[0]
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_APP, event.Type)
        assert.Equal(t, si.EventRecord_SET, event.EventChangeType)
        assert.Equal(t, si.EventRecord_APP_RUNNING, event.EventChangeDetail)
@@ -326,15 +327,15 @@ func TestSendStateChangeEvent(t *testing.T) {
        assert.Equal(t, "", event.ReferenceID)
        assert.Equal(t, "The application is running", event.Message)
 
-       mock = newEventSystemMockDisabled()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystemDisabled()
+       appEvents = newApplicationEvents(app, eventSystem)
        appEvents.sendStateChangeEvent(si.EventRecord_APP_RUNNING, 
"ResourceReservationTimeout")
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       appEvents = newApplicationEvents(app, mock)
+       eventSystem = mock.NewEventSystem()
+       appEvents = newApplicationEvents(app, eventSystem)
        appEvents.sendStateChangeEvent(si.EventRecord_APP_REJECT, "Failed to 
add application to partition (placement rejected)")
-       event = mock.events[0]
+       event = eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_APP, event.Type)
        assert.Equal(t, si.EventRecord_SET, event.EventChangeType)
        assert.Equal(t, si.EventRecord_APP_REJECT, event.EventChangeDetail)
diff --git a/pkg/scheduler/objects/application_test.go 
b/pkg/scheduler/objects/application_test.go
index 742f3ac8..3136d06a 100644
--- a/pkg/scheduler/objects/application_test.go
+++ b/pkg/scheduler/objects/application_test.go
@@ -31,6 +31,7 @@ import (
        "github.com/apache/yunikorn-core/pkg/common/resources"
        "github.com/apache/yunikorn-core/pkg/common/security"
        "github.com/apache/yunikorn-core/pkg/events"
+       "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-core/pkg/handler"
        "github.com/apache/yunikorn-core/pkg/rmproxy"
        "github.com/apache/yunikorn-core/pkg/rmproxy/rmevent"
@@ -2265,7 +2266,7 @@ func TestRequestDoesNotFitQueueEvents(t *testing.T) {
        assert.NilError(t, err)
        ask := newAllocationAsk("alloc-0", "app-1", res)
        app := newApplication(appID1, "default", "root.default")
-       eventSystem := newEventSystemMock()
+       eventSystem := mock.NewEventSystem()
        ask.askEvents = newAskEvents(ask, eventSystem)
        app.disableStateChangeEvents()
        app.resetAppEvents()
@@ -2279,8 +2280,8 @@ func TestRequestDoesNotFitQueueEvents(t *testing.T) {
 
        // try to allocate
        app.tryAllocate(headroom, true, time.Second, &attempts, 
nilNodeIterator, nilNodeIterator, nilGetNode)
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
        assert.Equal(t, si.EventRecord_NONE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
@@ -2290,15 +2291,15 @@ func TestRequestDoesNotFitQueueEvents(t *testing.T) {
 
        // second attempt - no new event
        app.tryAllocate(headroom, true, time.Second, &attempts, 
nilNodeIterator, nilNodeIterator, nilGetNode)
-       assert.Equal(t, 1, len(eventSystem.events))
+       assert.Equal(t, 1, len(eventSystem.Events))
 
        // third attempt with enough headroom - new event
        eventSystem.Reset()
        headroom, err = 
resources.NewResourceFromConf(map[string]string{"memory": "1000", "vcores": 
"1000"})
        assert.NilError(t, err)
        app.tryAllocate(headroom, true, time.Second, &attempts, 
nilNodeIterator, nilNodeIterator, nilGetNode)
-       assert.Equal(t, 1, len(eventSystem.events))
-       event = eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event = eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
        assert.Equal(t, si.EventRecord_NONE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
@@ -2336,7 +2337,7 @@ func TestRequestDoesNotFitUserQuotaQueueEvents(t 
*testing.T) {
        assert.NilError(t, err)
        ask := newAllocationAsk("alloc-0", "app-1", res)
        app := newApplication(appID1, "default", "root")
-       eventSystem := newEventSystemMock()
+       eventSystem := mock.NewEventSystem()
        ask.askEvents = newAskEvents(ask, eventSystem)
        app.disableStateChangeEvents()
        app.resetAppEvents()
@@ -2350,8 +2351,8 @@ func TestRequestDoesNotFitUserQuotaQueueEvents(t 
*testing.T) {
 
        // try to allocate
        app.tryAllocate(headroom, true, time.Second, &attempts, 
nilNodeIterator, nilNodeIterator, nilGetNode)
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
        assert.Equal(t, si.EventRecord_NONE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
@@ -2361,7 +2362,7 @@ func TestRequestDoesNotFitUserQuotaQueueEvents(t 
*testing.T) {
 
        // second attempt - no new event
        app.tryAllocate(headroom, true, time.Second, &attempts, 
nilNodeIterator, nilNodeIterator, nilGetNode)
-       assert.Equal(t, 1, len(eventSystem.events))
+       assert.Equal(t, 1, len(eventSystem.Events))
 
        // third attempt with enough headroom - new event
        eventSystem.Reset()
@@ -2369,8 +2370,8 @@ func TestRequestDoesNotFitUserQuotaQueueEvents(t 
*testing.T) {
        err = ugm.GetUserManager().UpdateConfig(conf, "root")
        assert.NilError(t, err)
        app.tryAllocate(headroom, true, time.Second, &attempts, 
nilNodeIterator, nilNodeIterator, nilGetNode)
-       assert.Equal(t, 1, len(eventSystem.events))
-       event = eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event = eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
        assert.Equal(t, si.EventRecord_NONE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
diff --git a/pkg/scheduler/objects/ask_events_test.go 
b/pkg/scheduler/objects/ask_events_test.go
index cffe4693..75630247 100644
--- a/pkg/scheduler/objects/ask_events_test.go
+++ b/pkg/scheduler/objects/ask_events_test.go
@@ -26,6 +26,7 @@ import (
        "gotest.tools/v3/assert"
 
        "github.com/apache/yunikorn-core/pkg/common/resources"
+       "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
 )
 
@@ -40,22 +41,22 @@ func TestRequestDoesNotFitInQueueEvent(t *testing.T) {
                applicationID:     "app-0",
                allocatedResource: requestResource,
        }
-       eventSystem := newEventSystemMockDisabled()
+       eventSystem := mock.NewEventSystemDisabled()
        events := newAskEvents(ask, eventSystem)
-       events.sendRequestExceedsQueueHeadroom(getTestResource(), "root.test")
-       assert.Equal(t, 0, len(eventSystem.events))
+       
events.sendRequestExceedsQueueHeadroom(resources.NewResourceFromMap(map[string]resources.Quantity{"first":
 1}), "root.test")
+       assert.Equal(t, 0, len(eventSystem.Events))
 
-       eventSystem = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        events = newAskEvents(ask, eventSystem)
-       events.sendRequestExceedsQueueHeadroom(getTestResource(), "root.test")
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       
events.sendRequestExceedsQueueHeadroom(resources.NewResourceFromMap(map[string]resources.Quantity{"first":
 1}), "root.test")
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, "alloc-0", event.ObjectID)
        assert.Equal(t, "app-0", event.ReferenceID)
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
        assert.Equal(t, si.EventRecord_NONE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
-       assert.Equal(t, "Request 'alloc-0' does not fit in queue 'root.test' 
(requested map[cpu:100 memory:100], available map[cpu:1])", event.Message)
+       assert.Equal(t, "Request 'alloc-0' does not fit in queue 'root.test' 
(requested map[cpu:100 memory:100], available map[first:1])", event.Message)
 }
 
 func TestRequestFitsInQueueEvent(t *testing.T) {
@@ -64,16 +65,16 @@ func TestRequestFitsInQueueEvent(t *testing.T) {
                applicationID:     "app-0",
                allocatedResource: requestResource,
        }
-       eventSystem := newEventSystemMockDisabled()
+       eventSystem := mock.NewEventSystemDisabled()
        events := newAskEvents(ask, eventSystem)
        events.sendRequestFitsInQueue("root.test")
-       assert.Equal(t, 0, len(eventSystem.events))
+       assert.Equal(t, 0, len(eventSystem.Events))
 
-       eventSystem = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        events = newAskEvents(ask, eventSystem)
        events.sendRequestFitsInQueue("root.test")
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, "alloc-0", event.ObjectID)
        assert.Equal(t, "app-0", event.ReferenceID)
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
@@ -88,22 +89,22 @@ func TestRequestExceedsUserQuotaEvent(t *testing.T) {
                applicationID:     "app-0",
                allocatedResource: requestResource,
        }
-       eventSystem := newEventSystemMockDisabled()
+       eventSystem := mock.NewEventSystemDisabled()
        events := newAskEvents(ask, eventSystem)
-       events.sendRequestExceedsUserQuota(getTestResource())
-       assert.Equal(t, 0, len(eventSystem.events))
+       
events.sendRequestExceedsUserQuota(resources.NewResourceFromMap(map[string]resources.Quantity{"first":
 1}))
+       assert.Equal(t, 0, len(eventSystem.Events))
 
-       eventSystem = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        events = newAskEvents(ask, eventSystem)
-       events.sendRequestExceedsUserQuota(getTestResource())
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       
events.sendRequestExceedsUserQuota(resources.NewResourceFromMap(map[string]resources.Quantity{"first":
 1}))
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, "alloc-0", event.ObjectID)
        assert.Equal(t, "app-0", event.ReferenceID)
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
        assert.Equal(t, si.EventRecord_NONE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
-       assert.Equal(t, "Request 'alloc-0' exceeds the available user quota 
(requested map[cpu:100 memory:100], available map[cpu:1])", event.Message)
+       assert.Equal(t, "Request 'alloc-0' exceeds the available user quota 
(requested map[cpu:100 memory:100], available map[first:1])", event.Message)
 }
 
 func TestRequestFitsInUserQuotaEvent(t *testing.T) {
@@ -112,16 +113,16 @@ func TestRequestFitsInUserQuotaEvent(t *testing.T) {
                applicationID:     "app-0",
                allocatedResource: requestResource,
        }
-       eventSystem := newEventSystemMockDisabled()
+       eventSystem := mock.NewEventSystemDisabled()
        events := newAskEvents(ask, eventSystem)
        events.sendRequestFitsInUserQuota()
-       assert.Equal(t, 0, len(eventSystem.events))
+       assert.Equal(t, 0, len(eventSystem.Events))
 
-       eventSystem = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        events = newAskEvents(ask, eventSystem)
        events.sendRequestFitsInUserQuota()
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, "alloc-0", event.ObjectID)
        assert.Equal(t, "app-0", event.ReferenceID)
        assert.Equal(t, si.EventRecord_REQUEST, event.Type)
@@ -136,26 +137,26 @@ func TestPredicateFailedEvents(t *testing.T) {
                applicationID:     "app-0",
                allocatedResource: requestResource,
        }
-       eventSystem := newEventSystemMockDisabled()
+       eventSystem := mock.NewEventSystemDisabled()
        events := newAskEvents(ask, eventSystem)
        events.sendPredicateFailed("failed")
-       assert.Equal(t, 0, len(eventSystem.events))
+       assert.Equal(t, 0, len(eventSystem.Events))
 
-       eventSystem = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        events = newAskEventsWithRate(ask, eventSystem, 50*time.Millisecond, 1)
        // only the first event is expected to be emitted due to rate limiting
        for i := 0; i < 200; i++ {
                events.sendPredicateFailed("failure-" + 
strconv.FormatUint(uint64(i), 10))
        }
-       assert.Equal(t, 1, len(eventSystem.events))
-       event := eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event := eventSystem.Events[0]
        assert.Equal(t, "Predicate failed for request 'alloc-0' with message: 
'failure-0'", event.Message)
 
        eventSystem.Reset()
        // wait a bit, a new event is expected
        time.Sleep(100 * time.Millisecond)
        events.sendPredicateFailed("failed")
-       assert.Equal(t, 1, len(eventSystem.events))
-       event = eventSystem.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events))
+       event = eventSystem.Events[0]
        assert.Equal(t, "Predicate failed for request 'alloc-0' with message: 
'failed'", event.Message)
 }
diff --git a/pkg/scheduler/objects/common_test.go 
b/pkg/scheduler/objects/common_test.go
deleted file mode 100644
index 52dd536f..00000000
--- a/pkg/scheduler/objects/common_test.go
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-       http://www.apache.org/licenses/LICENSE-2.0
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-*/
-
-package objects
-
-import (
-       "github.com/google/btree"
-
-       "github.com/apache/yunikorn-core/pkg/common/resources"
-       "github.com/apache/yunikorn-core/pkg/events"
-       "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
-)
-
-type EventSystemMock struct {
-       events  []*si.EventRecord
-       enabled bool
-}
-
-func (m *EventSystemMock) CreateEventStream(_ string, _ uint64) 
*events.EventStream {
-       return nil
-}
-
-func (m *EventSystemMock) RemoveStream(_ *events.EventStream) {
-}
-
-func (m *EventSystemMock) AddEvent(event *si.EventRecord) {
-       m.events = append(m.events, event)
-}
-
-func (m *EventSystemMock) StartService() {}
-
-func (m *EventSystemMock) Stop() {}
-
-func (m *EventSystemMock) Reset() {
-       m.events = make([]*si.EventRecord, 0)
-}
-
-func (m *EventSystemMock) GetEventsFromID(uint64, uint64) ([]*si.EventRecord, 
uint64, uint64) {
-       return nil, 0, 0
-}
-
-func (m *EventSystemMock) IsEventTrackingEnabled() bool {
-       return m.enabled
-}
-
-func (m *EventSystemMock) GetEventStreams() []events.EventStreamData {
-       return nil
-}
-
-func newEventSystemMock() *EventSystemMock {
-       return &EventSystemMock{events: make([]*si.EventRecord, 0), enabled: 
true}
-}
-func newEventSystemMockDisabled() *EventSystemMock {
-       return &EventSystemMock{events: make([]*si.EventRecord, 0), enabled: 
false}
-}
-
-func getTestResource() *resources.Resource {
-       return 
resources.NewResourceFromMap(map[string]resources.Quantity{"cpu": 1})
-}
-
-func getNodeIteratorFn(nodes ...*Node) func() NodeIterator {
-       tree := btree.New(7)
-       for _, node := range nodes {
-               tree.ReplaceOrInsert(nodeRef{
-                       node, 1,
-               })
-       }
-
-       return func() NodeIterator {
-               return NewTreeIterator(acceptAll, func() *btree.BTree {
-                       return tree
-               })
-       }
-}
diff --git a/pkg/scheduler/objects/node_events_test.go 
b/pkg/scheduler/objects/node_events_test.go
index 07d54779..aadd8375 100644
--- a/pkg/scheduler/objects/node_events_test.go
+++ b/pkg/scheduler/objects/node_events_test.go
@@ -25,6 +25,7 @@ import (
 
        "github.com/apache/yunikorn-core/pkg/common"
        "github.com/apache/yunikorn-core/pkg/common/resources"
+       "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
 )
 
@@ -32,16 +33,16 @@ func TestSendNodeAddedEvent(t *testing.T) {
        node := &Node{
                NodeID: nodeID1,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendNodeAddedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendNodeAddedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
        assert.Equal(t, "Node added to the scheduler", event.Message)
@@ -54,16 +55,16 @@ func TestSendNodeRemovedEvent(t *testing.T) {
        node := &Node{
                NodeID: nodeID1,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendNodeRemovedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendNodeRemovedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
        assert.Equal(t, "Node removed from the scheduler", event.Message)
@@ -76,18 +77,18 @@ func TestSendAllocationAddedEvent(t *testing.T) {
        node := &Node{
                NodeID: nodeID1,
        }
-       resource := getTestResource()
+       resource := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
 
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendAllocationAddedEvent("alloc-0", resource)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendAllocationAddedEvent("alloc-0", resource)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, "alloc-0", event.ReferenceID)
        assert.Equal(t, common.Empty, event.Message)
@@ -102,17 +103,17 @@ func TestSendAllocationRemovedEvent(t *testing.T) {
        node := &Node{
                NodeID: nodeID1,
        }
-       resource := getTestResource()
+       resource := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
 
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendAllocationRemovedEvent("alloc-0", resource)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendAllocationRemovedEvent("alloc-0", resource)
-       event := mock.events[0]
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, "alloc-0", event.ReferenceID)
        assert.Equal(t, common.Empty, event.Message)
@@ -127,41 +128,41 @@ func TestSendNodeReadyChangedEvent(t *testing.T) {
        node := &Node{
                NodeID: nodeID1,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendNodeReadyChangedEvent(true)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendNodeReadyChangedEvent(true)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       assert.Equal(t, "ready: true", mock.events[0].Message)
-       assert.Equal(t, nodeID1, mock.events[0].ObjectID)
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       assert.Equal(t, "ready: true", eventSystem.Events[0].Message)
+       assert.Equal(t, nodeID1, eventSystem.Events[0].ObjectID)
 
-       mock.Reset()
+       eventSystem.Reset()
        ne.sendNodeReadyChangedEvent(false)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       assert.Equal(t, "ready: false", mock.events[0].Message)
-       assert.Equal(t, nodeID1, mock.events[0].ObjectID)
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       assert.Equal(t, "ready: false", eventSystem.Events[0].Message)
+       assert.Equal(t, nodeID1, eventSystem.Events[0].ObjectID)
 }
 
 func TestSendOccupiedResourceChangedEvent(t *testing.T) {
-       resource := getTestResource()
+       resource := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        node := &Node{
                NodeID:           nodeID1,
                occupiedResource: resource,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendNodeOccupiedResourceChangedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendNodeOccupiedResourceChangedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
        assert.Equal(t, common.Empty, event.Message)
@@ -173,21 +174,21 @@ func TestSendOccupiedResourceChangedEvent(t *testing.T) {
 }
 
 func TestSendCapacityChangedEvent(t *testing.T) {
-       resource := getTestResource()
+       resource := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        node := &Node{
                NodeID:        nodeID1,
                totalResource: resource,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendNodeCapacityChangedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendNodeCapacityChangedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
        assert.Equal(t, common.Empty, event.Message)
@@ -203,16 +204,16 @@ func TestNodeSchedulableChangedEvent(t *testing.T) {
                NodeID:      nodeID1,
                schedulable: true,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendNodeSchedulableChangedEvent(false)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendNodeSchedulableChangedEvent(false)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
        assert.Equal(t, "schedulable: false", event.Message)
@@ -220,10 +221,10 @@ func TestNodeSchedulableChangedEvent(t *testing.T) {
        assert.Equal(t, si.EventRecord_NODE_SCHEDULABLE, 
event.EventChangeDetail)
        assert.Equal(t, 0, len(event.Resource.Resources))
 
-       mock.Reset()
+       eventSystem.Reset()
        ne.sendNodeSchedulableChangedEvent(true)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event = mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event = eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
        assert.Equal(t, "schedulable: true", event.Message)
@@ -233,21 +234,21 @@ func TestNodeSchedulableChangedEvent(t *testing.T) {
 }
 
 func TestNodeReservationEvent(t *testing.T) {
-       resource := getTestResource()
+       resource := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        node := &Node{
                NodeID:      nodeID1,
                schedulable: true,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendReservedEvent(resource, "alloc-0")
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendReservedEvent(resource, "alloc-0")
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, "alloc-0", event.ReferenceID)
        assert.Equal(t, common.Empty, event.Message)
@@ -259,21 +260,21 @@ func TestNodeReservationEvent(t *testing.T) {
 }
 
 func TestNodeUnreservationEvent(t *testing.T) {
-       resource := getTestResource()
+       resource := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        node := &Node{
                NodeID:      nodeID1,
                schedulable: true,
        }
-       mock := newEventSystemMockDisabled()
-       ne := newNodeEvents(node, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       ne := newNodeEvents(node, eventSystem)
        ne.sendUnreservedEvent(resource, "alloc-0")
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       ne = newNodeEvents(node, mock)
+       eventSystem = mock.NewEventSystem()
+       ne = newNodeEvents(node, eventSystem)
        ne.sendUnreservedEvent(resource, "alloc-0")
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, nodeID1, event.ObjectID)
        assert.Equal(t, "alloc-0", event.ReferenceID)
        assert.Equal(t, common.Empty, event.Message)
diff --git a/pkg/scheduler/objects/node_test.go 
b/pkg/scheduler/objects/node_test.go
index e5ce3e4a..f7f2dd67 100644
--- a/pkg/scheduler/objects/node_test.go
+++ b/pkg/scheduler/objects/node_test.go
@@ -25,6 +25,7 @@ import (
        "gotest.tools/v3/assert"
 
        "github.com/apache/yunikorn-core/pkg/common/resources"
+       evtMock "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-core/pkg/mock"
        "github.com/apache/yunikorn-core/pkg/plugins"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/common"
@@ -638,7 +639,7 @@ type testListener struct {
        updateCount int
 }
 
-func (tl *testListener) NodeUpdated(node *Node) {
+func (tl *testListener) NodeUpdated(_ *Node) {
        tl.updateCount++
 }
 
@@ -687,7 +688,7 @@ func TestReadyAttribute(t *testing.T) {
 }
 
 func TestNodeEvents(t *testing.T) {
-       mockEvents := newEventSystemMock()
+       mockEvents := evtMock.NewEventSystem()
        total := 
resources.NewResourceFromMap(map[string]resources.Quantity{"cpu": 100, 
"memory": 100})
        occupied := 
resources.NewResourceFromMap(map[string]resources.Quantity{"cpu": 10, "memory": 
10})
        proto := newProto(testNode, total, occupied, map[string]string{
@@ -697,22 +698,22 @@ func TestNodeEvents(t *testing.T) {
        node.nodeEvents = newNodeEvents(node, mockEvents)
 
        node.SendNodeAddedEvent()
-       assert.Equal(t, 1, len(mockEvents.events))
-       event := mockEvents.events[0]
+       assert.Equal(t, 1, len(mockEvents.Events))
+       event := mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_ADD, event.EventChangeType)
 
        mockEvents.Reset()
        node.SendNodeRemovedEvent()
-       assert.Equal(t, 1, len(mockEvents.events))
-       event = mockEvents.events[0]
+       assert.Equal(t, 1, len(mockEvents.Events))
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
 
        mockEvents.Reset()
        node.SetReady(false)
-       assert.Equal(t, 1, len(mockEvents.events))
-       event = mockEvents.events[0]
+       assert.Equal(t, 1, len(mockEvents.Events))
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_SET, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_READY, event.EventChangeDetail)
@@ -723,22 +724,22 @@ func TestNodeEvents(t *testing.T) {
                allocationKey:     aKey,
                allocationID:      "allocationid-0",
        })
-       assert.Equal(t, 1, len(mockEvents.events))
-       event = mockEvents.events[0]
+       assert.Equal(t, 1, len(mockEvents.Events))
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_ADD, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_ALLOC, event.EventChangeDetail)
 
        mockEvents.Reset()
        node.RemoveAllocation("allocationid-0")
-       event = mockEvents.events[0]
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_ALLOC, event.EventChangeDetail)
 
        mockEvents.Reset()
        
node.SetOccupiedResource(resources.NewResourceFromMap(map[string]resources.Quantity{"cpu":
 20, "memory": 20}))
-       event = mockEvents.events[0]
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_SET, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_OCCUPIED, event.EventChangeDetail)
@@ -747,7 +748,7 @@ func TestNodeEvents(t *testing.T) {
 
        mockEvents.Reset()
        
node.SetCapacity(resources.NewResourceFromMap(map[string]resources.Quantity{"cpu":
 90, "memory": 90}))
-       event = mockEvents.events[0]
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_SET, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_CAPACITY, event.EventChangeDetail)
@@ -756,7 +757,7 @@ func TestNodeEvents(t *testing.T) {
 
        mockEvents.Reset()
        node.SetSchedulable(false)
-       event = mockEvents.events[0]
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_SET, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_SCHEDULABLE, 
event.EventChangeDetail)
@@ -767,7 +768,7 @@ func TestNodeEvents(t *testing.T) {
        app := newApplication(appID1, "default", "root.unknown")
        err := node.Reserve(app, ask)
        assert.NilError(t, err, "could not reserve")
-       event = mockEvents.events[0]
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_ADD, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_RESERVATION, 
event.EventChangeDetail)
@@ -775,7 +776,7 @@ func TestNodeEvents(t *testing.T) {
        mockEvents.Reset()
        _, err = node.unReserve(app, ask)
        assert.NilError(t, err, "could not unreserve")
-       event = mockEvents.events[0]
+       event = mockEvents.Events[0]
        assert.Equal(t, si.EventRecord_NODE, event.Type)
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_NODE_RESERVATION, 
event.EventChangeDetail)
@@ -823,14 +824,14 @@ func TestPreconditions(t *testing.T) {
        })
        res := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        ask := newAllocationAsk("test", "app001", res)
-       eventSystem := newEventSystemMock()
+       eventSystem := evtMock.NewEventSystem()
        ask.askEvents = newAskEvents(ask, eventSystem)
        node := NewNode(proto)
 
        // failure
        node.preConditions(ask, true)
-       assert.Equal(t, 1, len(eventSystem.events))
-       assert.Equal(t, "Predicate failed for request 'test' with message: 
'fake predicate plugin failed'", eventSystem.events[0].Message)
+       assert.Equal(t, 1, len(eventSystem.Events))
+       assert.Equal(t, "Predicate failed for request 'test' with message: 
'fake predicate plugin failed'", eventSystem.Events[0].Message)
        assert.Equal(t, 1, len(ask.allocLog))
        assert.Equal(t, "fake predicate plugin failed", ask.allocLog["fake 
predicate plugin failed"].Message)
 
@@ -838,6 +839,6 @@ func TestPreconditions(t *testing.T) {
        eventSystem.Reset()
        plugins.RegisterSchedulerPlugin(mock.NewPredicatePlugin(false, 
map[string]int{}))
        node.preConditions(ask, true)
-       assert.Equal(t, 0, len(eventSystem.events))
+       assert.Equal(t, 0, len(eventSystem.Events))
        assert.Equal(t, 1, len(ask.allocLog))
 }
diff --git a/pkg/scheduler/objects/queue_events_test.go 
b/pkg/scheduler/objects/queue_events_test.go
index 86014595..d36bf36d 100644
--- a/pkg/scheduler/objects/queue_events_test.go
+++ b/pkg/scheduler/objects/queue_events_test.go
@@ -25,6 +25,7 @@ import (
 
        "github.com/apache/yunikorn-core/pkg/common"
        "github.com/apache/yunikorn-core/pkg/common/resources"
+       "github.com/apache/yunikorn-core/pkg/events/mock"
        "github.com/apache/yunikorn-scheduler-interface/lib/go/si"
 )
 
@@ -37,16 +38,16 @@ func TestSendNewQueueEvent(t *testing.T) {
                QueuePath: testQueuePath,
                isManaged: true,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendNewQueueEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendNewQueueEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
@@ -54,13 +55,13 @@ func TestSendNewQueueEvent(t *testing.T) {
        assert.Equal(t, si.EventRecord_ADD, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
        assert.Equal(t, 0, len(event.Resource.Resources))
-       mock = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        nq = newQueueEvents(&Queue{
                QueuePath: testQueuePath,
                isManaged: false,
-       }, mock)
+       }, eventSystem)
        nq.sendNewQueueEvent()
-       event = mock.events[0]
+       event = eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE_DYNAMIC, event.EventChangeDetail)
 }
 
@@ -69,16 +70,16 @@ func TestSendRemoveQueueEvent(t *testing.T) {
                QueuePath: testQueuePath,
                isManaged: true,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendRemoveQueueEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendRemoveQueueEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
@@ -86,13 +87,13 @@ func TestSendRemoveQueueEvent(t *testing.T) {
        assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
        assert.Equal(t, si.EventRecord_DETAILS_NONE, event.EventChangeDetail)
        assert.Equal(t, 0, len(event.Resource.Resources))
-       mock = newEventSystemMock()
+       eventSystem = mock.NewEventSystem()
        nq = newQueueEvents(&Queue{
                QueuePath: testQueuePath,
                isManaged: false,
-       }, mock)
+       }, eventSystem)
        nq.sendRemoveQueueEvent()
-       event = mock.events[0]
+       event = eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE_DYNAMIC, event.EventChangeDetail)
 }
 
@@ -100,16 +101,16 @@ func TestNewApplicationEvent(t *testing.T) {
        queue := &Queue{
                QueuePath: testQueuePath,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendNewApplicationEvent(appID0)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendNewApplicationEvent(appID0)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, appID0, event.ReferenceID)
@@ -123,16 +124,16 @@ func TestRemoveApplicationEvent(t *testing.T) {
        queue := &Queue{
                QueuePath: testQueuePath,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendRemoveApplicationEvent(appID0)
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendRemoveApplicationEvent(appID0)
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, appID0, event.ReferenceID)
@@ -146,16 +147,16 @@ func TestTypeChangedEvent(t *testing.T) {
        queue := &Queue{
                QueuePath: testQueuePath,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendTypeChangedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendTypeChangedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
@@ -166,21 +167,21 @@ func TestTypeChangedEvent(t *testing.T) {
 }
 
 func TestSendMaxResourceChangedEvent(t *testing.T) {
-       max := getTestResource()
+       maxRes := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        queue := &Queue{
                QueuePath:   testQueuePath,
-               maxResource: max,
+               maxResource: maxRes,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendMaxResourceChangedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendMaxResourceChangedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
@@ -189,25 +190,25 @@ func TestSendMaxResourceChangedEvent(t *testing.T) {
        assert.Equal(t, si.EventRecord_QUEUE_MAX, event.EventChangeDetail)
        assert.Equal(t, 1, len(event.Resource.Resources))
        protoRes := resources.NewResourceFromProto(event.Resource)
-       assert.DeepEqual(t, max, protoRes)
+       assert.DeepEqual(t, maxRes, protoRes)
 }
 
 func TestSendGuaranteedResourceChangedEvent(t *testing.T) {
-       guaranteed := getTestResource()
+       guaranteed := 
resources.NewResourceFromMap(map[string]resources.Quantity{"first": 1})
        queue := &Queue{
                QueuePath:          testQueuePath,
                guaranteedResource: guaranteed,
        }
-       mock := newEventSystemMockDisabled()
-       nq := newQueueEvents(queue, mock)
+       eventSystem := mock.NewEventSystemDisabled()
+       nq := newQueueEvents(queue, eventSystem)
        nq.sendGuaranteedResourceChangedEvent()
-       assert.Equal(t, 0, len(mock.events), "unexpected event")
+       assert.Equal(t, 0, len(eventSystem.Events), "unexpected event")
 
-       mock = newEventSystemMock()
-       nq = newQueueEvents(queue, mock)
+       eventSystem = mock.NewEventSystem()
+       nq = newQueueEvents(queue, eventSystem)
        nq.sendGuaranteedResourceChangedEvent()
-       assert.Equal(t, 1, len(mock.events), "event was not generated")
-       event := mock.events[0]
+       assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
+       event := eventSystem.Events[0]
        assert.Equal(t, si.EventRecord_QUEUE, event.Type)
        assert.Equal(t, testQueuePath, event.ObjectID)
        assert.Equal(t, common.Empty, event.ReferenceID)
diff --git a/pkg/scheduler/objects/utilities_test.go 
b/pkg/scheduler/objects/utilities_test.go
index bb2a6311..e66e4e98 100644
--- a/pkg/scheduler/objects/utilities_test.go
+++ b/pkg/scheduler/objects/utilities_test.go
@@ -23,6 +23,7 @@ import (
        "testing"
        "time"
 
+       "github.com/google/btree"
        "gotest.tools/v3/assert"
 
        "github.com/apache/yunikorn-core/pkg/common/configs"
@@ -275,3 +276,18 @@ func assertUserResourcesAndGroupResources(t *testing.T, 
userGroup security.UserG
        assert.Equal(t, resources.Equals(userResource, expectedUserResources), 
true)
        assert.Equal(t, resources.Equals(groupResource, 
expectedGroupResources), true)
 }
+
+func getNodeIteratorFn(nodes ...*Node) func() NodeIterator {
+       tree := btree.New(7)
+       for _, node := range nodes {
+               tree.ReplaceOrInsert(nodeRef{
+                       node, 1,
+               })
+       }
+
+       return func() NodeIterator {
+               return NewTreeIterator(acceptAll, func() *btree.BTree {
+                       return tree
+               })
+       }
+}


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

Reply via email to