Skip to content

Commit 423f3b5

Browse files
committed
controller unit test
1 parent 34d016b commit 423f3b5

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ public ControllerResourceEventSource(Controller<T> controller) {
4444

4545
// by default the on add should be processed in all cases regarding internal filters
4646
controller.getConfiguration().onAddFilter().ifPresent(this::setOnAddFilter);
47-
4847
controller.getConfiguration().onUpdateFilter()
4948
.ifPresentOrElse(filter -> setOnUpdateFilter(filter.and(internalOnUpdateFilter)),
5049
() -> setOnUpdateFilter(internalOnUpdateFilter));
50+
controller.getConfiguration().genericFilter().ifPresent(this::setGenericFilter);
5151
}
5252

5353
@Override

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSourceTest.java

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ void filtersOutEventsOnAddAndUpdate() {
115115
Predicate<TestCustomResource> onAddPredicate = (res) -> false;
116116
BiPredicate<TestCustomResource, TestCustomResource> onUpdatePredicate = (res, res2) -> false;
117117
source =
118-
new ControllerResourceEventSource<>(new TestController(onAddPredicate, onUpdatePredicate));
118+
new ControllerResourceEventSource<>(
119+
new TestController(onAddPredicate, onUpdatePredicate, null));
119120
setUpSource(source);
120121

121122
source.eventReceived(ResourceAction.ADDED, cr, null);
@@ -124,20 +125,36 @@ void filtersOutEventsOnAddAndUpdate() {
124125
verify(eventHandler, never()).handleEvent(any());
125126
}
126127

128+
@Test
129+
void genericFilterFiltersOutAddUpdateAndDeleteEvents() {
130+
TestCustomResource cr = TestUtils.testCustomResource();
131+
132+
source =
133+
new ControllerResourceEventSource<>(new TestController(null, null, res -> false));
134+
setUpSource(source);
135+
136+
source.eventReceived(ResourceAction.ADDED, cr, null);
137+
source.eventReceived(ResourceAction.UPDATED, cr, cr);
138+
source.eventReceived(ResourceAction.DELETED, cr, cr);
139+
140+
verify(eventHandler, never()).handleEvent(any());
141+
}
142+
127143
@SuppressWarnings("unchecked")
128144
private static class TestController extends Controller<TestCustomResource> {
129145

130146
private final EventSourceManager<TestCustomResource> eventSourceManager =
131147
mock(EventSourceManager.class);
132148

133149
public TestController(Predicate<TestCustomResource> onAddFilter,
134-
BiPredicate<TestCustomResource, TestCustomResource> onUpdateFilter) {
135-
super(null, new TestConfiguration(true, onAddFilter, onUpdateFilter),
150+
BiPredicate<TestCustomResource, TestCustomResource> onUpdateFilter,
151+
Predicate<TestCustomResource> genericFilter) {
152+
super(null, new TestConfiguration(true, onAddFilter, onUpdateFilter, genericFilter),
136153
MockKubernetesClient.client(TestCustomResource.class));
137154
}
138155

139156
public TestController(boolean generationAware) {
140-
super(null, new TestConfiguration(generationAware, null, null),
157+
super(null, new TestConfiguration(generationAware, null, null, null),
141158
MockKubernetesClient.client(TestCustomResource.class));
142159
}
143160

@@ -156,7 +173,8 @@ private static class TestConfiguration extends
156173
DefaultControllerConfiguration<TestCustomResource> {
157174

158175
public TestConfiguration(boolean generationAware, Predicate<TestCustomResource> onAddFilter,
159-
BiPredicate<TestCustomResource, TestCustomResource> onUpdateFilter) {
176+
BiPredicate<TestCustomResource, TestCustomResource> onUpdateFilter,
177+
Predicate<TestCustomResource> genericFilter) {
160178
super(
161179
null,
162180
null,
@@ -169,7 +187,7 @@ public TestConfiguration(boolean generationAware, Predicate<TestCustomResource>
169187
null,
170188
TestCustomResource.class,
171189
null,
172-
onAddFilter, onUpdateFilter, null, null);
190+
onAddFilter, onUpdateFilter, genericFilter, null);
173191
}
174192
}
175193
}

0 commit comments

Comments
 (0)