@@ -157,6 +157,45 @@ public void testWithPoolSize() throws IOException {
157157 }
158158 }
159159
160+ @ Test
161+ public void testToBuilder () {
162+ Duration keepaliveTime = Duration .ofSeconds (1 );
163+ Duration keepaliveTimeout = Duration .ofSeconds (2 );
164+ ApiFunction <ManagedChannelBuilder , ManagedChannelBuilder > channelConfigurator =
165+ new ApiFunction <ManagedChannelBuilder , ManagedChannelBuilder >() {
166+ @ Override
167+ public ManagedChannelBuilder apply (ManagedChannelBuilder input ) {
168+ throw new UnsupportedOperationException ();
169+ }
170+ };
171+ Map <String , ?> directPathServiceConfig = ImmutableMap .of ("loadbalancingConfig" , "grpclb" );
172+
173+ InstantiatingGrpcChannelProvider provider =
174+ InstantiatingGrpcChannelProvider .newBuilder ()
175+ .setProcessorCount (2 )
176+ .setEndpoint ("fake.endpoint:443" )
177+ .setMaxInboundMessageSize (12345678 )
178+ .setMaxInboundMetadataSize (4096 )
179+ .setKeepAliveTime (keepaliveTime )
180+ .setKeepAliveTimeout (keepaliveTimeout )
181+ .setKeepAliveWithoutCalls (true )
182+ .setChannelConfigurator (channelConfigurator )
183+ .setChannelsPerCpu (2.5 )
184+ .setDirectPathServiceConfig (directPathServiceConfig )
185+ .build ();
186+
187+ InstantiatingGrpcChannelProvider .Builder builder = provider .toBuilder ();
188+
189+ assertThat (builder .getEndpoint ()).isEqualTo ("fake.endpoint:443" );
190+ assertThat (builder .getMaxInboundMessageSize ()).isEqualTo (12345678 );
191+ assertThat (builder .getMaxInboundMetadataSize ()).isEqualTo (4096 );
192+ assertThat (builder .getKeepAliveTime ()).isEqualTo (keepaliveTime );
193+ assertThat (builder .getKeepAliveTimeout ()).isEqualTo (keepaliveTimeout );
194+ assertThat (builder .getChannelConfigurator ()).isEqualTo (channelConfigurator );
195+ assertThat (builder .getPoolSize ()).isEqualTo (5 );
196+ assertThat (builder .build ().directPathServiceConfig ).isEqualTo (directPathServiceConfig );
197+ }
198+
160199 @ Test
161200 public void testWithInterceptors () throws Exception {
162201 testWithInterceptors (1 );
0 commit comments