From f7cbec5a99f7eb18e1d380764400102507ec65a8 Mon Sep 17 00:00:00 2001 From: Pavan Kumar Kolamuri Date: Tue, 6 May 2025 18:04:06 +0530 Subject: [PATCH] Added mockAPI for getAllWithFilter --- .../test/MockGenericConfigService.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/config-service-api/src/testFixtures/java/org/hypertrace/config/service/test/MockGenericConfigService.java b/config-service-api/src/testFixtures/java/org/hypertrace/config/service/test/MockGenericConfigService.java index 73e9adeb..427fcb38 100644 --- a/config-service-api/src/testFixtures/java/org/hypertrace/config/service/test/MockGenericConfigService.java +++ b/config-service-api/src/testFixtures/java/org/hypertrace/config/service/test/MockGenericConfigService.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; import org.hypertrace.config.service.v1.ConfigServiceGrpc.ConfigServiceImplBase; @@ -178,6 +179,46 @@ public MockGenericConfigService mockGetAll() { return this; } + public MockGenericConfigService mockGetAllWithFilter( + Predicate filterPredicate) { + + Mockito.doAnswer( + invocation -> { + StreamObserver responseObserver = + invocation.getArgument(1, StreamObserver.class); + GetAllConfigsRequest request = invocation.getArgument(0, GetAllConfigsRequest.class); + + List matchingConfigs = + currentValues + .row( + ResourceType.of( + request.getResourceNamespace(), request.getResourceName())) + .values() + .stream() + .filter( + config -> { + if (request.hasFilter()) { + return filterPredicate.test(config); + } + return true; + }) + .collect(Collectors.toList()); + + GetAllConfigsResponse response = + GetAllConfigsResponse.newBuilder() + .addAllContextSpecificConfigs(matchingConfigs) + .build(); + + responseObserver.onNext(response); + responseObserver.onCompleted(); + return null; + }) + .when(this.mockConfigService) + .getAllConfigs(ArgumentMatchers.any(), ArgumentMatchers.any()); + + return this; + } + @SuppressWarnings("unchecked") public MockGenericConfigService mockDelete() { Mockito.doAnswer(