diff --git a/scripts/diff_gen_and_golden.sh b/scripts/diff_gen_and_golden.sh index 0fba834bbe..19f9389320 100755 --- a/scripts/diff_gen_and_golden.sh +++ b/scripts/diff_gen_and_golden.sh @@ -23,5 +23,5 @@ find src -type f -name 'PlaceholderFile.java' -delete find src -type d -empty -delete # This will not print diff_output to the console unless `--test_output=all` option # is enabled, it only emits the comparison results to the test.log. -diff -ru src test/integration/goldens/${API_NAME}/src -diff -ru samples test/integration/goldens/${API_NAME}/samples \ No newline at end of file +diff -ru test/integration/goldens/${API_NAME}/src src +diff -ru test/integration/goldens/${API_NAME}/samples samples \ No newline at end of file diff --git a/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceClientTestClassComposer.java b/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceClientTestClassComposer.java index a02ac5cd1f..11786d29ab 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceClientTestClassComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceClientTestClassComposer.java @@ -130,6 +130,10 @@ protected GapicClass generate(String className, GapicContext context, Service se return GapicClass.create(kind, classDef); } + protected boolean isSupportedMethod(Method method) { + return true; + } + private List createClassAnnotations() { return Arrays.asList( AnnotationNode.builder() @@ -225,6 +229,9 @@ private List createTestMethods( Map messageTypes = context.messages(); List javaMethods = new ArrayList<>(); for (Method method : service.methods()) { + if (!isSupportedMethod(method)) { + continue; + } Service matchingService = service; if (method.isMixin()) { int dotIndex = method.mixedInApiName().lastIndexOf("."); @@ -388,7 +395,8 @@ private MethodDefinition createRpcTestMethod( DefaultValueComposer.createSimpleMessageBuilderValue( messageTypes.get(methodOutputType.reference().fullName()), resourceNames, - messageTypes); + messageTypes, + method.httpBindings()); } else { // Wrap this in a field so we don't have to split the helper into lots of different methods, // or duplicate it for VariableExpr. @@ -461,9 +469,14 @@ private MethodDefinition createRpcTestMethod( if (getTransportContext().useValuePatterns() && method.hasHttpBindings()) { pathParamValuePatterns = method.httpBindings().getPathParametersValuePatterns(); } + Expr valExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes, pathParamValuePatterns); + requestMessage, + resourceNames, + messageTypes, + pathParamValuePatterns, + method.httpBindings()); methodExprs.add( AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) @@ -482,7 +495,7 @@ private MethodDefinition createRpcTestMethod( argExprs.add(varExpr); Expr valExpr = DefaultValueComposer.createMethodArgValue( - methodArg, resourceNames, messageTypes, valuePatterns); + methodArg, resourceNames, messageTypes, valuePatterns, method.httpBindings()); methodExprs.add( AssignmentExpr.builder() .setVariableExpr(varExpr.toBuilder().setIsDecl(true).build()) @@ -770,7 +783,7 @@ protected List createRpcExceptionTestStatements( } Expr valExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes, valuePatterns); + requestMessage, resourceNames, messageTypes, valuePatterns, method.httpBindings()); tryBodyExprs.add( AssignmentExpr.builder() .setVariableExpr(varExpr.toBuilder().setIsDecl(true).build()) @@ -789,7 +802,7 @@ protected List createRpcExceptionTestStatements( argVarExprs.add(varExpr); Expr valExpr = DefaultValueComposer.createMethodArgValue( - methodArg, resourceNames, messageTypes, valuePatterns); + methodArg, resourceNames, messageTypes, valuePatterns, method.httpBindings()); tryBodyExprs.add( AssignmentExpr.builder() .setVariableExpr(varExpr.toBuilder().setIsDecl(true).build()) diff --git a/src/main/java/com/google/api/generator/gapic/composer/common/AbstractTransportServiceStubClassComposer.java b/src/main/java/com/google/api/generator/gapic/composer/common/AbstractTransportServiceStubClassComposer.java index e9d5d6c7c6..b2dc6969ce 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/common/AbstractTransportServiceStubClassComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/common/AbstractTransportServiceStubClassComposer.java @@ -217,6 +217,10 @@ public GapicClass generate(GapicContext context, Service service) { return GapicClass.create(kind, classDef); } + protected boolean isSupportedMethod(Method method) { + return true; + } + protected abstract Statement createMethodDescriptorVariableDecl( Service service, Method protoMethod, @@ -299,6 +303,7 @@ protected List createMethodDescriptorVariableDecls( Map protoMethodNameToDescriptorVarExprs, Map messageTypes) { return service.methods().stream() + .filter(this::isSupportedMethod) .map( m -> createMethodDescriptorVariableDecl( @@ -323,6 +328,7 @@ private static List createClassMemberFieldDeclarations( protected Map createProtoMethodNameToDescriptorClassMembers( Service service, Class descriptorClass) { return service.methods().stream() + .filter(this::isSupportedMethod) .collect( Collectors.toMap( Method::name, @@ -354,6 +360,9 @@ private Map createCallableClassMembers( Map callableClassMembers = new LinkedHashMap<>(); // Using a for-loop because the output cardinality is not a 1:1 mapping to the input set. for (Method protoMethod : service.methods()) { + if (!isSupportedMethod(protoMethod)) { + continue; + } String javaStyleProtoMethodName = JavaStyle.toLowerCamelCase(protoMethod.name()); String callableName = String.format(CALLABLE_CLASS_MEMBER_PATTERN, javaStyleProtoMethodName); callableClassMembers.put( @@ -643,6 +652,7 @@ protected List createConstructorMethods( // Transport settings local variables. Map javaStyleMethodNameToTransportSettingsVarExprs = service.methods().stream() + .filter(this::isSupportedMethod) .collect( Collectors.toMap( m -> JavaStyle.toLowerCamelCase(m.name()), @@ -666,6 +676,7 @@ protected List createConstructorMethods( secondCtorExprs.addAll( service.methods().stream() + .filter(this::isSupportedMethod) .map( m -> createTransportSettingsInitExpr( @@ -1035,7 +1046,9 @@ private List createStubOverrideMethods( } private boolean checkOperationPollingMethod(Service service) { - return service.methods().stream().anyMatch(Method::isOperationPollingMethod); + return service.methods().stream() + .filter(this::isSupportedMethod) + .anyMatch(Method::isOperationPollingMethod); } protected List createLongRunningClientGetters() { @@ -1073,6 +1086,7 @@ private TypeStore createDynamicTypes(Service service, String stubPakkage) { typeStore.putAll( service.pakkage(), service.methods().stream() + .filter(this::isSupportedMethod) .filter(Method::isPaged) .map(m -> String.format(PAGED_RESPONSE_TYPE_NAME_PATTERN, m.name())) .collect(Collectors.toList()), diff --git a/src/main/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposer.java b/src/main/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposer.java index 1fb9191346..bf1c26dae4 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposer.java @@ -32,6 +32,7 @@ import com.google.api.generator.engine.ast.VariableExpr; import com.google.api.generator.gapic.composer.resourcename.ResourceNameTokenizer; import com.google.api.generator.gapic.model.Field; +import com.google.api.generator.gapic.model.HttpBindings; import com.google.api.generator.gapic.model.Message; import com.google.api.generator.gapic.model.MethodArgument; import com.google.api.generator.gapic.model.ResourceName; @@ -65,7 +66,8 @@ public static Expr createMethodArgValue( MethodArgument methodArg, Map resourceNames, Map messageTypes, - Map valuePatterns) { + Map valuePatterns, + HttpBindings bindings) { if (methodArg.isResourceNameHelper()) { Preconditions.checkState( methodArg.field().hasResourceReference(), @@ -84,7 +86,8 @@ public static Expr createMethodArgValue( resourceName, methodArg.field().resourceReference().isChildType(), resourceNames.values().stream().collect(Collectors.toList()), - methodArg.field().name()); + methodArg.field().name(), + bindings); if (!methodArg.isResourceNameHelper() && methodArg.field().hasResourceReference()) { defValue = @@ -156,7 +159,7 @@ public static Expr createValue( Message nestedMessage = messageTypes.get(field.type().reference().fullName()); if (nestedMessage != null) { return createSimpleMessageBuilderValue( - nestedMessage, resourceNames, messageTypes, nestedValuePatterns); + nestedMessage, resourceNames, messageTypes, nestedValuePatterns, null); } } @@ -209,8 +212,10 @@ public static Expr createResourceHelperValue( ResourceName resourceName, boolean isChildType, List resnames, - String fieldOrMessageName) { - return createResourceHelperValue(resourceName, isChildType, resnames, fieldOrMessageName, true); + String fieldOrMessageName, + HttpBindings bindings) { + return createResourceHelperValue( + resourceName, isChildType, resnames, fieldOrMessageName, true, bindings); } private static Optional findParentResource( @@ -239,7 +244,8 @@ static Expr createResourceHelperValue( boolean isChildType, List resnames, String fieldOrMessageName, - boolean allowAnonResourceNameClass) { + boolean allowAnonResourceNameClass, + HttpBindings bindings) { if (isChildType) { resourceName = findParentResource(resourceName, resnames).orElse(resourceName); @@ -249,13 +255,15 @@ static Expr createResourceHelperValue( List unexaminedResnames = new ArrayList<>(resnames); for (ResourceName resname : resnames) { unexaminedResnames.remove(resname); - if (!resname.isOnlyWildcard()) { - return createResourceHelperValue(resname, false, unexaminedResnames, fieldOrMessageName); + if (!resname.isOnlyWildcard() + && (bindings == null || resname.getMatchingPattern(bindings) != null)) { + return createResourceHelperValue( + resname, false, unexaminedResnames, fieldOrMessageName, null); } } return allowAnonResourceNameClass - ? createAnonymousResourceNameClassValue(fieldOrMessageName) + ? createAnonymousResourceNameClassValue(fieldOrMessageName, bindings) : ValueExpr.withValue( StringObjectValue.withValue( String.format("%s%s", fieldOrMessageName, fieldOrMessageName.hashCode()))); @@ -272,15 +280,22 @@ static Expr createResourceHelperValue( if (containsOnlyDeletedTopic) { ofMethodName = "ofDeletedTopic"; } else { - for (String pattern : resourceName.patterns()) { - if (pattern.equals(ResourceNameConstants.WILDCARD_PATTERN) - || pattern.equals(ResourceNameConstants.DELETED_TOPIC_LITERAL)) { - continue; + String matchingPattern = null; + if (bindings != null) { + matchingPattern = resourceName.getMatchingPattern(bindings); + } + if (matchingPattern == null) { + for (String pattern : resourceName.patterns()) { + if (pattern.equals(ResourceNameConstants.WILDCARD_PATTERN) + || pattern.equals(ResourceNameConstants.DELETED_TOPIC_LITERAL)) { + continue; + } + matchingPattern = pattern; + break; } - patternPlaceholderTokens.addAll( - ResourceNameTokenizer.parseTokenHierarchy(Arrays.asList(pattern)).get(0)); - break; } + patternPlaceholderTokens.addAll( + ResourceNameTokenizer.parseTokenHierarchy(Arrays.asList(matchingPattern)).get(0)); } boolean hasOnePattern = resourceName.patterns().size() == 1; @@ -312,16 +327,20 @@ static Expr createResourceHelperValue( } public static Expr createSimpleMessageBuilderValue( - Message message, Map resourceNames, Map messageTypes) { + Message message, + Map resourceNames, + Map messageTypes, + HttpBindings bindings) { return createSimpleMessageBuilderValue( - message, resourceNames, messageTypes, Collections.emptyMap()); + message, resourceNames, messageTypes, Collections.emptyMap(), bindings); } public static Expr createSimpleMessageBuilderValue( Message message, Map resourceNames, Map messageTypes, - Map valuePatterns) { + Map valuePatterns, + HttpBindings bindings) { MethodInvocationExpr builderExpr = MethodInvocationExpr.builder() .setStaticReferenceType(message.type()) @@ -350,7 +369,8 @@ public static Expr createSimpleMessageBuilderValue( field.resourceReference().isChildType(), resourceNames.values().stream().collect(Collectors.toList()), message.name(), - /* allowAnonResourceNameClass = */ false); + /* allowAnonResourceNameClass = */ false, + bindings); defaultExpr = MethodInvocationExpr.builder() .setExprReferenceExpr(defaultExpr) @@ -507,7 +527,8 @@ public static Expr createSimplePagedResponseValue( } @VisibleForTesting - static AnonymousClassExpr createAnonymousResourceNameClassValue(String fieldOrMessageName) { + static AnonymousClassExpr createAnonymousResourceNameClassValue( + String fieldOrMessageName, HttpBindings matchedBindings) { TypeNode stringMapType = TypeNode.withReference( ConcreteReference.builder() @@ -525,12 +546,18 @@ static AnonymousClassExpr createAnonymousResourceNameClassValue(String fieldOrMe // fieldValuesMap.put("resource", "resource-12345"); // return fieldValuesMap; // } + + String toStringValue = String.format("%s%s", fieldOrMessageName, fieldOrMessageName.hashCode()); + if (matchedBindings != null) { + Map valuePatterns = matchedBindings.getPathParametersValuePatterns(); + toStringValue = + constructValueMatchingPattern(fieldOrMessageName, valuePatterns.get(fieldOrMessageName)); + } + VariableExpr fieldValuesMapVarExpr = VariableExpr.withVariable( Variable.builder().setType(stringMapType).setName("fieldValuesMap").build()); - StringObjectValue fieldOrMessageStringValue = - StringObjectValue.withValue( - String.format("%s%s", fieldOrMessageName, fieldOrMessageName.hashCode())); + StringObjectValue fieldOrMessageStringValue = StringObjectValue.withValue(toStringValue); List bodyExprs = Arrays.asList( @@ -586,15 +613,24 @@ static AnonymousClassExpr createAnonymousResourceNameClassValue(String fieldOrMe .build()) .build(); + MethodDefinition toStringMethod = + MethodDefinition.builder() + .setIsOverride(true) + .setScope(ScopeNode.PUBLIC) + .setReturnType(TypeNode.STRING) + .setName("toString") + .setReturnExpr(ValueExpr.withValue(StringObjectValue.withValue(toStringValue))) + .build(); + return AnonymousClassExpr.builder() .setType( TypeNode.withReference( ConcreteReference.withClazz(com.google.api.resourcenames.ResourceName.class))) - .setMethods(Arrays.asList(getFieldValuesMapMethod, getFieldValueMethod)) + .setMethods(Arrays.asList(getFieldValuesMapMethod, getFieldValueMethod, toStringMethod)) .build(); } - private static String constructValueMatchingPattern(String fieldName, String pattern) { + public static String constructValueMatchingPattern(String fieldName, String pattern) { if (pattern == null || pattern.isEmpty()) { return fieldName + fieldName.hashCode(); } diff --git a/src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceClientTestClassComposer.java b/src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceClientTestClassComposer.java index f2e6f6ad2a..36f45326af 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceClientTestClassComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceClientTestClassComposer.java @@ -551,7 +551,8 @@ protected MethodDefinition createStreamingRpcTestMethod( DefaultValueComposer.createSimpleMessageBuilderValue( messageTypes.get(methodOutputType.reference().fullName()), resourceNames, - messageTypes); + messageTypes, + method.httpBindings()); } else { // Wrap this in a field so we don't have to split the helper into lots of different methods, // or duplicate it for VariableExpr. @@ -608,7 +609,7 @@ protected MethodDefinition createStreamingRpcTestMethod( Preconditions.checkNotNull(requestMessage); Expr valExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); methodExprs.add( AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) @@ -881,7 +882,7 @@ protected List createStreamingRpcExceptionTestStatements( Preconditions.checkNotNull(requestMessage); Expr valExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); List statements = new ArrayList<>(); statements.add( diff --git a/src/main/java/com/google/api/generator/gapic/composer/grpcrest/HttpJsonServiceClientTestClassComposer.java b/src/main/java/com/google/api/generator/gapic/composer/grpcrest/HttpJsonServiceClientTestClassComposer.java index 9f9bbafc05..00f76eb75e 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/grpcrest/HttpJsonServiceClientTestClassComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/grpcrest/HttpJsonServiceClientTestClassComposer.java @@ -21,6 +21,8 @@ import com.google.api.generator.gapic.composer.store.TypeStore; import com.google.api.generator.gapic.model.GapicClass; import com.google.api.generator.gapic.model.GapicContext; +import com.google.api.generator.gapic.model.Method; +import com.google.api.generator.gapic.model.Method.Stream; import com.google.api.generator.gapic.model.Service; import java.util.Map; @@ -44,6 +46,12 @@ protected GapicClass generate(String className, GapicContext context, Service se service); } + protected boolean isSupportedMethod(Method method) { + return method.httpBindings() != null + && method.stream() != Stream.BIDI + && method.stream() != Stream.CLIENT; + } + @Override protected MethodDefinition createStartStaticServerMethod( Service service, diff --git a/src/main/java/com/google/api/generator/gapic/composer/rest/HttpJsonServiceStubClassComposer.java b/src/main/java/com/google/api/generator/gapic/composer/rest/HttpJsonServiceStubClassComposer.java index 839b4d27b0..7a4708d53f 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/rest/HttpJsonServiceStubClassComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/rest/HttpJsonServiceStubClassComposer.java @@ -56,6 +56,7 @@ import com.google.api.generator.gapic.model.HttpBindings.HttpBinding; import com.google.api.generator.gapic.model.Message; import com.google.api.generator.gapic.model.Method; +import com.google.api.generator.gapic.model.Method.Stream; import com.google.api.generator.gapic.model.OperationResponse; import com.google.api.generator.gapic.model.Service; import com.google.api.generator.gapic.utils.JavaStyle; @@ -113,6 +114,12 @@ private static TypeStore createStaticTypes() { TypeRegistry.class)); } + protected boolean isSupportedMethod(Method method) { + return method.httpBindings() != null + && method.stream() != Stream.BIDI + && method.stream() != Stream.CLIENT; + } + @Override protected boolean generateOperationsStubLogic(Service service) { return service.hasLroMethods(); diff --git a/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientCallableMethodSampleComposer.java b/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientCallableMethodSampleComposer.java index 2f41633be3..38a64ef233 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientCallableMethodSampleComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientCallableMethodSampleComposer.java @@ -308,7 +308,7 @@ public static Sample composeLroCallableMethod( "Could not find the message type %s.", method.inputType().reference().fullName())); Expr requestBuilderExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); AssignmentExpr requestAssignmentExpr = AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) @@ -429,7 +429,7 @@ public static Sample composePagedCallableMethod( "Could not find the message type %s.", method.inputType().reference().fullName())); Expr requestBuilderExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); AssignmentExpr requestAssignmentExpr = AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) @@ -558,7 +558,7 @@ public static Sample composeRegularCallableMethod( "Could not find the message type %s.", method.inputType().reference().fullName())); Expr requestBuilderExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); AssignmentExpr requestAssignmentExpr = AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) @@ -615,7 +615,7 @@ public static Sample composeStreamCallableMethod( "Could not find the message type %s.", method.inputType().reference().fullName())); Expr requestBuilderExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); AssignmentExpr requestAssignmentExpr = AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) diff --git a/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java b/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java index 7dea0cca50..6c3389b865 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java @@ -27,6 +27,7 @@ import com.google.api.generator.engine.ast.Variable; import com.google.api.generator.engine.ast.VariableExpr; import com.google.api.generator.gapic.composer.defaultvalue.DefaultValueComposer; +import com.google.api.generator.gapic.model.HttpBindings; import com.google.api.generator.gapic.model.Message; import com.google.api.generator.gapic.model.Method; import com.google.api.generator.gapic.model.MethodArgument; @@ -91,7 +92,7 @@ public static Sample composeShowcaseMethodSample( // Assign method's arguments variable with the default values. List rpcMethodArgVarExprs = createArgumentVariableExprs(arguments); List rpcMethodArgDefaultValueExprs = - createArgumentDefaultValueExprs(arguments, resourceNames); + createArgumentDefaultValueExprs(arguments, resourceNames, method.httpBindings()); List rpcMethodArgAssignmentExprs = createAssignmentsForVarExprsWithValueExprs( rpcMethodArgVarExprs, rpcMethodArgDefaultValueExprs); @@ -367,7 +368,9 @@ private static List createArgumentVariableExprs(List createArgumentDefaultValueExprs( - List arguments, Map resourceNames) { + List arguments, + Map resourceNames, + HttpBindings bindings) { List resourceNameList = resourceNames.values().stream().collect(Collectors.toList()); Function stringResourceNameDefaultValueExpr = @@ -378,7 +381,8 @@ private static List createArgumentDefaultValueExprs( resourceNames.get(arg.field().resourceReference().resourceTypeString()), arg.field().resourceReference().isChildType(), resourceNameList, - arg.field().name())) + arg.field().name(), + null)) .setMethodName("toString") .setReturnType(TypeNode.STRING) .build(); @@ -387,7 +391,11 @@ private static List createArgumentDefaultValueExprs( arg -> !SampleComposerUtil.isStringTypedResourceName(arg, resourceNames) ? DefaultValueComposer.createMethodArgValue( - arg, resourceNames, Collections.emptyMap(), Collections.emptyMap()) + arg, + resourceNames, + Collections.emptyMap(), + Collections.emptyMap(), + bindings) : stringResourceNameDefaultValueExpr.apply(arg)) .collect(Collectors.toList()); } diff --git a/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientMethodSampleComposer.java b/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientMethodSampleComposer.java index 9fa91574f6..f93383c729 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientMethodSampleComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientMethodSampleComposer.java @@ -96,7 +96,7 @@ public static Sample composeCanonicalSample( "Could not find the message type %s.", method.inputType().reference().fullName())); Expr requestBuilderExpr = DefaultValueComposer.createSimpleMessageBuilderValue( - requestMessage, resourceNames, messageTypes); + requestMessage, resourceNames, messageTypes, method.httpBindings()); AssignmentExpr requestAssignmentExpr = AssignmentExpr.builder() .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) diff --git a/src/main/java/com/google/api/generator/gapic/model/HttpBindings.java b/src/main/java/com/google/api/generator/gapic/model/HttpBindings.java index 61eea88504..e6ecea5c94 100644 --- a/src/main/java/com/google/api/generator/gapic/model/HttpBindings.java +++ b/src/main/java/com/google/api/generator/gapic/model/HttpBindings.java @@ -17,7 +17,7 @@ import com.google.api.generator.gapic.utils.JavaStyle; import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableSet; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -108,7 +108,7 @@ private static String lowerCamelPattern(String originalPattern, Set } public Map getPathParametersValuePatterns() { - Map valuePatterns = new HashMap<>(); + Map valuePatterns = new LinkedHashMap<>(); for (HttpBinding pathParameter : pathParameters()) { valuePatterns.put(pathParameter.lowerCamelName(), pathParameter.valuePattern()); } diff --git a/src/main/java/com/google/api/generator/gapic/model/ResourceName.java b/src/main/java/com/google/api/generator/gapic/model/ResourceName.java index effb867746..9a01bf6dba 100644 --- a/src/main/java/com/google/api/generator/gapic/model/ResourceName.java +++ b/src/main/java/com/google/api/generator/gapic/model/ResourceName.java @@ -20,8 +20,10 @@ import com.google.api.generator.engine.ast.VaporReference; import com.google.api.generator.gapic.utils.JavaStyle; import com.google.api.generator.gapic.utils.ResourceNameConstants; +import com.google.api.pathtemplate.PathTemplate; import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Objects; import javax.annotation.Nullable; @@ -55,6 +57,38 @@ public abstract class ResourceName { public abstract boolean isOnlyWildcard(); + @Nullable + public String getMatchingPattern(HttpBindings bindings) { + List bindingPatterns = + ImmutableList.builder() + .add(bindings.pattern()) + .addAll(bindings.additionalPatterns()) + .build(); + + for (String bindingPattern : bindingPatterns) { + PathTemplate bindingTemplate = PathTemplate.create(bindingPattern); + for (String resNamePattern : patterns()) { + PathTemplate restNamePatternTemplate = PathTemplate.create(resNamePattern); + ImmutableMap.Builder mb = ImmutableMap.builder(); + for (String var : restNamePatternTemplate.vars()) { + mb.put(var, var + (var.hashCode() % 100)); + } + + String resNameValue = restNamePatternTemplate.instantiate(mb.build()); + mb = ImmutableMap.builder(); + for (String var : bindingTemplate.vars()) { + mb.put(var, resNameValue); + } + + String url = bindingTemplate.instantiate(mb.build()); + if (bindingTemplate.matches(url)) { + return resNamePattern; + } + } + } + return null; + } + // The message in which this resource was defined. Optional. // This is expected to be empty for file-level definitions. @Nullable diff --git a/src/test/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposerTest.java index 1cdd6cd08d..9f84b34ad0 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposerTest.java +++ b/src/test/java/com/google/api/generator/gapic/composer/defaultvalue/DefaultValueComposerTest.java @@ -21,6 +21,8 @@ import com.google.api.generator.engine.ast.TypeNode; import com.google.api.generator.engine.writer.JavaWriterVisitor; import com.google.api.generator.gapic.model.Field; +import com.google.api.generator.gapic.model.HttpBindings; +import com.google.api.generator.gapic.model.HttpBindings.HttpVerb; import com.google.api.generator.gapic.model.Message; import com.google.api.generator.gapic.model.ResourceName; import com.google.api.generator.gapic.protoparser.Parser; @@ -29,6 +31,7 @@ import com.google.protobuf.Descriptors.FileDescriptor; import com.google.showcase.v1beta1.EchoOuterClass; import com.google.testgapic.v1beta1.LockerProto; +import java.util.Arrays; import java.util.Collections; import java.util.Map; import java.util.stream.Collectors; @@ -163,7 +166,8 @@ public void defaultValue_resourceNameWithOnePattern() { resourceName, false, typeStringsToResourceNames.values().stream().collect(Collectors.toList()), - "ignored"); + "ignored", + null); expr.accept(writerVisitor); assertEquals("BillingAccountName.of(\"[BILLING_ACCOUNT]\")", writerVisitor.write()); } @@ -180,7 +184,8 @@ public void defaultValue_resourceNameWithMultiplePatterns() { resourceName, false, typeStringsToResourceNames.values().stream().collect(Collectors.toList()), - "ignored"); + "ignored", + null); expr.accept(writerVisitor); assertEquals( "FolderName.ofProjectFolderName(\"[PROJECT]\", \"[FOLDER]\")", writerVisitor.write()); @@ -198,7 +203,8 @@ public void defaultValue_resourceNameWithWildcardPattern() { resourceName, false, typeStringsToResourceNames.values().stream().collect(Collectors.toList()), - "ignored"); + "ignored", + null); expr.accept(writerVisitor); assertEquals("DocumentName.ofDocumentName(\"[DOCUMENT]\")", writerVisitor.write()); } @@ -221,7 +227,8 @@ public void defaultValue_wildcardResourceNameWithOnlyDeletedTopic() { resourceName, false, typeStringsToResourceNames.values().stream().collect(Collectors.toList()), - "ignored"); + "ignored", + null); expr.accept(writerVisitor); assertEquals("TopicName.ofDeletedTopic()", writerVisitor.write()); } @@ -243,7 +250,85 @@ public void defaultValue_resourceNameWithOnlyWildcards_valueOnly() { false, Collections.emptyList(), fallbackField, - /* allowAnonResourceNameClass = */ false); + /* allowAnonResourceNameClass = */ false, + null); + expr.accept(writerVisitor); + assertEquals( + String.format("\"%s%s\"", fallbackField, fallbackField.hashCode()), writerVisitor.write()); + } + + @Test + public void defaultValue_resourceNameWithOnlyWildcards_matchingBinding() { + FileDescriptor lockerServiceFileDescriptor = LockerProto.getDescriptor(); + Map typeStringsToResourceNames = + Parser.parseResourceNames(lockerServiceFileDescriptor); + ResourceName resourceName = + typeStringsToResourceNames.get("cloudresourcemanager.googleapis.com/Anything"); + String fallbackField = "foobar"; + + ResourceName extraResourceName = + ResourceName.builder() + .setVariableName("topic") + .setPakkage("com.google.pubsub.v1") + .setResourceTypeString("pubsub.googleapis.com/Topic") + .setPatterns(Arrays.asList("_deleted-topic_", "projects/{project}/topics/{topic}")) + .setParentMessageName("com.google.pubsub.v1.Topic") + .build(); + + HttpBindings bindings = + HttpBindings.builder() + .setHttpVerb(HttpVerb.PUT) + .setPattern("/v1/{name=projects/*/topics/*}") + .setAdditionalPatterns(Collections.emptyList()) + .setIsAsteriskBody(true) + .build(); + + Expr expr = + DefaultValueComposer.createResourceHelperValue( + resourceName, + false, + Arrays.asList(resourceName, extraResourceName), + fallbackField, + /* allowAnonResourceNameClass = */ false, + bindings); + expr.accept(writerVisitor); + assertEquals("TopicName.ofProjectTopicName(\"[PROJECT]\", \"[TOPIC]\")", writerVisitor.write()); + } + + @Test + public void defaultValue_resourceNameWithOnlyWildcards_mismatchingBinding() { + FileDescriptor lockerServiceFileDescriptor = LockerProto.getDescriptor(); + Map typeStringsToResourceNames = + Parser.parseResourceNames(lockerServiceFileDescriptor); + ResourceName resourceName = + typeStringsToResourceNames.get("cloudresourcemanager.googleapis.com/Anything"); + String fallbackField = "foobar"; + + ResourceName extraResourceName = + ResourceName.builder() + .setVariableName("topic") + .setPakkage("com.google.pubsub.v1") + .setResourceTypeString("pubsub.googleapis.com/Topic") + .setPatterns(Arrays.asList("_deleted-topic_", "projects/{project}/topics/{topic}")) + .setParentMessageName("com.google.pubsub.v1.Topic") + .build(); + + HttpBindings bindings = + HttpBindings.builder() + .setHttpVerb(HttpVerb.PUT) + .setPattern("/v1/{name=projects/*/subscriptions/*}") + .setAdditionalPatterns(Collections.emptyList()) + .setIsAsteriskBody(true) + .build(); + + Expr expr = + DefaultValueComposer.createResourceHelperValue( + resourceName, + false, + Arrays.asList(resourceName, extraResourceName), + fallbackField, + /* allowAnonResourceNameClass = */ false, + bindings); expr.accept(writerVisitor); assertEquals( String.format("\"%s%s\"", fallbackField, fallbackField.hashCode()), writerVisitor.write()); @@ -262,7 +347,7 @@ public void defaultValue_resourceNameWithOnlyWildcards_allowAnonResourceNameClas String fallbackField = "foobar"; Expr expr = DefaultValueComposer.createResourceHelperValue( - resourceName, false, Collections.emptyList(), fallbackField); + resourceName, false, Collections.emptyList(), fallbackField, null); expr.accept(writerVisitor); String expected = LineFormatter.lines( @@ -279,6 +364,11 @@ public void defaultValue_resourceNameWithOnlyWildcards_allowAnonResourceNameClas "return getFieldValuesMap().get(fieldName);\n", "}\n", "\n", + "@Override\n", + "public String toString() {\n", + "return \"foobar-1268878963\";\n", + "}\n", + "\n", "}"); assertEquals(expected, writerVisitor.write()); } @@ -292,7 +382,7 @@ public void createSimpleMessage_basicPrimitivesOnly() { Message message = messageTypes.get("com.google.showcase.v1beta1.Foobar"); Expr expr = DefaultValueComposer.createSimpleMessageBuilderValue( - message, typeStringsToResourceNames, messageTypes); + message, typeStringsToResourceNames, messageTypes, null); expr.accept(writerVisitor); assertEquals( "Foobar.newBuilder().setName(FoobarName.ofProjectFoobarName(\"[PROJECT]\", \"[FOOBAR]\")" @@ -309,7 +399,7 @@ public void createSimpleMessage_containsMessagesEnumsAndResourceName() { Message message = messageTypes.get("com.google.showcase.v1beta1.EchoRequest"); Expr expr = DefaultValueComposer.createSimpleMessageBuilderValue( - message, typeStringsToResourceNames, messageTypes); + message, typeStringsToResourceNames, messageTypes, null); expr.accept(writerVisitor); assertEquals( "EchoRequest.newBuilder().setName(" @@ -329,7 +419,7 @@ public void createSimpleMessage_containsRepeatedField() { Message message = messageTypes.get("com.google.showcase.v1beta1.PagedExpandResponse"); Expr expr = DefaultValueComposer.createSimpleMessageBuilderValue( - message, typeStringsToResourceNames, messageTypes); + message, typeStringsToResourceNames, messageTypes, null); expr.accept(writerVisitor); assertEquals( "PagedExpandResponse.newBuilder().addAllResponses(new ArrayList())" @@ -346,14 +436,14 @@ public void createSimpleMessage_onlyOneofs() { Message message = messageTypes.get("com.google.showcase.v1beta1.WaitRequest"); Expr expr = DefaultValueComposer.createSimpleMessageBuilderValue( - message, typeStringsToResourceNames, messageTypes); + message, typeStringsToResourceNames, messageTypes, null); expr.accept(writerVisitor); assertEquals("WaitRequest.newBuilder().build()", writerVisitor.write()); } @Test public void createAnonymousResourceNameClass() { - Expr expr = DefaultValueComposer.createAnonymousResourceNameClassValue("resource"); + Expr expr = DefaultValueComposer.createAnonymousResourceNameClassValue("resource", null); expr.accept(writerVisitor); String expected = LineFormatter.lines( @@ -370,6 +460,11 @@ public void createAnonymousResourceNameClass() { "return getFieldValuesMap().get(fieldName);\n", "}\n", "\n", + "@Override\n", + "public String toString() {\n", + "return \"resource-341064690\";\n", + "}\n", + "\n", "}"); assertEquals(expected, writerVisitor.write()); diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden index 7c7788f312..15d6d67681 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden @@ -728,7 +728,7 @@ public class MessagingClient implements BackgroundResource { * // This snippet has been automatically generated for illustrative purposes only. * // It may require modifications to work in your environment. * try (MessagingClient messagingClient = MessagingClient.create()) { - * BlurbName name = BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]"); + * BlurbName name = BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]"); * Blurb response = messagingClient.getBlurb(name); * } * } @@ -774,9 +774,7 @@ public class MessagingClient implements BackgroundResource { * try (MessagingClient messagingClient = MessagingClient.create()) { * GetBlurbRequest request = * GetBlurbRequest.newBuilder() - * .setName( - * BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - * .toString()) + * .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) * .build(); * Blurb response = messagingClient.getBlurb(request); * } @@ -799,9 +797,7 @@ public class MessagingClient implements BackgroundResource { * try (MessagingClient messagingClient = MessagingClient.create()) { * GetBlurbRequest request = * GetBlurbRequest.newBuilder() - * .setName( - * BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - * .toString()) + * .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) * .build(); * ApiFuture future = messagingClient.getBlurbCallable().futureCall(request); * // Do something. @@ -862,7 +858,7 @@ public class MessagingClient implements BackgroundResource { * // This snippet has been automatically generated for illustrative purposes only. * // It may require modifications to work in your environment. * try (MessagingClient messagingClient = MessagingClient.create()) { - * BlurbName name = BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]"); + * BlurbName name = BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]"); * messagingClient.deleteBlurb(name); * } * } @@ -908,9 +904,7 @@ public class MessagingClient implements BackgroundResource { * try (MessagingClient messagingClient = MessagingClient.create()) { * DeleteBlurbRequest request = * DeleteBlurbRequest.newBuilder() - * .setName( - * BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - * .toString()) + * .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) * .build(); * messagingClient.deleteBlurb(request); * } @@ -933,9 +927,7 @@ public class MessagingClient implements BackgroundResource { * try (MessagingClient messagingClient = MessagingClient.create()) { * DeleteBlurbRequest request = * DeleteBlurbRequest.newBuilder() - * .setName( - * BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - * .toString()) + * .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) * .build(); * ApiFuture future = messagingClient.deleteBlurbCallable().futureCall(request); * // Do something. diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncDeleteBlurb.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncDeleteBlurb.golden index 21cd62ee46..b8b3bf208d 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncDeleteBlurb.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncDeleteBlurb.golden @@ -35,9 +35,7 @@ public class AsyncDeleteBlurb { try (MessagingClient messagingClient = MessagingClient.create()) { DeleteBlurbRequest request = DeleteBlurbRequest.newBuilder() - .setName( - BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - .toString()) + .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) .build(); ApiFuture future = messagingClient.deleteBlurbCallable().futureCall(request); // Do something. diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncGetBlurb.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncGetBlurb.golden index 1a2a94c0fe..9662bed70a 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncGetBlurb.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/AsyncGetBlurb.golden @@ -35,9 +35,7 @@ public class AsyncGetBlurb { try (MessagingClient messagingClient = MessagingClient.create()) { GetBlurbRequest request = GetBlurbRequest.newBuilder() - .setName( - BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - .toString()) + .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) .build(); ApiFuture future = messagingClient.getBlurbCallable().futureCall(request); // Do something. diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurb.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurb.golden index abedec6cc9..70e15ecc60 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurb.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurb.golden @@ -34,9 +34,7 @@ public class SyncDeleteBlurb { try (MessagingClient messagingClient = MessagingClient.create()) { DeleteBlurbRequest request = DeleteBlurbRequest.newBuilder() - .setName( - BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - .toString()) + .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) .build(); messagingClient.deleteBlurb(request); } diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurbBlurbname.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurbBlurbname.golden index fbab080ec4..041312eb46 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurbBlurbname.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncDeleteBlurbBlurbname.golden @@ -31,7 +31,7 @@ public class SyncDeleteBlurbBlurbname { // This snippet has been automatically generated for illustrative purposes only. // It may require modifications to work in your environment. try (MessagingClient messagingClient = MessagingClient.create()) { - BlurbName name = BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]"); + BlurbName name = BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]"); messagingClient.deleteBlurb(name); } } diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurb.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurb.golden index cc1ae967ba..93d780d72a 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurb.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurb.golden @@ -34,9 +34,7 @@ public class SyncGetBlurb { try (MessagingClient messagingClient = MessagingClient.create()) { GetBlurbRequest request = GetBlurbRequest.newBuilder() - .setName( - BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]") - .toString()) + .setName(BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]").toString()) .build(); Blurb response = messagingClient.getBlurb(request); } diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurbBlurbname.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurbBlurbname.golden index 4696adc0ca..3a2d980e42 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurbBlurbname.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/messagingclient/SyncGetBlurbBlurbname.golden @@ -31,7 +31,7 @@ public class SyncGetBlurbBlurbname { // This snippet has been automatically generated for illustrative purposes only. // It may require modifications to work in your environment. try (MessagingClient messagingClient = MessagingClient.create()) { - BlurbName name = BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]"); + BlurbName name = BlurbName.ofRoomBlurbName("[ROOM]", "[BLURB]"); Blurb response = messagingClient.getBlurb(name); } } diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceStubSettingsClassComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceStubSettingsClassComposerTest.java index 1035aa1d85..812df41ff8 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceStubSettingsClassComposerTest.java +++ b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceStubSettingsClassComposerTest.java @@ -29,7 +29,8 @@ public class ServiceStubSettingsClassComposerTest { public void generateServiceClasses() { GapicContext context = GrpcRestTestProtoLoader.instance().parseShowcaseEcho(); Service echoProtoService = context.services().get(0); - GapicClass clazz = ServiceSettingsClassComposer.instance().generate(context, echoProtoService); + GapicClass clazz = + ServiceStubSettingsClassComposer.instance().generate(context, echoProtoService); JavaWriterVisitor visitor = new JavaWriterVisitor(); clazz.classDefinition().accept(visitor); diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClient.golden b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClient.golden index 31fdeed3cd..8f6fd7cf56 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClient.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClient.golden @@ -9,6 +9,7 @@ import com.google.api.gax.longrunning.OperationFuture; import com.google.api.gax.paging.AbstractFixedSizeCollection; import com.google.api.gax.paging.AbstractPage; import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.BidiStreamingCallable; import com.google.api.gax.rpc.OperationCallable; import com.google.api.gax.rpc.PageContext; import com.google.api.gax.rpc.ServerStreamingCallable; @@ -861,6 +862,84 @@ public class EchoClient implements BackgroundResource { return stub.nestedBindingCallable(); } + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
+   * try (EchoClient echoClient = EchoClient.create()) {
+   *   BidiStream bidiStream = echoClient.chatCallable().call();
+   *   EchoRequest request =
+   *       EchoRequest.newBuilder()
+   *           .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString())
+   *           .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString())
+   *           .setSeverity(Severity.forNumber(0))
+   *           .setFooBar(Foobar.newBuilder().build())
+   *           .build();
+   *   bidiStream.send(request);
+   *   for (EchoResponse response : bidiStream) {
+   *     // Do something when a response is received.
+   *   }
+   * }
+   * }
+ */ + public final BidiStreamingCallable chatCallable() { + return stub.chatCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
+   * try (EchoClient echoClient = EchoClient.create()) {
+   *   EchoRequest request =
+   *       EchoRequest.newBuilder()
+   *           .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString())
+   *           .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString())
+   *           .setSeverity(Severity.forNumber(0))
+   *           .setFooBar(Foobar.newBuilder().build())
+   *           .build();
+   *   EchoResponse response = echoClient.noBinding(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final EchoResponse noBinding(EchoRequest request) { + return noBindingCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
+   * try (EchoClient echoClient = EchoClient.create()) {
+   *   EchoRequest request =
+   *       EchoRequest.newBuilder()
+   *           .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString())
+   *           .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString())
+   *           .setSeverity(Severity.forNumber(0))
+   *           .setFooBar(Foobar.newBuilder().build())
+   *           .build();
+   *   ApiFuture future = echoClient.noBindingCallable().futureCall(request);
+   *   // Do something.
+   *   EchoResponse response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable noBindingCallable() { + return stub.noBindingCallable(); + } + @Override public final void close() { stub.close(); diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClientTest.golden b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClientTest.golden index 99dfb8c534..014add9c3a 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClientTest.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoClientTest.golden @@ -10,6 +10,8 @@ import com.google.api.gax.grpc.testing.MockGrpcService; import com.google.api.gax.grpc.testing.MockServiceHelper; import com.google.api.gax.grpc.testing.MockStreamObserver; import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiStreamObserver; +import com.google.api.gax.rpc.BidiStreamingCallable; import com.google.api.gax.rpc.InvalidArgumentException; import com.google.api.gax.rpc.ServerStreamingCallable; import com.google.api.gax.rpc.StatusCode; @@ -772,4 +774,118 @@ public class EchoClientTest { // Expected exception. } } + + @Test + public void chatTest() throws Exception { + EchoResponse expectedResponse = + EchoResponse.newBuilder() + .setContent("content951530617") + .setSeverity(Severity.forNumber(0)) + .build(); + mockEcho.addResponse(expectedResponse); + EchoRequest request = + EchoRequest.newBuilder() + .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setSeverity(Severity.forNumber(0)) + .setFooBar(Foobar.newBuilder().build()) + .build(); + + MockStreamObserver responseObserver = new MockStreamObserver<>(); + + BidiStreamingCallable callable = client.chatCallable(); + ApiStreamObserver requestObserver = callable.bidiStreamingCall(responseObserver); + + requestObserver.onNext(request); + requestObserver.onCompleted(); + + List actualResponses = responseObserver.future().get(); + Assert.assertEquals(1, actualResponses.size()); + Assert.assertEquals(expectedResponse, actualResponses.get(0)); + } + + @Test + public void chatExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockEcho.addException(exception); + EchoRequest request = + EchoRequest.newBuilder() + .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setSeverity(Severity.forNumber(0)) + .setFooBar(Foobar.newBuilder().build()) + .build(); + + MockStreamObserver responseObserver = new MockStreamObserver<>(); + + BidiStreamingCallable callable = client.chatCallable(); + ApiStreamObserver requestObserver = callable.bidiStreamingCall(responseObserver); + + requestObserver.onNext(request); + + try { + List actualResponses = responseObserver.future().get(); + Assert.fail("No exception thrown"); + } catch (ExecutionException e) { + Assert.assertTrue(e.getCause() instanceof InvalidArgumentException); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void noBindingTest() throws Exception { + EchoResponse expectedResponse = + EchoResponse.newBuilder() + .setContent("content951530617") + .setSeverity(Severity.forNumber(0)) + .build(); + mockEcho.addResponse(expectedResponse); + + EchoRequest request = + EchoRequest.newBuilder() + .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setSeverity(Severity.forNumber(0)) + .setFooBar(Foobar.newBuilder().build()) + .build(); + + EchoResponse actualResponse = client.noBinding(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockEcho.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + EchoRequest actualRequest = ((EchoRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertEquals(request.getParent(), actualRequest.getParent()); + Assert.assertEquals(request.getContent(), actualRequest.getContent()); + Assert.assertEquals(request.getError(), actualRequest.getError()); + Assert.assertEquals(request.getSeverity(), actualRequest.getSeverity()); + Assert.assertEquals(request.getFooBar(), actualRequest.getFooBar()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void noBindingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockEcho.addException(exception); + + try { + EchoRequest request = + EchoRequest.newBuilder() + .setName(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setParent(FoobarName.ofProjectFoobarName("[PROJECT]", "[FOOBAR]").toString()) + .setSeverity(Severity.forNumber(0)) + .setFooBar(Foobar.newBuilder().build()) + .build(); + client.noBinding(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } } diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoSettings.golden b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoSettings.golden index 9485329b47..4c175371d4 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoSettings.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoSettings.golden @@ -15,6 +15,7 @@ import com.google.api.gax.rpc.ClientSettings; import com.google.api.gax.rpc.OperationCallSettings; import com.google.api.gax.rpc.PagedCallSettings; import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.StreamingCallSettings; import com.google.api.gax.rpc.StubSettings; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; @@ -108,6 +109,16 @@ public class EchoSettings extends ClientSettings { return ((EchoStubSettings) getStubSettings()).nestedBindingSettings(); } + /** Returns the object with the settings used for calls to chat. */ + public StreamingCallSettings chatSettings() { + return ((EchoStubSettings) getStubSettings()).chatSettings(); + } + + /** Returns the object with the settings used for calls to noBinding. */ + public UnaryCallSettings noBindingSettings() { + return ((EchoStubSettings) getStubSettings()).noBindingSettings(); + } + public static final EchoSettings create(EchoStubSettings stub) throws IOException { return new EchoSettings.Builder(stub.toBuilder()).build(); } @@ -272,6 +283,16 @@ public class EchoSettings extends ClientSettings { return getStubSettingsBuilder().nestedBindingSettings(); } + /** Returns the builder for the settings used for calls to chat. */ + public StreamingCallSettings.Builder chatSettings() { + return getStubSettingsBuilder().chatSettings(); + } + + /** Returns the builder for the settings used for calls to noBinding. */ + public UnaryCallSettings.Builder noBindingSettings() { + return getStubSettingsBuilder().noBindingSettings(); + } + @Override public EchoSettings build() throws IOException { return new EchoSettings(this); diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoStubSettings.golden b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoStubSettings.golden index 9485329b47..5e787650ed 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoStubSettings.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoStubSettings.golden @@ -1,32 +1,63 @@ -package com.google.showcase.grpcrest.v1beta1; +package com.google.showcase.grpcrest.v1beta1.stub; import static com.google.showcase.grpcrest.v1beta1.EchoClient.PagedExpandPagedResponse; import static com.google.showcase.grpcrest.v1beta1.EchoClient.SimplePagedExpandPagedResponse; import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; import com.google.api.core.BetaApi; +import com.google.api.gax.core.GaxProperties; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.HttpJsonTransportChannel; import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; import com.google.api.gax.rpc.ApiClientHeaderProvider; import com.google.api.gax.rpc.ClientContext; -import com.google.api.gax.rpc.ClientSettings; import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PageContext; import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StreamingCallSettings; import com.google.api.gax.rpc.StubSettings; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; import com.google.longrunning.Operation; -import com.google.showcase.grpcrest.v1beta1.stub.EchoStubSettings; +import com.google.showcase.grpcrest.v1beta1.BlockRequest; +import com.google.showcase.grpcrest.v1beta1.BlockResponse; +import com.google.showcase.grpcrest.v1beta1.EchoRequest; +import com.google.showcase.grpcrest.v1beta1.EchoResponse; +import com.google.showcase.grpcrest.v1beta1.ExpandRequest; +import com.google.showcase.grpcrest.v1beta1.Object; +import com.google.showcase.grpcrest.v1beta1.PagedExpandRequest; +import com.google.showcase.grpcrest.v1beta1.PagedExpandResponse; +import com.google.showcase.grpcrest.v1beta1.WaitMetadata; +import com.google.showcase.grpcrest.v1beta1.WaitRequest; +import com.google.showcase.grpcrest.v1beta1.WaitResponse; import java.io.IOException; import java.util.List; import javax.annotation.Generated; +import org.threeten.bp.Duration; // AUTO-GENERATED DOCUMENTATION AND CLASS. /** - * Settings class to configure an instance of {@link EchoClient}. + * Settings class to configure an instance of {@link EchoStub}. * *

The default instance has everything set to sensible defaults: * @@ -44,7 +75,7 @@ import javax.annotation.Generated; *

{@code
  * // This snippet has been automatically generated for illustrative purposes only.
  * // It may require modifications to work in your environment.
- * EchoSettings.Builder echoSettingsBuilder = EchoSettings.newBuilder();
+ * EchoStubSettings.Builder echoSettingsBuilder = EchoStubSettings.newBuilder();
  * echoSettingsBuilder
  *     .echoSettings()
  *     .setRetrySettings(
@@ -54,103 +85,274 @@ import javax.annotation.Generated;
  *             .toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
- * EchoSettings echoSettings = echoSettingsBuilder.build();
+ * EchoStubSettings echoSettings = echoSettingsBuilder.build();
  * }
*/ @BetaApi @Generated("by gapic-generator-java") -public class EchoSettings extends ClientSettings { +public class EchoStubSettings extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings echoSettings; + private final ServerStreamingCallSettings expandSettings; + private final PagedCallSettings + pagedExpandSettings; + private final PagedCallSettings< + PagedExpandRequest, PagedExpandResponse, SimplePagedExpandPagedResponse> + simplePagedExpandSettings; + private final UnaryCallSettings waitSettings; + private final OperationCallSettings + waitOperationSettings; + private final UnaryCallSettings blockSettings; + private final UnaryCallSettings collideNameSettings; + private final UnaryCallSettings nestedBindingSettings; + private final StreamingCallSettings chatSettings; + private final UnaryCallSettings noBindingSettings; + + private static final PagedListDescriptor + PAGED_EXPAND_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public PagedExpandRequest injectToken(PagedExpandRequest payload, String token) { + return PagedExpandRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public PagedExpandRequest injectPageSize(PagedExpandRequest payload, int pageSize) { + return PagedExpandRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(PagedExpandRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(PagedExpandResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(PagedExpandResponse payload) { + return payload.getResponsesList() == null + ? ImmutableList.of() + : payload.getResponsesList(); + } + }; + + private static final PagedListDescriptor + SIMPLE_PAGED_EXPAND_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public PagedExpandRequest injectToken(PagedExpandRequest payload, String token) { + return PagedExpandRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public PagedExpandRequest injectPageSize(PagedExpandRequest payload, int pageSize) { + return PagedExpandRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(PagedExpandRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(PagedExpandResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(PagedExpandResponse payload) { + return payload.getResponsesList() == null + ? ImmutableList.of() + : payload.getResponsesList(); + } + }; + + private static final PagedListResponseFactory< + PagedExpandRequest, PagedExpandResponse, PagedExpandPagedResponse> + PAGED_EXPAND_PAGE_STR_FACT = + new PagedListResponseFactory< + PagedExpandRequest, PagedExpandResponse, PagedExpandPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + PagedExpandRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, PAGED_EXPAND_PAGE_STR_DESC, request, context); + return PagedExpandPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + PagedExpandRequest, PagedExpandResponse, SimplePagedExpandPagedResponse> + SIMPLE_PAGED_EXPAND_PAGE_STR_FACT = + new PagedListResponseFactory< + PagedExpandRequest, PagedExpandResponse, SimplePagedExpandPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + PagedExpandRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, SIMPLE_PAGED_EXPAND_PAGE_STR_DESC, request, context); + return SimplePagedExpandPagedResponse.createAsync(pageContext, futureResponse); + } + }; /** Returns the object with the settings used for calls to echo. */ public UnaryCallSettings echoSettings() { - return ((EchoStubSettings) getStubSettings()).echoSettings(); + return echoSettings; } /** Returns the object with the settings used for calls to expand. */ public ServerStreamingCallSettings expandSettings() { - return ((EchoStubSettings) getStubSettings()).expandSettings(); + return expandSettings; } /** Returns the object with the settings used for calls to pagedExpand. */ public PagedCallSettings pagedExpandSettings() { - return ((EchoStubSettings) getStubSettings()).pagedExpandSettings(); + return pagedExpandSettings; } /** Returns the object with the settings used for calls to simplePagedExpand. */ public PagedCallSettings simplePagedExpandSettings() { - return ((EchoStubSettings) getStubSettings()).simplePagedExpandSettings(); + return simplePagedExpandSettings; } /** Returns the object with the settings used for calls to wait. */ public UnaryCallSettings waitSettings() { - return ((EchoStubSettings) getStubSettings()).waitSettings(); + return waitSettings; } /** Returns the object with the settings used for calls to wait. */ public OperationCallSettings waitOperationSettings() { - return ((EchoStubSettings) getStubSettings()).waitOperationSettings(); + return waitOperationSettings; } /** Returns the object with the settings used for calls to block. */ public UnaryCallSettings blockSettings() { - return ((EchoStubSettings) getStubSettings()).blockSettings(); + return blockSettings; } /** Returns the object with the settings used for calls to collideName. */ public UnaryCallSettings collideNameSettings() { - return ((EchoStubSettings) getStubSettings()).collideNameSettings(); + return collideNameSettings; } /** Returns the object with the settings used for calls to nestedBinding. */ public UnaryCallSettings nestedBindingSettings() { - return ((EchoStubSettings) getStubSettings()).nestedBindingSettings(); + return nestedBindingSettings; } - public static final EchoSettings create(EchoStubSettings stub) throws IOException { - return new EchoSettings.Builder(stub.toBuilder()).build(); + /** Returns the object with the settings used for calls to chat. */ + public StreamingCallSettings chatSettings() { + return chatSettings; + } + + /** Returns the object with the settings used for calls to noBinding. */ + public UnaryCallSettings noBindingSettings() { + return noBindingSettings; + } + + public EchoStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcEchoStub.create(this); + } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonEchoStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { - return EchoStubSettings.defaultExecutorProviderBuilder(); + return InstantiatingExecutorProvider.newBuilder(); } /** Returns the default service endpoint. */ public static String getDefaultEndpoint() { - return EchoStubSettings.getDefaultEndpoint(); + return "localhost:7469"; + } + + /** Returns the default mTLS service endpoint. */ + public static String getDefaultMtlsEndpoint() { + return "localhost:7469"; } /** Returns the default service scopes. */ public static List getDefaultServiceScopes() { - return EchoStubSettings.getDefaultServiceScopes(); + return DEFAULT_SERVICE_SCOPES; } /** Returns a builder for the default credentials for this service. */ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { - return EchoStubSettings.defaultCredentialsProviderBuilder(); + return GoogleCredentialsProvider.newBuilder() + .setScopesToApply(DEFAULT_SERVICE_SCOPES) + .setUseJwtAccessWithScope(true); } /** Returns a builder for the default gRPC ChannelProvider for this service. */ public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { - return EchoStubSettings.defaultGrpcTransportProviderBuilder(); + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); } /** Returns a builder for the default REST ChannelProvider for this service. */ @BetaApi public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder() { - return EchoStubSettings.defaultHttpJsonTransportProviderBuilder(); + return InstantiatingHttpJsonChannelProvider.newBuilder(); } public static TransportChannelProvider defaultTransportChannelProvider() { - return EchoStubSettings.defaultTransportChannelProvider(); + return defaultGrpcTransportProviderBuilder().build(); } @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(EchoStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(EchoStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { - return EchoStubSettings.defaultApiClientHeaderProviderBuilder(); + return EchoStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); } /** Returns a new gRPC builder for this class. */ @@ -159,7 +361,6 @@ public class EchoSettings extends ClientSettings { } /** Returns a new REST builder for this class. */ - @BetaApi public static Builder newHttpJsonBuilder() { return Builder.createHttpJsonDefault(); } @@ -174,40 +375,216 @@ public class EchoSettings extends ClientSettings { return new Builder(this); } - protected EchoSettings(Builder settingsBuilder) throws IOException { + protected EchoStubSettings(Builder settingsBuilder) throws IOException { super(settingsBuilder); + + echoSettings = settingsBuilder.echoSettings().build(); + expandSettings = settingsBuilder.expandSettings().build(); + pagedExpandSettings = settingsBuilder.pagedExpandSettings().build(); + simplePagedExpandSettings = settingsBuilder.simplePagedExpandSettings().build(); + waitSettings = settingsBuilder.waitSettings().build(); + waitOperationSettings = settingsBuilder.waitOperationSettings().build(); + blockSettings = settingsBuilder.blockSettings().build(); + collideNameSettings = settingsBuilder.collideNameSettings().build(); + nestedBindingSettings = settingsBuilder.nestedBindingSettings().build(); + chatSettings = settingsBuilder.chatSettings().build(); + noBindingSettings = settingsBuilder.noBindingSettings().build(); } - /** Builder for EchoSettings. */ - public static class Builder extends ClientSettings.Builder { + /** Builder for EchoStubSettings. */ + public static class Builder extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + private final UnaryCallSettings.Builder echoSettings; + private final ServerStreamingCallSettings.Builder expandSettings; + private final PagedCallSettings.Builder< + PagedExpandRequest, PagedExpandResponse, PagedExpandPagedResponse> + pagedExpandSettings; + private final PagedCallSettings.Builder< + PagedExpandRequest, PagedExpandResponse, SimplePagedExpandPagedResponse> + simplePagedExpandSettings; + private final UnaryCallSettings.Builder waitSettings; + private final OperationCallSettings.Builder + waitOperationSettings; + private final UnaryCallSettings.Builder blockSettings; + private final UnaryCallSettings.Builder collideNameSettings; + private final UnaryCallSettings.Builder nestedBindingSettings; + private final StreamingCallSettings.Builder chatSettings; + private final UnaryCallSettings.Builder noBindingSettings; + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } - protected Builder() throws IOException { - this(((ClientContext) null)); + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build(); + definitions.put("no_retry_params", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); } - protected Builder(ClientContext clientContext) { - super(EchoStubSettings.newBuilder(clientContext)); + protected Builder() { + this(((ClientContext) null)); } - protected Builder(EchoSettings settings) { - super(settings.getStubSettings().toBuilder()); + protected Builder(ClientContext clientContext) { + super(clientContext); + + echoSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + expandSettings = ServerStreamingCallSettings.newBuilder(); + pagedExpandSettings = PagedCallSettings.newBuilder(PAGED_EXPAND_PAGE_STR_FACT); + simplePagedExpandSettings = PagedCallSettings.newBuilder(SIMPLE_PAGED_EXPAND_PAGE_STR_FACT); + waitSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + waitOperationSettings = OperationCallSettings.newBuilder(); + blockSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + collideNameSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + nestedBindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + chatSettings = StreamingCallSettings.newBuilder(); + noBindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + echoSettings, + pagedExpandSettings, + simplePagedExpandSettings, + waitSettings, + blockSettings, + collideNameSettings, + nestedBindingSettings, + noBindingSettings); + initDefaults(this); } - protected Builder(EchoStubSettings.Builder stubSettings) { - super(stubSettings); + protected Builder(EchoStubSettings settings) { + super(settings); + + echoSettings = settings.echoSettings.toBuilder(); + expandSettings = settings.expandSettings.toBuilder(); + pagedExpandSettings = settings.pagedExpandSettings.toBuilder(); + simplePagedExpandSettings = settings.simplePagedExpandSettings.toBuilder(); + waitSettings = settings.waitSettings.toBuilder(); + waitOperationSettings = settings.waitOperationSettings.toBuilder(); + blockSettings = settings.blockSettings.toBuilder(); + collideNameSettings = settings.collideNameSettings.toBuilder(); + nestedBindingSettings = settings.nestedBindingSettings.toBuilder(); + chatSettings = settings.chatSettings.toBuilder(); + noBindingSettings = settings.noBindingSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + echoSettings, + pagedExpandSettings, + simplePagedExpandSettings, + waitSettings, + blockSettings, + collideNameSettings, + nestedBindingSettings, + noBindingSettings); } private static Builder createDefault() { - return new Builder(EchoStubSettings.newBuilder()); + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); } - @BetaApi private static Builder createHttpJsonDefault() { - return new Builder(EchoStubSettings.newHttpJsonBuilder()); + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); } - public EchoStubSettings.Builder getStubSettingsBuilder() { - return ((EchoStubSettings.Builder) getStubSettings()); + private static Builder initDefaults(Builder builder) { + builder + .echoSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .expandSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .pagedExpandSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .simplePagedExpandSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .waitSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .blockSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .collideNameSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .nestedBindingSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .noBindingSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .waitOperationSettings() + .setInitialCallSettings( + UnaryCallSettings.newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(WaitResponse.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(WaitMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(45000L)) + .setInitialRpcTimeout(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ZERO) + .setTotalTimeout(Duration.ofMillis(300000L)) + .build())); + + return builder; } /** @@ -217,64 +594,79 @@ public class EchoSettings extends ClientSettings { */ public Builder applyToAllUnaryMethods( ApiFunction, Void> settingsUpdater) { - super.applyToAllUnaryMethods( - getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); return this; } + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + /** Returns the builder for the settings used for calls to echo. */ public UnaryCallSettings.Builder echoSettings() { - return getStubSettingsBuilder().echoSettings(); + return echoSettings; } /** Returns the builder for the settings used for calls to expand. */ public ServerStreamingCallSettings.Builder expandSettings() { - return getStubSettingsBuilder().expandSettings(); + return expandSettings; } /** Returns the builder for the settings used for calls to pagedExpand. */ public PagedCallSettings.Builder< PagedExpandRequest, PagedExpandResponse, PagedExpandPagedResponse> pagedExpandSettings() { - return getStubSettingsBuilder().pagedExpandSettings(); + return pagedExpandSettings; } /** Returns the builder for the settings used for calls to simplePagedExpand. */ public PagedCallSettings.Builder< PagedExpandRequest, PagedExpandResponse, SimplePagedExpandPagedResponse> simplePagedExpandSettings() { - return getStubSettingsBuilder().simplePagedExpandSettings(); + return simplePagedExpandSettings; } /** Returns the builder for the settings used for calls to wait. */ public UnaryCallSettings.Builder waitSettings() { - return getStubSettingsBuilder().waitSettings(); + return waitSettings; } /** Returns the builder for the settings used for calls to wait. */ + @BetaApi( + "The surface for use by generated code is not stable yet and may change in the future.") public OperationCallSettings.Builder waitOperationSettings() { - return getStubSettingsBuilder().waitOperationSettings(); + return waitOperationSettings; } /** Returns the builder for the settings used for calls to block. */ public UnaryCallSettings.Builder blockSettings() { - return getStubSettingsBuilder().blockSettings(); + return blockSettings; } /** Returns the builder for the settings used for calls to collideName. */ public UnaryCallSettings.Builder collideNameSettings() { - return getStubSettingsBuilder().collideNameSettings(); + return collideNameSettings; } /** Returns the builder for the settings used for calls to nestedBinding. */ public UnaryCallSettings.Builder nestedBindingSettings() { - return getStubSettingsBuilder().nestedBindingSettings(); + return nestedBindingSettings; + } + + /** Returns the builder for the settings used for calls to chat. */ + public StreamingCallSettings.Builder chatSettings() { + return chatSettings; + } + + /** Returns the builder for the settings used for calls to noBinding. */ + public UnaryCallSettings.Builder noBindingSettings() { + return noBindingSettings; } @Override - public EchoSettings build() throws IOException { - return new EchoSettings(this); + public EchoStubSettings build() throws IOException { + return new EchoStubSettings(this); } } } diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/GrpcEchoStub.golden b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/GrpcEchoStub.golden index 959f48d7a2..8cf20fee1f 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/GrpcEchoStub.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/GrpcEchoStub.golden @@ -8,6 +8,7 @@ import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.core.BackgroundResourceAggregation; import com.google.api.gax.grpc.GrpcCallSettings; import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.BidiStreamingCallable; import com.google.api.gax.rpc.ClientContext; import com.google.api.gax.rpc.OperationCallable; import com.google.api.gax.rpc.ServerStreamingCallable; @@ -110,6 +111,22 @@ public class GrpcEchoStub extends EchoStub { .setResponseMarshaller(ProtoUtils.marshaller(Object.getDefaultInstance())) .build(); + private static final MethodDescriptor chatMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.BIDI_STREAMING) + .setFullMethodName("google.showcase.grpcrest.v1beta1.Echo/Chat") + .setRequestMarshaller(ProtoUtils.marshaller(EchoRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance())) + .build(); + + private static final MethodDescriptor noBindingMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.showcase.grpcrest.v1beta1.Echo/NoBinding") + .setRequestMarshaller(ProtoUtils.marshaller(EchoRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance())) + .build(); + private final UnaryCallable echoCallable; private final ServerStreamingCallable expandCallable; private final UnaryCallable pagedExpandCallable; @@ -123,6 +140,8 @@ public class GrpcEchoStub extends EchoStub { private final UnaryCallable blockCallable; private final UnaryCallable collideNameCallable; private final UnaryCallable nestedBindingCallable; + private final BidiStreamingCallable chatCallable; + private final UnaryCallable noBindingCallable; private final BackgroundResource backgroundResources; private final GrpcOperationsStub operationsStub; @@ -200,6 +219,14 @@ public class GrpcEchoStub extends EchoStub { return params.build(); }) .build(); + GrpcCallSettings chatTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(chatMethodDescriptor) + .build(); + GrpcCallSettings noBindingTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(noBindingMethodDescriptor) + .build(); this.echoCallable = callableFactory.createUnaryCallable( @@ -238,6 +265,12 @@ public class GrpcEchoStub extends EchoStub { this.nestedBindingCallable = callableFactory.createUnaryCallable( nestedBindingTransportSettings, settings.nestedBindingSettings(), clientContext); + this.chatCallable = + callableFactory.createBidiStreamingCallable( + chatTransportSettings, settings.chatSettings(), clientContext); + this.noBindingCallable = + callableFactory.createUnaryCallable( + noBindingTransportSettings, settings.noBindingSettings(), clientContext); this.backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); @@ -303,6 +336,16 @@ public class GrpcEchoStub extends EchoStub { return nestedBindingCallable; } + @Override + public BidiStreamingCallable chatCallable() { + return chatCallable; + } + + @Override + public UnaryCallable noBindingCallable() { + return noBindingCallable; + } + @Override public final void close() { try { diff --git a/src/test/java/com/google/api/generator/gapic/model/ResourceNameTest.java b/src/test/java/com/google/api/generator/gapic/model/ResourceNameTest.java new file mode 100644 index 0000000000..0cd6620c51 --- /dev/null +++ b/src/test/java/com/google/api/generator/gapic/model/ResourceNameTest.java @@ -0,0 +1,74 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.api.generator.gapic.model; + +import com.google.api.generator.gapic.model.HttpBindings.HttpVerb; +import com.google.common.truth.Truth; +import java.util.Arrays; +import java.util.Collections; +import org.junit.Test; + +public class ResourceNameTest { + private final ResourceName resName = + ResourceName.builder() + .setVariableName("topic") + .setPakkage("com.google.pubsub.v1") + .setResourceTypeString("pubsub.googleapis.com/Topic") + .setPatterns(Arrays.asList("_deleted-topic_", "projects/{project}/topics/{topic}")) + .setParentMessageName("com.google.pubsub.v1.Topic") + .build(); + + @Test + public void getMatchingPattern() { + HttpBindings bindings = + HttpBindings.builder() + .setHttpVerb(HttpVerb.PUT) + .setPattern("/v1/{name=projects/*/topics/*}") + .setAdditionalPatterns(Collections.emptyList()) + .setIsAsteriskBody(true) + .build(); + + String matchingPattern = resName.getMatchingPattern(bindings); + Truth.assertThat(matchingPattern).isEqualTo("projects/{project}/topics/{topic}"); + } + + @Test + public void getMatchingPatternFromAdditionalPattern() { + HttpBindings bindings = + HttpBindings.builder() + .setHttpVerb(HttpVerb.PUT) + .setPattern("/v1/{name=projects/*/subscriptions/*}") + .setAdditionalPatterns(Collections.singletonList("/v1/{name=projects/*/topics/*}")) + .setIsAsteriskBody(true) + .build(); + + String matchingPattern = resName.getMatchingPattern(bindings); + Truth.assertThat(matchingPattern).isEqualTo("projects/{project}/topics/{topic}"); + } + + @Test + public void getMatchingPatternNoMatch() { + HttpBindings bindings = + HttpBindings.builder() + .setHttpVerb(HttpVerb.PUT) + .setPattern("/v1/{name=projects/*/subscriptions/*}") + .setAdditionalPatterns(Collections.singletonList("/v1/{name=projects/*/stuff/*}")) + .setIsAsteriskBody(true) + .build(); + + String matchingPattern = resName.getMatchingPattern(bindings); + Truth.assertThat(matchingPattern).isNull(); + } +} diff --git a/src/test/proto/echo_grpcrest.proto b/src/test/proto/echo_grpcrest.proto index 92389232e7..4b56bca9e3 100644 --- a/src/test/proto/echo_grpcrest.proto +++ b/src/test/proto/echo_grpcrest.proto @@ -135,6 +135,15 @@ service Echo { } }; } + + rpc Chat(stream EchoRequest) returns (stream EchoResponse) { + option (google.api.http) = { + post: "/v1beta1/chat:chat" + body: "error" + }; + } + + rpc NoBinding(EchoRequest) returns (EchoResponse); } // Generator should not fail when encounter a service without methods diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/AsyncBatchGetAssetsHistory.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/AsyncBatchGetAssetsHistory.java index 2686566215..9ce64bda8f 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/AsyncBatchGetAssetsHistory.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/AsyncBatchGetAssetsHistory.java @@ -22,7 +22,6 @@ import com.google.cloud.asset.v1.BatchGetAssetsHistoryRequest; import com.google.cloud.asset.v1.BatchGetAssetsHistoryResponse; import com.google.cloud.asset.v1.ContentType; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.TimeWindow; import java.util.ArrayList; @@ -38,7 +37,7 @@ public static void asyncBatchGetAssetsHistory() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { BatchGetAssetsHistoryRequest request = BatchGetAssetsHistoryRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) .addAllAssetNames(new ArrayList()) .setContentType(ContentType.forNumber(0)) .setReadTimeWindow(TimeWindow.newBuilder().build()) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/SyncBatchGetAssetsHistory.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/SyncBatchGetAssetsHistory.java index 95939b8ef9..1f2546c781 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/SyncBatchGetAssetsHistory.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/batchgetassetshistory/SyncBatchGetAssetsHistory.java @@ -21,7 +21,6 @@ import com.google.cloud.asset.v1.BatchGetAssetsHistoryRequest; import com.google.cloud.asset.v1.BatchGetAssetsHistoryResponse; import com.google.cloud.asset.v1.ContentType; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.TimeWindow; import java.util.ArrayList; @@ -37,7 +36,7 @@ public static void syncBatchGetAssetsHistory() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { BatchGetAssetsHistoryRequest request = BatchGetAssetsHistoryRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) .addAllAssetNames(new ArrayList()) .setContentType(ContentType.forNumber(0)) .setReadTimeWindow(TimeWindow.newBuilder().build()) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssets.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssets.java index 1e360ad76e..5db1eb8fe5 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssets.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssets.java @@ -21,7 +21,6 @@ import com.google.cloud.asset.v1.AssetServiceClient; import com.google.cloud.asset.v1.ContentType; import com.google.cloud.asset.v1.ExportAssetsRequest; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.OutputConfig; import com.google.longrunning.Operation; import com.google.protobuf.Timestamp; @@ -39,7 +38,7 @@ public static void asyncExportAssets() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { ExportAssetsRequest request = ExportAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ExportAssetsRequest-846449128".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssetsLRO.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssetsLRO.java index 8c61111f0e..bb0e40bb9a 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssetsLRO.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/AsyncExportAssetsLRO.java @@ -22,7 +22,6 @@ import com.google.cloud.asset.v1.ContentType; import com.google.cloud.asset.v1.ExportAssetsRequest; import com.google.cloud.asset.v1.ExportAssetsResponse; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.OutputConfig; import com.google.protobuf.Timestamp; import java.util.ArrayList; @@ -39,7 +38,7 @@ public static void asyncExportAssetsLRO() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { ExportAssetsRequest request = ExportAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ExportAssetsRequest-846449128".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/SyncExportAssets.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/SyncExportAssets.java index 9e6a761656..2f5a8d6228 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/SyncExportAssets.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/exportassets/SyncExportAssets.java @@ -21,7 +21,6 @@ import com.google.cloud.asset.v1.ContentType; import com.google.cloud.asset.v1.ExportAssetsRequest; import com.google.cloud.asset.v1.ExportAssetsResponse; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.OutputConfig; import com.google.protobuf.Timestamp; import java.util.ArrayList; @@ -38,7 +37,7 @@ public static void syncExportAssets() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { ExportAssetsRequest request = ExportAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ExportAssetsRequest-846449128".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssets.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssets.java index fd9e49d725..8ffa2f0d29 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssets.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssets.java @@ -21,7 +21,6 @@ import com.google.cloud.asset.v1.Asset; import com.google.cloud.asset.v1.AssetServiceClient; import com.google.cloud.asset.v1.ContentType; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.ListAssetsRequest; import com.google.protobuf.Timestamp; import java.util.ArrayList; @@ -38,7 +37,7 @@ public static void asyncListAssets() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { ListAssetsRequest request = ListAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ListAssetsRequest-221586066".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssetsPaged.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssetsPaged.java index 45b9ec9187..664d86826a 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssetsPaged.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/AsyncListAssetsPaged.java @@ -20,7 +20,6 @@ import com.google.cloud.asset.v1.Asset; import com.google.cloud.asset.v1.AssetServiceClient; import com.google.cloud.asset.v1.ContentType; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.ListAssetsRequest; import com.google.cloud.asset.v1.ListAssetsResponse; import com.google.common.base.Strings; @@ -39,7 +38,7 @@ public static void asyncListAssetsPaged() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { ListAssetsRequest request = ListAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ListAssetsRequest-221586066".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssets.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssets.java index 32b5dbbe32..ae28e2b1d7 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssets.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssets.java @@ -20,7 +20,6 @@ import com.google.cloud.asset.v1.Asset; import com.google.cloud.asset.v1.AssetServiceClient; import com.google.cloud.asset.v1.ContentType; -import com.google.cloud.asset.v1.FeedName; import com.google.cloud.asset.v1.ListAssetsRequest; import com.google.protobuf.Timestamp; import java.util.ArrayList; @@ -37,7 +36,7 @@ public static void syncListAssets() throws Exception { try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { ListAssetsRequest request = ListAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ListAssetsRequest-221586066".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) diff --git a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssetsResourcename.java b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssetsResourcename.java index 49a04678a1..4f7f81821d 100644 --- a/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssetsResourcename.java +++ b/test/integration/goldens/asset/samples/snippets/generated/main/java/com/google/cloud/asset/v1/assetserviceclient/listassets/SyncListAssetsResourcename.java @@ -20,7 +20,8 @@ import com.google.api.resourcenames.ResourceName; import com.google.cloud.asset.v1.Asset; import com.google.cloud.asset.v1.AssetServiceClient; -import com.google.cloud.asset.v1.FeedName; +import java.util.HashMap; +import java.util.Map; public class SyncListAssetsResourcename { @@ -32,7 +33,25 @@ public static void syncListAssetsResourcename() throws Exception { // This snippet has been automatically generated for illustrative purposes only. // It may require modifications to work in your environment. try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { - ResourceName parent = FeedName.ofProjectFeedName("[PROJECT]", "[FEED]"); + ResourceName parent = + new ResourceName() { + @Override + public Map getFieldValuesMap() { + Map fieldValuesMap = new HashMap<>(); + fieldValuesMap.put("parent", "parent-4715/parent-4715"); + return fieldValuesMap; + } + + @Override + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return "parent-4715/parent-4715"; + } + }; for (Asset element : assetServiceClient.listAssets(parent).iterateAll()) { // doThingsWith(element); } diff --git a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClient.java b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClient.java index 6277dc6f88..4654d5d26a 100644 --- a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClient.java +++ b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClient.java @@ -51,7 +51,7 @@ * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * BatchGetAssetsHistoryRequest request = * BatchGetAssetsHistoryRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) * .addAllAssetNames(new ArrayList()) * .setContentType(ContentType.forNumber(0)) * .setReadTimeWindow(TimeWindow.newBuilder().build()) @@ -190,7 +190,7 @@ public final OperationsClient getOperationsClient() { * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * ExportAssetsRequest request = * ExportAssetsRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("ExportAssetsRequest-846449128".toString()) * .setReadTime(Timestamp.newBuilder().build()) * .addAllAssetTypes(new ArrayList()) * .setContentType(ContentType.forNumber(0)) @@ -228,7 +228,7 @@ public final OperationFuture exportAs * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * ExportAssetsRequest request = * ExportAssetsRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("ExportAssetsRequest-846449128".toString()) * .setReadTime(Timestamp.newBuilder().build()) * .addAllAssetTypes(new ArrayList()) * .setContentType(ContentType.forNumber(0)) @@ -266,7 +266,7 @@ public final OperationFuture exportAs * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * ExportAssetsRequest request = * ExportAssetsRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("ExportAssetsRequest-846449128".toString()) * .setReadTime(Timestamp.newBuilder().build()) * .addAllAssetTypes(new ArrayList()) * .setContentType(ContentType.forNumber(0)) @@ -293,7 +293,25 @@ public final UnaryCallable exportAssetsCallable( * // This snippet has been automatically generated for illustrative purposes only. * // It may require modifications to work in your environment. * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { - * ResourceName parent = FeedName.ofProjectFeedName("[PROJECT]", "[FEED]"); + * ResourceName parent = + * new ResourceName() { + * {@literal @}Override + * public Map getFieldValuesMap() { + * Map fieldValuesMap = new HashMap<>(); + * fieldValuesMap.put("parent", "parent-4715/parent-4715"); + * return fieldValuesMap; + * } + * + * {@literal @}Override + * public String getFieldValue(String fieldName) { + * return getFieldValuesMap().get(fieldName); + * } + * + * {@literal @}Override + * public String toString() { + * return "parent-4715/parent-4715"; + * } + * }; * for (Asset element : assetServiceClient.listAssets(parent).iterateAll()) { * // doThingsWith(element); * } @@ -352,7 +370,7 @@ public final ListAssetsPagedResponse listAssets(String parent) { * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * ListAssetsRequest request = * ListAssetsRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("ListAssetsRequest-221586066".toString()) * .setReadTime(Timestamp.newBuilder().build()) * .addAllAssetTypes(new ArrayList()) * .setContentType(ContentType.forNumber(0)) @@ -385,7 +403,7 @@ public final ListAssetsPagedResponse listAssets(ListAssetsRequest request) { * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * ListAssetsRequest request = * ListAssetsRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("ListAssetsRequest-221586066".toString()) * .setReadTime(Timestamp.newBuilder().build()) * .addAllAssetTypes(new ArrayList()) * .setContentType(ContentType.forNumber(0)) @@ -417,7 +435,7 @@ public final UnaryCallable listAsset * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * ListAssetsRequest request = * ListAssetsRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("ListAssetsRequest-221586066".toString()) * .setReadTime(Timestamp.newBuilder().build()) * .addAllAssetTypes(new ArrayList()) * .setContentType(ContentType.forNumber(0)) @@ -460,7 +478,7 @@ public final UnaryCallable listAssetsCall * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * BatchGetAssetsHistoryRequest request = * BatchGetAssetsHistoryRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) * .addAllAssetNames(new ArrayList()) * .setContentType(ContentType.forNumber(0)) * .setReadTimeWindow(TimeWindow.newBuilder().build()) @@ -494,7 +512,7 @@ public final BatchGetAssetsHistoryResponse batchGetAssetsHistory( * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * BatchGetAssetsHistoryRequest request = * BatchGetAssetsHistoryRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) * .addAllAssetNames(new ArrayList()) * .setContentType(ContentType.forNumber(0)) * .setReadTimeWindow(TimeWindow.newBuilder().build()) diff --git a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClientTest.java b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClientTest.java index 337c794761..2abc938bc1 100644 --- a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClientTest.java +++ b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/AssetServiceClientTest.java @@ -41,7 +41,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.UUID; import java.util.concurrent.ExecutionException; import javax.annotation.Generated; @@ -108,7 +110,7 @@ public void exportAssetsTest() throws Exception { ExportAssetsRequest request = ExportAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ExportAssetsRequest-846449128".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) @@ -144,7 +146,7 @@ public void exportAssetsExceptionTest() throws Exception { try { ExportAssetsRequest request = ExportAssetsRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("ExportAssetsRequest-846449128".toString()) .setReadTime(Timestamp.newBuilder().build()) .addAllAssetTypes(new ArrayList()) .setContentType(ContentType.forNumber(0)) @@ -170,7 +172,25 @@ public void listAssetsTest() throws Exception { .build(); mockAssetService.addResponse(expectedResponse); - ResourceName parent = FeedName.ofProjectFeedName("[PROJECT]", "[FEED]"); + ResourceName parent = + new ResourceName() { + @Override + public Map getFieldValuesMap() { + Map fieldValuesMap = new HashMap<>(); + fieldValuesMap.put("parent", "parent-4715/parent-4715"); + return fieldValuesMap; + } + + @Override + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return "parent-4715/parent-4715"; + } + }; ListAssetsPagedResponse pagedListResponse = client.listAssets(parent); @@ -196,7 +216,25 @@ public void listAssetsExceptionTest() throws Exception { mockAssetService.addException(exception); try { - ResourceName parent = FeedName.ofProjectFeedName("[PROJECT]", "[FEED]"); + ResourceName parent = + new ResourceName() { + @Override + public Map getFieldValuesMap() { + Map fieldValuesMap = new HashMap<>(); + fieldValuesMap.put("parent", "parent-4715/parent-4715"); + return fieldValuesMap; + } + + @Override + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return "parent-4715/parent-4715"; + } + }; client.listAssets(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { @@ -258,7 +296,7 @@ public void batchGetAssetsHistoryTest() throws Exception { BatchGetAssetsHistoryRequest request = BatchGetAssetsHistoryRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) .addAllAssetNames(new ArrayList()) .setContentType(ContentType.forNumber(0)) .setReadTimeWindow(TimeWindow.newBuilder().build()) @@ -293,7 +331,7 @@ public void batchGetAssetsHistoryExceptionTest() throws Exception { try { BatchGetAssetsHistoryRequest request = BatchGetAssetsHistoryRequest.newBuilder() - .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .setParent("BatchGetAssetsHistoryRequest1575208378".toString()) .addAllAssetNames(new ArrayList()) .setContentType(ContentType.forNumber(0)) .setReadTimeWindow(TimeWindow.newBuilder().build()) diff --git a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/package-info.java b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/package-info.java index e98658c5b0..0eb5fe6c9d 100644 --- a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/package-info.java +++ b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/package-info.java @@ -29,7 +29,7 @@ * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) { * BatchGetAssetsHistoryRequest request = * BatchGetAssetsHistoryRequest.newBuilder() - * .setParent(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + * .setParent(BillingAccountName.of("[BILLING_ACCOUNT]").toString()) * .addAllAssetNames(new ArrayList()) * .setContentType(ContentType.forNumber(0)) * .setReadTimeWindow(TimeWindow.newBuilder().build()) diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/AsyncGetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/AsyncGetIamPolicy.java index 9da237388c..7c87a8c098 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/AsyncGetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/AsyncGetIamPolicy.java @@ -22,7 +22,7 @@ import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.GetPolicyOptions; import com.google.iam.v1.Policy; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class AsyncGetIamPolicy { @@ -36,7 +36,7 @@ public static void asyncGetIamPolicy() throws Exception { try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); ApiFuture future = schemaServiceClient.getIamPolicyCallable().futureCall(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/SyncGetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/SyncGetIamPolicy.java index f7c1333a26..95ab749d9a 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/SyncGetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/getiampolicy/SyncGetIamPolicy.java @@ -21,7 +21,7 @@ import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.GetPolicyOptions; import com.google.iam.v1.Policy; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class SyncGetIamPolicy { @@ -35,7 +35,7 @@ public static void syncGetIamPolicy() throws Exception { try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); Policy response = schemaServiceClient.getIamPolicy(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/AsyncSetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/AsyncSetIamPolicy.java index 21a968ee0e..5d5981bc34 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/AsyncSetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/AsyncSetIamPolicy.java @@ -21,7 +21,7 @@ import com.google.cloud.pubsub.v1.SchemaServiceClient; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class AsyncSetIamPolicy { @@ -35,7 +35,7 @@ public static void asyncSetIamPolicy() throws Exception { try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); ApiFuture future = schemaServiceClient.setIamPolicyCallable().futureCall(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/SyncSetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/SyncSetIamPolicy.java index 0a729de1c7..cc81608cd7 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/SyncSetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/setiampolicy/SyncSetIamPolicy.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.v1.SchemaServiceClient; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class SyncSetIamPolicy { @@ -34,7 +34,7 @@ public static void syncSetIamPolicy() throws Exception { try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); Policy response = schemaServiceClient.setIamPolicy(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/AsyncTestIamPermissions.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/AsyncTestIamPermissions.java index 460a418bd9..3bf3eedf7a 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/AsyncTestIamPermissions.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/AsyncTestIamPermissions.java @@ -21,7 +21,7 @@ import com.google.cloud.pubsub.v1.SchemaServiceClient; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; import java.util.ArrayList; public class AsyncTestIamPermissions { @@ -36,7 +36,7 @@ public static void asyncTestIamPermissions() throws Exception { try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); ApiFuture future = diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/SyncTestIamPermissions.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/SyncTestIamPermissions.java index 8243336958..0e9ac4f3dd 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/SyncTestIamPermissions.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/schemaserviceclient/testiampermissions/SyncTestIamPermissions.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.v1.SchemaServiceClient; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; import java.util.ArrayList; public class SyncTestIamPermissions { @@ -35,7 +35,7 @@ public static void syncTestIamPermissions() throws Exception { try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); TestIamPermissionsResponse response = schemaServiceClient.testIamPermissions(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/AsyncGetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/AsyncGetIamPolicy.java index 08b3a437a3..7248010b1e 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/AsyncGetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/AsyncGetIamPolicy.java @@ -22,7 +22,7 @@ import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.GetPolicyOptions; import com.google.iam.v1.Policy; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class AsyncGetIamPolicy { @@ -36,7 +36,7 @@ public static void asyncGetIamPolicy() throws Exception { try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); ApiFuture future = subscriptionAdminClient.getIamPolicyCallable().futureCall(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/SyncGetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/SyncGetIamPolicy.java index 6a0c4322fb..35b85d038a 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/SyncGetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/getiampolicy/SyncGetIamPolicy.java @@ -21,7 +21,7 @@ import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.GetPolicyOptions; import com.google.iam.v1.Policy; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class SyncGetIamPolicy { @@ -35,7 +35,7 @@ public static void syncGetIamPolicy() throws Exception { try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); Policy response = subscriptionAdminClient.getIamPolicy(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/AsyncSetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/AsyncSetIamPolicy.java index 2391c2254d..f58ab1a132 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/AsyncSetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/AsyncSetIamPolicy.java @@ -21,7 +21,7 @@ import com.google.cloud.pubsub.v1.SubscriptionAdminClient; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class AsyncSetIamPolicy { @@ -35,7 +35,7 @@ public static void asyncSetIamPolicy() throws Exception { try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); ApiFuture future = subscriptionAdminClient.setIamPolicyCallable().futureCall(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/SyncSetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/SyncSetIamPolicy.java index f58ff8467d..0b8e4a21ec 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/SyncSetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/setiampolicy/SyncSetIamPolicy.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.v1.SubscriptionAdminClient; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class SyncSetIamPolicy { @@ -34,7 +34,7 @@ public static void syncSetIamPolicy() throws Exception { try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); Policy response = subscriptionAdminClient.setIamPolicy(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/AsyncTestIamPermissions.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/AsyncTestIamPermissions.java index 73da08f3c6..fe69cc13c1 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/AsyncTestIamPermissions.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/AsyncTestIamPermissions.java @@ -21,7 +21,7 @@ import com.google.cloud.pubsub.v1.SubscriptionAdminClient; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; import java.util.ArrayList; public class AsyncTestIamPermissions { @@ -36,7 +36,7 @@ public static void asyncTestIamPermissions() throws Exception { try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); ApiFuture future = diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/SyncTestIamPermissions.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/SyncTestIamPermissions.java index b40e380872..aed15af512 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/SyncTestIamPermissions.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/subscriptionadminclient/testiampermissions/SyncTestIamPermissions.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.v1.SubscriptionAdminClient; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; import java.util.ArrayList; public class SyncTestIamPermissions { @@ -35,7 +35,7 @@ public static void syncTestIamPermissions() throws Exception { try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); TestIamPermissionsResponse response = subscriptionAdminClient.testIamPermissions(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/AsyncGetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/AsyncGetIamPolicy.java index e751df5487..03efcd6925 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/AsyncGetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/AsyncGetIamPolicy.java @@ -22,7 +22,7 @@ import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.GetPolicyOptions; import com.google.iam.v1.Policy; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class AsyncGetIamPolicy { @@ -36,7 +36,7 @@ public static void asyncGetIamPolicy() throws Exception { try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); ApiFuture future = topicAdminClient.getIamPolicyCallable().futureCall(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/SyncGetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/SyncGetIamPolicy.java index d44235c6d0..a1ab357e19 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/SyncGetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/getiampolicy/SyncGetIamPolicy.java @@ -21,7 +21,7 @@ import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.GetPolicyOptions; import com.google.iam.v1.Policy; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class SyncGetIamPolicy { @@ -35,7 +35,7 @@ public static void syncGetIamPolicy() throws Exception { try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); Policy response = topicAdminClient.getIamPolicy(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/AsyncSetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/AsyncSetIamPolicy.java index 943213ce6a..525a74b780 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/AsyncSetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/AsyncSetIamPolicy.java @@ -21,7 +21,7 @@ import com.google.cloud.pubsub.v1.TopicAdminClient; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class AsyncSetIamPolicy { @@ -35,7 +35,7 @@ public static void asyncSetIamPolicy() throws Exception { try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); ApiFuture future = topicAdminClient.setIamPolicyCallable().futureCall(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/SyncSetIamPolicy.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/SyncSetIamPolicy.java index 52f912fdaf..df7888a048 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/SyncSetIamPolicy.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/setiampolicy/SyncSetIamPolicy.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.v1.TopicAdminClient; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; public class SyncSetIamPolicy { @@ -34,7 +34,7 @@ public static void syncSetIamPolicy() throws Exception { try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); Policy response = topicAdminClient.setIamPolicy(request); diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/AsyncTestIamPermissions.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/AsyncTestIamPermissions.java index d1c2ce8934..75094a6d92 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/AsyncTestIamPermissions.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/AsyncTestIamPermissions.java @@ -21,7 +21,7 @@ import com.google.cloud.pubsub.v1.TopicAdminClient; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; import java.util.ArrayList; public class AsyncTestIamPermissions { @@ -36,7 +36,7 @@ public static void asyncTestIamPermissions() throws Exception { try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); ApiFuture future = diff --git a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/SyncTestIamPermissions.java b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/SyncTestIamPermissions.java index 2de0c18bbe..bc06d8369b 100644 --- a/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/SyncTestIamPermissions.java +++ b/test/integration/goldens/pubsub/samples/snippets/generated/main/java/com/google/cloud/pubsub/v1/topicadminclient/testiampermissions/SyncTestIamPermissions.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.v1.TopicAdminClient; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; -import com.google.pubsub.v1.ProjectName; +import com.google.pubsub.v1.SnapshotName; import java.util.ArrayList; public class SyncTestIamPermissions { @@ -35,7 +35,7 @@ public static void syncTestIamPermissions() throws Exception { try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); TestIamPermissionsResponse response = topicAdminClient.testIamPermissions(request); diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClient.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClient.java index b6783f5367..ae3d67a80a 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClient.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClient.java @@ -825,7 +825,7 @@ public final ValidateMessageResponse validateMessage(ValidateMessageRequest requ * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * Policy response = schemaServiceClient.setIamPolicy(request); @@ -853,7 +853,7 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * ApiFuture future = schemaServiceClient.setIamPolicyCallable().futureCall(request); @@ -879,7 +879,7 @@ public final UnaryCallable setIamPolicyCallable() { * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * Policy response = schemaServiceClient.getIamPolicy(request); @@ -906,7 +906,7 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) { * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * ApiFuture future = schemaServiceClient.getIamPolicyCallable().futureCall(request); @@ -936,7 +936,7 @@ public final UnaryCallable getIamPolicyCallable() { * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * TestIamPermissionsResponse response = schemaServiceClient.testIamPermissions(request); @@ -967,7 +967,7 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq * try (SchemaServiceClient schemaServiceClient = SchemaServiceClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * ApiFuture future = diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClientTest.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClientTest.java index 75d5e65ea1..fbd7388094 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClientTest.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SchemaServiceClientTest.java @@ -45,6 +45,7 @@ import com.google.pubsub.v1.ProjectName; import com.google.pubsub.v1.Schema; import com.google.pubsub.v1.SchemaName; +import com.google.pubsub.v1.SnapshotName; import com.google.pubsub.v1.ValidateMessageRequest; import com.google.pubsub.v1.ValidateMessageResponse; import com.google.pubsub.v1.ValidateSchemaRequest; @@ -565,7 +566,7 @@ public void setIamPolicyTest() throws Exception { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); @@ -592,7 +593,7 @@ public void setIamPolicyExceptionTest() throws Exception { try { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); client.setIamPolicy(request); @@ -614,7 +615,7 @@ public void getIamPolicyTest() throws Exception { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); @@ -641,7 +642,7 @@ public void getIamPolicyExceptionTest() throws Exception { try { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); client.getIamPolicy(request); @@ -659,7 +660,7 @@ public void testIamPermissionsTest() throws Exception { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); @@ -686,7 +687,7 @@ public void testIamPermissionsExceptionTest() throws Exception { try { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); client.testIamPermissions(request); diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java index 6ce8f4a349..f0695dcd08 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClient.java @@ -2438,7 +2438,7 @@ public final UnaryCallable seekCallable() { * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * Policy response = subscriptionAdminClient.setIamPolicy(request); @@ -2466,7 +2466,7 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * ApiFuture future = subscriptionAdminClient.setIamPolicyCallable().futureCall(request); @@ -2492,7 +2492,7 @@ public final UnaryCallable setIamPolicyCallable() { * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * Policy response = subscriptionAdminClient.getIamPolicy(request); @@ -2519,7 +2519,7 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) { * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * ApiFuture future = subscriptionAdminClient.getIamPolicyCallable().futureCall(request); @@ -2549,7 +2549,7 @@ public final UnaryCallable getIamPolicyCallable() { * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * TestIamPermissionsResponse response = subscriptionAdminClient.testIamPermissions(request); @@ -2580,7 +2580,7 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * ApiFuture future = diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java index 0371ccb62d..9138fddb6d 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/SubscriptionAdminClientTest.java @@ -1685,7 +1685,7 @@ public void setIamPolicyTest() throws Exception { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); @@ -1712,7 +1712,7 @@ public void setIamPolicyExceptionTest() throws Exception { try { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); client.setIamPolicy(request); @@ -1734,7 +1734,7 @@ public void getIamPolicyTest() throws Exception { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); @@ -1761,7 +1761,7 @@ public void getIamPolicyExceptionTest() throws Exception { try { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); client.getIamPolicy(request); @@ -1779,7 +1779,7 @@ public void testIamPermissionsTest() throws Exception { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); @@ -1806,7 +1806,7 @@ public void testIamPermissionsExceptionTest() throws Exception { try { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); client.testIamPermissions(request); diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClient.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClient.java index 30a8a62940..d50e696f2d 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClient.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClient.java @@ -1193,7 +1193,7 @@ public final DetachSubscriptionResponse detachSubscription(DetachSubscriptionReq * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * Policy response = topicAdminClient.setIamPolicy(request); @@ -1221,7 +1221,7 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { * SetIamPolicyRequest request = * SetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setPolicy(Policy.newBuilder().build()) * .build(); * ApiFuture future = topicAdminClient.setIamPolicyCallable().futureCall(request); @@ -1247,7 +1247,7 @@ public final UnaryCallable setIamPolicyCallable() { * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * Policy response = topicAdminClient.getIamPolicy(request); @@ -1274,7 +1274,7 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) { * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { * GetIamPolicyRequest request = * GetIamPolicyRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .setOptions(GetPolicyOptions.newBuilder().build()) * .build(); * ApiFuture future = topicAdminClient.getIamPolicyCallable().futureCall(request); @@ -1304,7 +1304,7 @@ public final UnaryCallable getIamPolicyCallable() { * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * TestIamPermissionsResponse response = topicAdminClient.testIamPermissions(request); @@ -1335,7 +1335,7 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { * TestIamPermissionsRequest request = * TestIamPermissionsRequest.newBuilder() - * .setResource(ProjectName.of("[PROJECT]").toString()) + * .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) * .addAllPermissions(new ArrayList()) * .build(); * ApiFuture future = diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClientTest.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClientTest.java index 1d002ddf5a..f6d60d9032 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClientTest.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/TopicAdminClientTest.java @@ -56,6 +56,7 @@ import com.google.pubsub.v1.PublishResponse; import com.google.pubsub.v1.PubsubMessage; import com.google.pubsub.v1.SchemaSettings; +import com.google.pubsub.v1.SnapshotName; import com.google.pubsub.v1.SubscriptionName; import com.google.pubsub.v1.Topic; import com.google.pubsub.v1.TopicName; @@ -810,7 +811,7 @@ public void setIamPolicyTest() throws Exception { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); @@ -837,7 +838,7 @@ public void setIamPolicyExceptionTest() throws Exception { try { SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setPolicy(Policy.newBuilder().build()) .build(); client.setIamPolicy(request); @@ -859,7 +860,7 @@ public void getIamPolicyTest() throws Exception { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); @@ -886,7 +887,7 @@ public void getIamPolicyExceptionTest() throws Exception { try { GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .setOptions(GetPolicyOptions.newBuilder().build()) .build(); client.getIamPolicy(request); @@ -904,7 +905,7 @@ public void testIamPermissionsTest() throws Exception { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); @@ -931,7 +932,7 @@ public void testIamPermissionsExceptionTest() throws Exception { try { TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder() - .setResource(ProjectName.of("[PROJECT]").toString()) + .setResource(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString()) .addAllPermissions(new ArrayList()) .build(); client.testIamPermissions(request);