2929 */
3030package com .google .api .gax .grpc ;
3131
32+ import static org .junit .Assert .assertEquals ;
33+
3234import com .google .api .gax .batching .BatchingSettings ;
3335import com .google .api .gax .core .CredentialsProvider ;
3436import com .google .api .gax .core .FixedCredentialsProvider ;
4042import com .google .api .gax .rpc .BatchingCallSettings ;
4143import com .google .api .gax .rpc .BatchingDescriptor ;
4244import com .google .api .gax .rpc .ClientContext ;
43- import com .google .api .gax .rpc .ClientSettings ;
4445import com .google .api .gax .rpc .FixedWatchdogProvider ;
4546import com .google .api .gax .rpc .NoHeaderProvider ;
4647import com .google .api .gax .rpc .PagedCallSettings ;
5657import com .google .common .collect .Lists ;
5758import com .google .common .truth .Truth ;
5859import java .io .IOException ;
59- import org .apache .commons .lang3 .builder .EqualsBuilder ;
6060import org .junit .Test ;
6161import org .junit .runner .RunWith ;
6262import org .junit .runners .JUnit4 ;
@@ -142,10 +142,6 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
142142 return GoogleCredentialsProvider .newBuilder ().setScopesToApply (DEFAULT_SERVICE_SCOPES );
143143 }
144144
145- public static InstantiatingGrpcChannelProvider .Builder defaultChannelProviderBuilder () {
146- return InstantiatingGrpcChannelProvider .newBuilder ().setEndpoint (DEFAULT_SERVICE_ENDPOINT );
147- }
148-
149145 public static InstantiatingExecutorProvider .Builder defaultExecutorProviderBuilder () {
150146 return InstantiatingExecutorProvider .newBuilder ();
151147 }
@@ -170,10 +166,6 @@ public static Builder newBuilder() {
170166 return Builder .createDefault ();
171167 }
172168
173- public static Builder newBuilder (ClientContext clientContext ) {
174- return new Builder (clientContext );
175- }
176-
177169 public Builder toBuilder () {
178170 return new Builder (this );
179171 }
@@ -237,10 +229,6 @@ private static Builder createDefault() {
237229 return builder ;
238230 }
239231
240- protected Builder (ClientContext clientContext ) {
241- super (clientContext );
242- }
243-
244232 private Builder (FakeStubSettings settings ) {
245233 super (settings );
246234
@@ -268,77 +256,6 @@ public BatchingCallSettings.Builder<Integer, Integer> fakeMethodBatching() {
268256 }
269257 }
270258
271- private static class FakeSettings extends ClientSettings {
272-
273- public UnaryCallSettings <Integer , Integer > fakeMethodSimple () {
274- return ((FakeStubSettings ) getStubSettings ()).fakeMethodSimple ();
275- }
276-
277- public PagedCallSettings <Integer , Integer , FakePagedListResponse > fakePagedMethod () {
278- return ((FakeStubSettings ) getStubSettings ()).fakePagedMethod ();
279- }
280-
281- public BatchingCallSettings <Integer , Integer > fakeMethodBatching () {
282- return ((FakeStubSettings ) getStubSettings ()).fakeMethodBatching ();
283- }
284-
285- public static Builder newBuilder () {
286- return Builder .createDefault ();
287- }
288-
289- public Builder toBuilder () {
290- return new Builder (this );
291- }
292-
293- private FakeSettings (Builder settingsBuilder ) throws IOException {
294- super (settingsBuilder );
295- }
296-
297- private static class Builder extends ClientSettings .Builder {
298-
299- protected Builder () throws IOException {
300- this ((ClientContext ) null );
301- }
302-
303- protected Builder (ClientContext clientContext ) {
304- super (FakeStubSettings .newBuilder (clientContext ));
305- }
306-
307- private static Builder createDefault () {
308- return new Builder (FakeStubSettings .newBuilder ());
309- }
310-
311- protected Builder (FakeSettings settings ) {
312- super (settings .getStubSettings ().toBuilder ());
313- }
314-
315- protected Builder (FakeStubSettings .Builder stubSettings ) {
316- super (stubSettings );
317- }
318-
319- public FakeStubSettings .Builder getStubSettingsBuilder () {
320- return ((FakeStubSettings .Builder ) getStubSettings ());
321- }
322-
323- public UnaryCallSettings .Builder <Integer , Integer > fakeMethodSimple () {
324- return getStubSettingsBuilder ().fakeMethodSimple ();
325- }
326-
327- public PagedCallSettings .Builder <Integer , Integer , FakePagedListResponse > fakePagedMethod () {
328- return getStubSettingsBuilder ().fakePagedMethod ();
329- }
330-
331- public BatchingCallSettings .Builder <Integer , Integer > fakeMethodBatching () {
332- return getStubSettingsBuilder ().fakeMethodBatching ();
333- }
334-
335- @ Override
336- public FakeSettings build () throws IOException {
337- return new FakeSettings (this );
338- }
339- }
340- }
341-
342259 // RetrySettings
343260 // ====
344261
@@ -431,42 +348,12 @@ public void channelCustomCredentialScopes() throws IOException {
431348
432349 @ Test
433350 public void callSettingsToBuilder () throws IOException {
434- FakeSettings .Builder builderA = FakeSettings .Builder .createDefault ();
435- FakeSettings settingsA = builderA .build ();
436- FakeSettings .Builder builderB = settingsA .toBuilder ();
437- FakeSettings settingsB = builderB .build ();
438-
439- assertIsReflectionEqual (builderA , builderB );
440- assertIsReflectionEqual (settingsA , settingsB );
441- }
442-
443- @ Test
444- public void callSettingsTimeoutNoRetries () throws IOException {
445- Duration timeout = Duration .ofMillis (60000 );
446-
447- FakeSettings .Builder builderA = FakeSettings .Builder .createDefault ();
448- builderA .fakeMethodSimple ().setSimpleTimeoutNoRetries (timeout );
449- FakeSettings settingsA = builderA .build ();
450-
451- FakeSettings .Builder builderB = FakeSettings .Builder .createDefault ();
452- builderB
453- .fakeMethodSimple ()
454- .setRetryableCodes ()
455- .setRetrySettings (
456- RetrySettings .newBuilder ()
457- .setTotalTimeout (timeout )
458- .setInitialRetryDelay (Duration .ZERO )
459- .setRetryDelayMultiplier (1 )
460- .setMaxRetryDelay (Duration .ZERO )
461- .setInitialRpcTimeout (timeout )
462- .setRpcTimeoutMultiplier (1 )
463- .setMaxRpcTimeout (timeout )
464- .setMaxAttempts (1 )
465- .build ());
466- FakeSettings settingsB = builderB .build ();
351+ UnaryCallSettings .Builder builderA = UnaryCallSettings .newUnaryCallSettingsBuilder ();
352+ UnaryCallSettings settingsA = builderA .build ();
353+ UnaryCallSettings .Builder builderB = settingsA .toBuilder ();
354+ UnaryCallSettings settingsB = builderB .build ();
467355
468- assertIsReflectionEqual (builderA , builderB );
469- assertIsReflectionEqual (settingsA , settingsB );
356+ assertEquals (settingsA , settingsB );
470357 }
471358
472359 @ Test
@@ -502,174 +389,6 @@ public void callSettingsBuildFromTimeoutNoRetries() throws IOException {
502389 .build ());
503390 UnaryCallSettings <Integer , Integer > settingsB = builderB .build ();
504391
505- assertIsReflectionEqual ("UnaryCallSettings.Builder" , builderA , builderB );
506- assertIsReflectionEqual ("UnaryCallSettings" , settingsA , settingsB );
507- }
508-
509- // Reflection Helper Methods
510- // ====
511-
512- /*
513- * The pattern for the assertIsReflectionEqual methods below is to exclude fields that would
514- * cause the reflectionEquals check to fail, then explicitly recurse on those fields with another
515- * call to assertIsReflectionEqual.
516- */
517-
518- private static void assertIsReflectionEqual (
519- String path , Object objA , Object objB , String [] excludes ) {
520- Truth .assertWithMessage (path + " should be equal" )
521- .that (EqualsBuilder .reflectionEquals (objA , objB , excludes ))
522- .isTrue ();
523- }
524-
525- private static void assertIsReflectionEqual (String path , Object objA , Object objB ) {
526- assertIsReflectionEqual (path , objA , objB , null );
527- }
528-
529- private static void assertIsReflectionEqual (FakeSettings settingsA , FakeSettings settingsB ) {
530- assertIsReflectionEqual (
531- "FakeSettings" ,
532- settingsA ,
533- settingsB ,
534- new String [] {"fakeMethodSimple" , "fakePagedMethod" , "fakeMethodBatching" , "stubSettings" });
535- assertIsReflectionEqual (
536- "FakeSettings.fakeMethodSimple" ,
537- settingsA .fakeMethodSimple (),
538- settingsB .fakeMethodSimple ());
539- assertIsReflectionEqual (
540- "FakeSettings.fakePagedMethod" , settingsA .fakePagedMethod (), settingsB .fakePagedMethod ());
541- assertIsReflectionEqual (
542- "FakeSettings.fakeMethodBatching" ,
543- settingsA .fakeMethodBatching (),
544- settingsB .fakeMethodBatching ());
545- assertIsReflectionEqual (
546- "FakeSettings.getStubSettings" ,
547- settingsA .getStubSettings (),
548- settingsB .getStubSettings (),
549- new String [] {
550- "fakeMethodSimple" ,
551- "fakePagedMethod" ,
552- "fakeMethodBatching" ,
553- "executorProvider" ,
554- "credentialsProvider" ,
555- "headerProvider" ,
556- "internalHeaderProvider" ,
557- "transportChannelProvider" ,
558- "streamWatchdogProvider"
559- });
560- assertIsReflectionEqual (
561- "FakeSettings.getExecutorProvider" ,
562- settingsA .getExecutorProvider (),
563- settingsB .getExecutorProvider ());
564- assertIsReflectionEqual (
565- "FakeSettings.getCredentialsProvider" ,
566- settingsA .getCredentialsProvider (),
567- settingsB .getCredentialsProvider ());
568- assertIsReflectionEqual (
569- "FakeSettings.getTransportChannelProvider" ,
570- settingsA .getTransportChannelProvider (),
571- settingsB .getTransportChannelProvider ());
572- assertIsReflectionEqual (
573- "FakeSettings.getHeaderProvider" ,
574- settingsA .getHeaderProvider (),
575- settingsB .getHeaderProvider ());
576- assertIsReflectionEqual (
577- "FakeSettings.getStubSettings.getExecutorProvider" ,
578- settingsA .getStubSettings ().getExecutorProvider (),
579- settingsB .getStubSettings ().getExecutorProvider ());
580- assertIsReflectionEqual (
581- "FakeSettings.getStubSettings.getCredentialsProvider" ,
582- settingsA .getStubSettings ().getCredentialsProvider (),
583- settingsB .getStubSettings ().getCredentialsProvider ());
584- assertIsReflectionEqual (
585- "FakeSettings.getStubSettings.getTransportChannelProvider" ,
586- settingsA .getStubSettings ().getTransportChannelProvider (),
587- settingsB .getStubSettings ().getTransportChannelProvider ());
588- assertIsReflectionEqual (
589- "FakeSettings.getStubSettings.getHeaderProvider" ,
590- settingsA .getStubSettings ().getHeaderProvider (),
591- settingsB .getStubSettings ().getHeaderProvider ());
592- }
593-
594- private static void assertIsReflectionEqual (
595- FakeSettings .Builder builderA , FakeSettings .Builder builderB ) {
596- assertIsReflectionEqual (
597- "FakeSettings.Builder" ,
598- builderA ,
599- builderB ,
600- new String [] {"fakeMethodSimple" , "fakePagedMethod" , "fakeMethodBatching" , "stubSettings" });
601- assertIsReflectionEqual (
602- "FakeSettings.Builder.fakeMethodSimple" ,
603- builderA .fakeMethodSimple (),
604- builderB .fakeMethodSimple ());
605- assertIsReflectionEqual (
606- "FakeSettings.Builder.fakePagedMethod" ,
607- builderA .fakePagedMethod (),
608- builderB .fakePagedMethod ());
609- assertIsReflectionEqual (
610- "FakeSettings.Builder.fakeMethodBatching" ,
611- builderA .fakeMethodBatching (),
612- builderB .fakeMethodBatching ());
613- assertIsReflectionEqual (
614- "FakeSettings.Builder.getExecutorProvider" ,
615- builderA .getExecutorProvider (),
616- builderB .getExecutorProvider ());
617- assertIsReflectionEqual (
618- "FakeSettings.Builder.getCredentialsProvider" ,
619- builderA .getCredentialsProvider (),
620- builderB .getCredentialsProvider ());
621- assertIsReflectionEqual (
622- "FakeSettings.Builder.getTransportChannelProvider" ,
623- builderA .getTransportChannelProvider (),
624- builderB .getTransportChannelProvider ());
625- }
626-
627- private static void assertIsReflectionEqual (
628- String path ,
629- UnaryCallSettings .Builder <?, ?> builderA ,
630- UnaryCallSettings .Builder <?, ?> builderB ) {
631- assertIsReflectionEqual (path , builderA , builderB , new String [] {"retrySettingsBuilder" });
632- assertIsReflectionEqual (
633- path + ".retrySettingsBuilder" , builderA .getRetrySettings (), builderB .getRetrySettings ());
634- }
635-
636- private static <RequestT , ResponseT > void assertIsReflectionEqual (
637- String path ,
638- BatchingCallSettings <RequestT , ResponseT > settingsA ,
639- BatchingCallSettings <RequestT , ResponseT > settingsB ) {
640- assertIsReflectionEqual (
641- path ,
642- settingsA ,
643- settingsB ,
644- new String [] {"retrySettings" , "batchingDescriptor" , "batchingSettings" , "flowController" });
645-
646- assertIsReflectionEqual (
647- path + ".getRetrySettings" , settingsA .getRetrySettings (), settingsA .getRetrySettings ());
648- assertIsReflectionEqual (
649- path + ".getBatchingSettings" ,
650- settingsB .getBatchingSettings (),
651- settingsB .getBatchingSettings ());
652- // TODO compare other batching things (batchingDescriptor, flowController)
653- }
654-
655- private static <RequestT , ResponseT > void assertIsReflectionEqual (
656- String path ,
657- BatchingCallSettings .Builder <RequestT , ResponseT > builderA ,
658- BatchingCallSettings .Builder <RequestT , ResponseT > builderB ) {
659- assertIsReflectionEqual (
660- path ,
661- builderA ,
662- builderB ,
663- new String [] {
664- "retrySettingsBuilder" , "batchingDescriptor" , "batchingSettings" , "flowController"
665- });
666-
667- assertIsReflectionEqual (
668- path + ".retrySettingsBuilder" , builderA .getRetrySettings (), builderB .getRetrySettings ());
669- assertIsReflectionEqual (
670- path + ".getBatchingSettings" ,
671- builderA .getBatchingSettings (),
672- builderB .getBatchingSettings ());
673- // TODO compare other batching things (batchingDescriptor, flowController)
392+ assertEquals ("UnaryCallSettings" , settingsA , settingsB );
674393 }
675394}
0 commit comments