Skip to content

Commit 37859de

Browse files
Added mockAPI for getAllWithFilter (#294)
1 parent 32e4ab4 commit 37859de

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

config-service-api/src/testFixtures/java/org/hypertrace/config/service/test/MockGenericConfigService.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.util.List;
2929
import java.util.Objects;
3030
import java.util.Optional;
31+
import java.util.function.Predicate;
3132
import java.util.stream.Collectors;
3233
import java.util.stream.Stream;
3334
import org.hypertrace.config.service.v1.ConfigServiceGrpc.ConfigServiceImplBase;
@@ -178,6 +179,46 @@ public MockGenericConfigService mockGetAll() {
178179
return this;
179180
}
180181

182+
public MockGenericConfigService mockGetAllWithFilter(
183+
Predicate<ContextSpecificConfig> filterPredicate) {
184+
185+
Mockito.doAnswer(
186+
invocation -> {
187+
StreamObserver<GetAllConfigsResponse> responseObserver =
188+
invocation.getArgument(1, StreamObserver.class);
189+
GetAllConfigsRequest request = invocation.getArgument(0, GetAllConfigsRequest.class);
190+
191+
List<ContextSpecificConfig> matchingConfigs =
192+
currentValues
193+
.row(
194+
ResourceType.of(
195+
request.getResourceNamespace(), request.getResourceName()))
196+
.values()
197+
.stream()
198+
.filter(
199+
config -> {
200+
if (request.hasFilter()) {
201+
return filterPredicate.test(config);
202+
}
203+
return true;
204+
})
205+
.collect(Collectors.toList());
206+
207+
GetAllConfigsResponse response =
208+
GetAllConfigsResponse.newBuilder()
209+
.addAllContextSpecificConfigs(matchingConfigs)
210+
.build();
211+
212+
responseObserver.onNext(response);
213+
responseObserver.onCompleted();
214+
return null;
215+
})
216+
.when(this.mockConfigService)
217+
.getAllConfigs(ArgumentMatchers.any(), ArgumentMatchers.any());
218+
219+
return this;
220+
}
221+
181222
@SuppressWarnings("unchecked")
182223
public MockGenericConfigService mockDelete() {
183224
Mockito.doAnswer(

0 commit comments

Comments
 (0)