Skip to content

Commit f77966d

Browse files
committed
binder: refactor BinderServer creation so tests can access the Builder
1 parent 95fac1b commit f77966d

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

binder/src/test/java/io/grpc/binder/internal/RobolectricBinderTransportTest.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -178,27 +178,34 @@ public void requestRealisticBindServiceBehavior() {
178178
shadowOf(application).setUnbindServiceCallsOnServiceDisconnected(false);
179179
}
180180

181-
@Override
182-
protected InternalServer newServer(List<ServerStreamTracer.Factory> streamTracerFactories) {
181+
BinderServer.Builder newServerBuilder() {
183182
AndroidComponentAddress listenAddr =
184183
AndroidComponentAddress.forBindIntent(
185184
new Intent()
186185
.setClassName(serviceInfo.packageName, serviceInfo.name)
187186
.setAction("io.grpc.action.BIND." + nextServerAddress++));
188187

189-
BinderServer binderServer =
190-
new BinderServer.Builder()
191-
.setListenAddress(listenAddr)
192-
.setExecutorPool(serverExecutorPool)
193-
.setExecutorServicePool(executorServicePool)
194-
.setStreamTracerFactories(streamTracerFactories)
195-
.build();
188+
return new BinderServer.Builder()
189+
.setListenAddress(listenAddr)
190+
.setExecutorPool(serverExecutorPool)
191+
.setExecutorServicePool(executorServicePool)
192+
.setStreamTracerFactories(List.of());
193+
}
196194

195+
void registerServerWithRobolectric(BinderServer server) {
196+
AndroidComponentAddress listenAddr = (AndroidComponentAddress) server.getListenSocketAddress();
197197
shadowOf(application.getPackageManager()).addServiceIfNotPresent(listenAddr.getComponent());
198198
shadowOf(application)
199199
.setComponentNameAndServiceForBindServiceForIntent(
200-
listenAddr.asBindIntent(), listenAddr.getComponent(), binderServer.getHostBinder());
201-
return binderServer;
200+
listenAddr.asBindIntent(), listenAddr.getComponent(), server.getHostBinder());
201+
}
202+
203+
@Override
204+
protected InternalServer newServer(List<ServerStreamTracer.Factory> streamTracerFactories) {
205+
BinderServer server =
206+
newServerBuilder().setStreamTracerFactories(streamTracerFactories).build();
207+
registerServerWithRobolectric(server);
208+
return server;
202209
}
203210

204211
@Override

0 commit comments

Comments
 (0)