Skip to content

Commit 09812a9

Browse files
author
Alexander Furer
committed
tests polishing
1 parent 0f13e48 commit 09812a9

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

grpc-spring-boot-starter-demo/src/test/java/org/lognet/springboot/grpc/GrpcServerTestBase.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
import io.grpc.ManagedChannelBuilder;
66
import io.grpc.examples.GreeterGrpc;
77
import io.grpc.examples.GreeterOuterClass;
8+
import io.grpc.health.v1.HealthGrpc;
89
import io.grpc.inprocess.InProcessChannelBuilder;
910
import io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts;
1011
import io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder;
12+
import io.grpc.reflection.v1alpha.ServerReflectionGrpc;
1113
import org.junit.After;
1214
import org.junit.Before;
1315
import org.junit.Test;
@@ -23,7 +25,9 @@
2325
import org.springframework.util.StringUtils;
2426

2527
import java.io.IOException;
28+
import java.util.List;
2629
import java.util.Optional;
30+
import java.util.stream.Collectors;
2731

2832
import static org.junit.Assert.assertNotNull;
2933
import static org.junit.Assert.assertTrue;
@@ -59,6 +63,9 @@ public void initialize(GenericApplicationContext applicationContext) {
5963
@Autowired
6064
protected ApplicationContext context;
6165

66+
@Autowired
67+
protected GRpcServicesRegistry registry;
68+
6269
@Autowired
6370
protected GRpcServerProperties gRpcServerProperties;
6471

@@ -113,6 +120,13 @@ public void shutdownChannels() {
113120
Optional.ofNullable(inProcChannel).ifPresent(ManagedChannel::shutdownNow);
114121
}
115122

123+
protected List<String> appServicesNames(){
124+
return registry.getServiceNameToServiceBeanMap()
125+
.keySet()
126+
.stream()
127+
.filter(name-> !name.equals(HealthGrpc.SERVICE_NAME) && !name.equals(ServerReflectionGrpc.SERVICE_NAME))
128+
.collect(Collectors.toList());
129+
}
116130
@Test
117131
public void simpleGreeting() throws Exception {
118132

grpc-spring-boot-starter-demo/src/test/java/org/lognet/springboot/grpc/actuator/ActuatorTest.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@
2727

2828
import java.time.Duration;
2929
import java.util.Optional;
30+
import java.util.Set;
3031
import java.util.Spliterator;
3132
import java.util.Spliterators;
3233
import java.util.concurrent.Callable;
3334
import java.util.concurrent.ExecutionException;
3435
import java.util.stream.Stream;
3536
import java.util.stream.StreamSupport;
3637

37-
import static org.hamcrest.CoreMatchers.is;
3838
import static org.hamcrest.MatcherAssert.assertThat;
3939
import static org.junit.Assert.assertEquals;
4040
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
@@ -86,19 +86,22 @@ public void actuatorGrpcTest() throws ExecutionException, InterruptedException {
8686

8787
@Test
8888
public void actuatorHealthTest() throws ExecutionException, InterruptedException {
89-
ResponseEntity<String> response = restTemplate.getForEntity("/actuator/health", String.class);
89+
ResponseEntity<String> response = restTemplate.getForEntity("/actuator/health/grpc", String.class);
9090
assertEquals(HttpStatus.OK, response.getStatusCode());
9191

9292
final DocumentContext json = JsonPath.parse(response.getBody(), Configuration.builder()
9393
.mappingProvider(new JacksonMappingProvider())
9494
.jsonProvider(new JacksonJsonProvider())
9595
.build());
96-
final String[] statuses = json.read("components.grpc.components.*status", new TypeRef<String[]>() {
97-
});
98-
assertThat(statuses,Matchers.arrayWithSize(Matchers.greaterThan(0)));
99-
for(String s:statuses) {
100-
assertThat(s, is(Status.UP.getCode()));
101-
}
96+
final TypeRef<Set<String>> setOfString = new TypeRef<Set<String>>() {
97+
};
98+
final Set<String> services = json.read("components.keys()", setOfString);
99+
assertThat(services,Matchers.containsInAnyOrder( super.appServicesNames().toArray(new String[]{})));
100+
101+
final Set<String> statuses = json.read("components.*status", setOfString);
102+
assertThat(statuses,Matchers.contains(Status.UP.getCode()));
103+
104+
102105

103106
}
104107

0 commit comments

Comments
 (0)