@Nullable static LongRunningConfig createLongRunningConfig( Method method, DiagCollector diagCollector, LongRunningConfigProto longRunningConfigProto, ProtoParser protoParser) { LongRunningConfig longRunningConfig = createLongRunningConfigFromProtoFile( method, diagCollector, longRunningConfigProto, protoParser); if (longRunningConfig != null) { return longRunningConfig; } if (!LongRunningConfigProto.getDefaultInstance().equals(longRunningConfigProto)) { return LongRunningConfig.createLongRunningConfigFromGapicConfig( method.getModel(), diagCollector, longRunningConfigProto); } return null; }
@Test public void testCreateLROWithNonLROMethod() { DiagCollector diagCollector = new BoundedDiagCollector(); LongRunningConfig longRunningConfig = LongRunningConfig.createLongRunningConfig( simpleMethod, diagCollector, LongRunningConfigProto.getDefaultInstance(), protoParser); assertThat(diagCollector.getErrorCount()).isEqualTo(0); assertThat(longRunningConfig).isNull(); } }
@Test public void testCreateLROWithoutGapicConfig() { DiagCollector diagCollector = new BoundedDiagCollector(); LongRunningConfig longRunningConfig = LongRunningConfig.createLongRunningConfig( lroAnnotatedMethod, diagCollector, LongRunningConfigProto.getDefaultInstance(), protoParser); assertThat(diagCollector.getErrorCount()).isEqualTo(0); assertThat(longRunningConfig).isNotNull(); ProtoTypeRef metadataTypeModel = (ProtoTypeRef) longRunningConfig.getMetadataType(); assertThat(metadataTypeModel.getProtoType()).isEqualTo(annotationsMetadataType); ProtoTypeRef returnTypeModel = (ProtoTypeRef) longRunningConfig.getReturnType(); assertThat(returnTypeModel.getProtoType()).isEqualTo(annotationsReturnType); assertThat(longRunningConfig.getInitialPollDelay().toMillis()) .isEqualTo(LongRunningConfig.LRO_INITIAL_POLL_DELAY_MILLIS); assertThat(longRunningConfig.getMaxPollDelay().toMillis()) .isEqualTo(LongRunningConfig.LRO_MAX_POLL_DELAY_MILLIS); assertThat(longRunningConfig.getPollDelayMultiplier()) .isEqualTo(LongRunningConfig.LRO_POLL_DELAY_MULTIPLIER); assertThat(longRunningConfig.getTotalPollTimeout().toMillis()) .isEqualTo(LongRunningConfig.LRO_TOTAL_POLL_TIMEOUT_MILLS); assertThat(longRunningConfig.implementsCancel()) .isEqualTo(LongRunningConfig.LRO_IMPLEMENTS_CANCEL); assertThat(longRunningConfig.implementsDelete()) .isEqualTo(LongRunningConfig.LRO_IMPLEMENTS_DELETE); }