Skip to content

Commit d0268d7

Browse files
committed
closes #284
1 parent 2d09725 commit d0268d7

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@
22

33
import io.grpc.ManagedChannel;
44
import io.grpc.ManagedChannelBuilder;
5+
import io.grpc.ServerBuilder;
56
import io.grpc.examples.CalculatorGrpc;
67
import io.grpc.examples.CalculatorOuterClass;
78
import org.hamcrest.CoreMatchers;
89
import org.junit.*;
910
import org.junit.runner.RunWith;
1011
import org.lognet.springboot.grpc.demo.DemoApp;
12+
import org.mockito.Mockito;
1113
import org.springframework.beans.factory.annotation.Autowired;
1214
import org.springframework.boot.test.context.SpringBootTest;
15+
import org.springframework.boot.test.mock.mockito.MockBean;
1316
import org.springframework.boot.test.system.OutputCaptureRule;
1417
import org.springframework.test.context.ActiveProfiles;
1518
import org.springframework.test.context.junit4.SpringRunner;
@@ -32,7 +35,10 @@ public class GRpcServerBuilderConfigurerTest {
3235
private ManagedChannel channel;
3336

3437
@Autowired
35-
private GRpcServerBuilderConfigurer configurer;
38+
private GRpcServerBuilderConfigurer customGrpcServerBuilderConfigurer;
39+
40+
@MockBean(name = "anotherConfigurer")
41+
private GRpcServerBuilderConfigurer anotherConfigurer;
3642

3743
@Rule
3844
public OutputCaptureRule outputCapture = new OutputCaptureRule();
@@ -53,7 +59,7 @@ public void tearDown() {
5359
public void customServerBuilderTest() throws ExecutionException, InterruptedException {
5460

5561

56-
Assert.assertNotEquals("Custom configurer should be picked up", configurer.getClass(),GRpcServerBuilderConfigurer.class);
62+
Assert.assertNotEquals("Custom configurer should be picked up", customGrpcServerBuilderConfigurer.getClass(),GRpcServerBuilderConfigurer.class);
5763

5864
double result = CalculatorGrpc.newFutureStub(channel)
5965
.calculate(CalculatorOuterClass.CalculatorRequest.newBuilder()
@@ -66,5 +72,6 @@ public void customServerBuilderTest() throws ExecutionException, InterruptedExce
6672

6773
// expect invocation via custom executor
6874
outputCapture.expect(CoreMatchers.containsString(CUSTOM_EXECUTOR_MESSAGE));
75+
Mockito.verify(anotherConfigurer,Mockito.times(1)).configure(Mockito.any(ServerBuilder.class));
6976
}
7077
}

grpc-spring-boot-starter/src/main/java/org/lognet/springboot/grpc/autoconfigure/GRpcAutoConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.io.IOException;
3939
import java.net.InetSocketAddress;
4040
import java.util.Collection;
41+
import java.util.List;
4142
import java.util.Optional;
4243
import java.util.function.Consumer;
4344

@@ -117,7 +118,7 @@ public <T> Bindable<T> onStart(ConfigurationPropertyName name, Bindable<T> targe
117118

118119

119120
@Bean(name = "grpcInternalConfigurator")
120-
public Consumer<ServerBuilder<?>> configurator(GRpcServerBuilderConfigurer configurer,GRpcServerProperties grpcServerProperties) {
121+
public Consumer<ServerBuilder<?>> configurator(List<GRpcServerBuilderConfigurer> configurers, GRpcServerProperties grpcServerProperties) {
121122
return serverBuilder -> {
122123
if (grpcServerProperties.isEnabled()) {
123124
Optional.ofNullable(grpcServerProperties.getSecurity())
@@ -137,7 +138,7 @@ public Consumer<ServerBuilder<?>> configurator(GRpcServerBuilderConfigurer confi
137138
}
138139
});
139140
}
140-
configurer.configure(serverBuilder);
141+
configurers.forEach(c->c.configure(serverBuilder));
141142
};
142143
}
143144

0 commit comments

Comments
 (0)