diff --git a/google-identity-accesscontextmanager/pom.xml b/google-identity-accesscontextmanager/pom.xml index 574e6ab..cdd7b75 100644 --- a/google-identity-accesscontextmanager/pom.xml +++ b/google-identity-accesscontextmanager/pom.xml @@ -58,6 +58,10 @@ com.google.api gax-grpc + + com.google.api + gax-httpjson + org.threeten threetenbp @@ -77,12 +81,24 @@ test + + com.google.api + gax + testlib + test + com.google.api gax-grpc testlib test + + com.google.api + gax-httpjson + testlib + test + diff --git a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClient.java b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClient.java index 588f74a..0e6bc36 100644 --- a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClient.java +++ b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClient.java @@ -19,6 +19,7 @@ import com.google.api.core.ApiFuture; import com.google.api.core.ApiFutures; import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.httpjson.longrunning.OperationsClient; import com.google.api.gax.longrunning.OperationFuture; import com.google.api.gax.paging.AbstractFixedSizeCollection; import com.google.api.gax.paging.AbstractPage; @@ -30,7 +31,6 @@ import com.google.identity.accesscontextmanager.v1.stub.AccessContextManagerStub; import com.google.identity.accesscontextmanager.v1.stub.AccessContextManagerStubSettings; import com.google.longrunning.Operation; -import com.google.longrunning.OperationsClient; import com.google.protobuf.Empty; import com.google.protobuf.FieldMask; import java.io.IOException; @@ -113,13 +113,29 @@ * AccessContextManagerClient.create(accessContextManagerSettings); * } * + *

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
+ * AccessContextManagerSettings accessContextManagerSettings =
+ *     AccessContextManagerSettings.newBuilder()
+ *         .setTransportChannelProvider(
+ *             AccessContextManagerSettings.defaultHttpJsonTransportProviderBuilder().build())
+ *         .build();
+ * AccessContextManagerClient accessContextManagerClient =
+ *     AccessContextManagerClient.create(accessContextManagerSettings);
+ * }
+ * *

Please refer to the GitHub repository's samples for more quickstart code snippets. */ @Generated("by gapic-generator-java") public class AccessContextManagerClient implements BackgroundResource { private final AccessContextManagerSettings settings; private final AccessContextManagerStub stub; - private final OperationsClient operationsClient; + private final OperationsClient httpJsonOperationsClient; + private final com.google.longrunning.OperationsClient operationsClient; /** Constructs an instance of AccessContextManagerClient with default settings. */ public static final AccessContextManagerClient create() throws IOException { @@ -151,13 +167,17 @@ public static final AccessContextManagerClient create(AccessContextManagerStub s protected AccessContextManagerClient(AccessContextManagerSettings settings) throws IOException { this.settings = settings; this.stub = ((AccessContextManagerStubSettings) settings.getStubSettings()).createStub(); - this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); } protected AccessContextManagerClient(AccessContextManagerStub stub) { this.settings = null; this.stub = stub; - this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); } public final AccessContextManagerSettings getSettings() { @@ -172,10 +192,18 @@ public AccessContextManagerStub getStub() { * Returns the OperationsClient that can be used to query the status of a long-running operation * returned by another API method call. */ - public final OperationsClient getOperationsClient() { + public final com.google.longrunning.OperationsClient getOperationsClient() { return operationsClient; } + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final OperationsClient getHttpJsonOperationsClient() { + return httpJsonOperationsClient; + } + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** * List all [AccessPolicies] [google.identity.accesscontextmanager.v1.AccessPolicy] under a diff --git a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerSettings.java b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerSettings.java index f9d9a90..3dbb43e 100644 --- a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerSettings.java +++ b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerSettings.java @@ -26,6 +26,7 @@ import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.core.InstantiatingExecutorProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; import com.google.api.gax.rpc.ApiClientHeaderProvider; import com.google.api.gax.rpc.ClientContext; import com.google.api.gax.rpc.ClientSettings; @@ -375,11 +376,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde return AccessContextManagerStubSettings.defaultCredentialsProviderBuilder(); } - /** Returns a builder for the default ChannelProvider for this service. */ + /** Returns a builder for the default gRPC ChannelProvider for this service. */ public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { return AccessContextManagerStubSettings.defaultGrpcTransportProviderBuilder(); } + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return AccessContextManagerStubSettings.defaultHttpJsonTransportProviderBuilder(); + } + public static TransportChannelProvider defaultTransportChannelProvider() { return AccessContextManagerStubSettings.defaultTransportChannelProvider(); } @@ -389,11 +397,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil return AccessContextManagerStubSettings.defaultApiClientHeaderProviderBuilder(); } - /** Returns a new builder for this class. */ + /** Returns a new gRPC builder for this class. */ public static Builder newBuilder() { return Builder.createDefault(); } + /** Returns a new REST builder for this class. */ + @BetaApi + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + /** Returns a new builder for this class. */ public static Builder newBuilder(ClientContext clientContext) { return new Builder(clientContext); @@ -432,6 +446,11 @@ private static Builder createDefault() { return new Builder(AccessContextManagerStubSettings.newBuilder()); } + @BetaApi + private static Builder createHttpJsonDefault() { + return new Builder(AccessContextManagerStubSettings.newHttpJsonBuilder()); + } + public AccessContextManagerStubSettings.Builder getStubSettingsBuilder() { return ((AccessContextManagerStubSettings.Builder) getStubSettings()); } diff --git a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStub.java b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStub.java index cd4df82..5ab449a 100644 --- a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStub.java +++ b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStub.java @@ -74,7 +74,11 @@ public abstract class AccessContextManagerStub implements BackgroundResource { public OperationsStub getOperationsStub() { - throw new UnsupportedOperationException("Not implemented: getOperationsStub()"); + return null; + } + + public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() { + return null; } public UnaryCallable diff --git a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStubSettings.java b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStubSettings.java index db1dd34..9a34751 100644 --- a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStubSettings.java +++ b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStubSettings.java @@ -31,6 +31,9 @@ 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; @@ -755,6 +758,11 @@ public AccessContextManagerStub createStub() throws IOException { .equals(GrpcTransportChannel.getGrpcTransportName())) { return GrpcAccessContextManagerStub.create(this); } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonAccessContextManagerStub.create(this); + } throw new UnsupportedOperationException( String.format( "Transport not supported: %s", getTransportChannelProvider().getTransportName())); @@ -787,18 +795,25 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde .setUseJwtAccessWithScope(true); } - /** Returns a builder for the default ChannelProvider for this service. */ + /** Returns a builder for the default gRPC ChannelProvider for this service. */ public static InstantiatingGrpcChannelProvider.Builder 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 InstantiatingHttpJsonChannelProvider.newBuilder(); + } + public static TransportChannelProvider defaultTransportChannelProvider() { return defaultGrpcTransportProviderBuilder().build(); } @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") - public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { return ApiClientHeaderProvider.newBuilder() .setGeneratedLibToken( "gapic", GaxProperties.getLibraryVersion(AccessContextManagerStubSettings.class)) @@ -806,11 +821,30 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); } - /** Returns a new builder for this class. */ + @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(AccessContextManagerStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return AccessContextManagerStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ public static Builder newBuilder() { return Builder.createDefault(); } + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + /** Returns a new builder for this class. */ public static Builder newBuilder(ClientContext clientContext) { return new Builder(clientContext); @@ -1191,6 +1225,19 @@ private static Builder createDefault() { return initDefaults(builder); } + private static Builder createHttpJsonDefault() { + 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); + } + private static Builder initDefaults(Builder builder) { builder .listAccessPoliciesSettings() diff --git a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/HttpJsonAccessContextManagerCallableFactory.java b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/HttpJsonAccessContextManagerCallableFactory.java new file mode 100644 index 0000000..bb4a078 --- /dev/null +++ b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/HttpJsonAccessContextManagerCallableFactory.java @@ -0,0 +1,105 @@ +/* + * 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 + * + * https://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.identity.accesscontextmanager.v1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonCallableFactory; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST callable factory implementation for the AccessContextManager service API. + * + *

This class is for advanced usage. + */ +@Generated("by gapic-generator-java") +@BetaApi +public class HttpJsonAccessContextManagerCallableFactory + implements HttpJsonStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + HttpJsonCallSettings httpJsonCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createUnaryCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + HttpJsonCallSettings httpJsonCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createPagedCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + HttpJsonCallSettings httpJsonCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createBatchingCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @BetaApi( + "The surface for long-running operations is not stable yet and may change in the future.") + @Override + public + OperationCallable createOperationCallable( + HttpJsonCallSettings httpJsonCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + UnaryCallable innerCallable = + HttpJsonCallableFactory.createBaseUnaryCallable( + httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); + HttpJsonOperationSnapshotCallable initialCallable = + new HttpJsonOperationSnapshotCallable( + innerCallable, + httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); + return HttpJsonCallableFactory.createOperationCallable( + callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + HttpJsonCallSettings httpJsonCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createServerStreamingCallable( + httpJsonCallSettings, callSettings, clientContext); + } +} diff --git a/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/HttpJsonAccessContextManagerStub.java b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/HttpJsonAccessContextManagerStub.java new file mode 100644 index 0000000..2f43c74 --- /dev/null +++ b/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/HttpJsonAccessContextManagerStub.java @@ -0,0 +1,1827 @@ +/* + * 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 + * + * https://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.identity.accesscontextmanager.v1.stub; + +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListAccessLevelsPagedResponse; +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListAccessPoliciesPagedResponse; +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListGcpUserAccessBindingsPagedResponse; +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListServicePerimetersPagedResponse; + +import com.google.api.core.BetaApi; +import com.google.api.core.InternalApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.httpjson.ApiMethodDescriptor; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshot; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; +import com.google.api.gax.httpjson.ProtoMessageResponseParser; +import com.google.api.gax.httpjson.ProtoRestSerializer; +import com.google.api.gax.httpjson.longrunning.stub.HttpJsonOperationsStub; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata; +import com.google.identity.accesscontextmanager.v1.AccessLevel; +import com.google.identity.accesscontextmanager.v1.AccessPolicy; +import com.google.identity.accesscontextmanager.v1.CommitServicePerimetersRequest; +import com.google.identity.accesscontextmanager.v1.CommitServicePerimetersResponse; +import com.google.identity.accesscontextmanager.v1.CreateAccessLevelRequest; +import com.google.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest; +import com.google.identity.accesscontextmanager.v1.CreateServicePerimeterRequest; +import com.google.identity.accesscontextmanager.v1.DeleteAccessLevelRequest; +import com.google.identity.accesscontextmanager.v1.DeleteAccessPolicyRequest; +import com.google.identity.accesscontextmanager.v1.DeleteGcpUserAccessBindingRequest; +import com.google.identity.accesscontextmanager.v1.DeleteServicePerimeterRequest; +import com.google.identity.accesscontextmanager.v1.GcpUserAccessBinding; +import com.google.identity.accesscontextmanager.v1.GcpUserAccessBindingOperationMetadata; +import com.google.identity.accesscontextmanager.v1.GetAccessLevelRequest; +import com.google.identity.accesscontextmanager.v1.GetAccessPolicyRequest; +import com.google.identity.accesscontextmanager.v1.GetGcpUserAccessBindingRequest; +import com.google.identity.accesscontextmanager.v1.GetServicePerimeterRequest; +import com.google.identity.accesscontextmanager.v1.ListAccessLevelsRequest; +import com.google.identity.accesscontextmanager.v1.ListAccessLevelsResponse; +import com.google.identity.accesscontextmanager.v1.ListAccessPoliciesRequest; +import com.google.identity.accesscontextmanager.v1.ListAccessPoliciesResponse; +import com.google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsRequest; +import com.google.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse; +import com.google.identity.accesscontextmanager.v1.ListServicePerimetersRequest; +import com.google.identity.accesscontextmanager.v1.ListServicePerimetersResponse; +import com.google.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest; +import com.google.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse; +import com.google.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest; +import com.google.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse; +import com.google.identity.accesscontextmanager.v1.ServicePerimeter; +import com.google.identity.accesscontextmanager.v1.UpdateAccessLevelRequest; +import com.google.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest; +import com.google.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest; +import com.google.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import com.google.protobuf.TypeRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST stub implementation for the AccessContextManager service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +@BetaApi +public class HttpJsonAccessContextManagerStub extends AccessContextManagerStub { + private static final TypeRegistry typeRegistry = + TypeRegistry.newBuilder() + .add(Empty.getDescriptor()) + .add(AccessPolicy.getDescriptor()) + .add(GcpUserAccessBinding.getDescriptor()) + .add(ReplaceAccessLevelsResponse.getDescriptor()) + .add(ServicePerimeter.getDescriptor()) + .add(ReplaceServicePerimetersResponse.getDescriptor()) + .add(CommitServicePerimetersResponse.getDescriptor()) + .add(AccessLevel.getDescriptor()) + .add(AccessContextManagerOperationMetadata.getDescriptor()) + .add(GcpUserAccessBindingOperationMetadata.getDescriptor()) + .build(); + + private static final ApiMethodDescriptor + listAccessPoliciesMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/ListAccessPolicies") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/accessPolicies", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "parent", request.getParent()); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListAccessPoliciesResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getAccessPolicyMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/GetAccessPolicy") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=accessPolicies/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(AccessPolicy.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createAccessPolicyMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessPolicy") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/accessPolicies", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create().toBody("*", request.toBuilder().build())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (AccessPolicy request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateAccessPolicyMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessPolicy") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{policy.name=accessPolicies/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, "policy.name", request.getPolicy().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create().toBody("policy", request.getPolicy())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateAccessPolicyRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteAccessPolicyMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessPolicy") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=accessPolicies/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteAccessPolicyRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + listAccessLevelsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/ListAccessLevels") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/accessLevels", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam( + fields, "accessLevelFormat", request.getAccessLevelFormat()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListAccessLevelsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getAccessLevelMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/GetAccessLevel") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=accessPolicies/*/accessLevels/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam( + fields, "accessLevelFormat", request.getAccessLevelFormat()); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(AccessLevel.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createAccessLevelMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessLevel") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/accessLevels", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("accessLevel", request.getAccessLevel())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CreateAccessLevelRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateAccessLevelMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessLevel") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{accessLevel.name=accessPolicies/*/accessLevels/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, "accessLevel.name", request.getAccessLevel().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("accessLevel", request.getAccessLevel())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateAccessLevelRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteAccessLevelMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessLevel") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=accessPolicies/*/accessLevels/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteAccessLevelRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + replaceAccessLevelsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/ReplaceAccessLevels") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/accessLevels:replaceAll", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearParent().build())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (ReplaceAccessLevelsRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor< + ListServicePerimetersRequest, ListServicePerimetersResponse> + listServicePerimetersMethodDescriptor = + ApiMethodDescriptor + .newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/ListServicePerimeters") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/servicePerimeters", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListServicePerimetersResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getServicePerimeterMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/GetServicePerimeter") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=accessPolicies/*/servicePerimeters/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ServicePerimeter.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createServicePerimeterMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/CreateServicePerimeter") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/servicePerimeters", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("servicePerimeter", request.getServicePerimeter())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CreateServicePerimeterRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateServicePerimeterMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/UpdateServicePerimeter") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{servicePerimeter.name=accessPolicies/*/servicePerimeters/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, + "servicePerimeter.name", + request.getServicePerimeter().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("servicePerimeter", request.getServicePerimeter())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateServicePerimeterRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteServicePerimeterMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/DeleteServicePerimeter") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=accessPolicies/*/servicePerimeters/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteServicePerimeterRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + replaceServicePerimetersMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/ReplaceServicePerimeters") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearParent().build())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (ReplaceServicePerimetersRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + commitServicePerimetersMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/CommitServicePerimeters") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=accessPolicies/*}/servicePerimeters:commit", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearParent().build())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CommitServicePerimetersRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor< + ListGcpUserAccessBindingsRequest, ListGcpUserAccessBindingsResponse> + listGcpUserAccessBindingsMethodDescriptor = + ApiMethodDescriptor + .newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/ListGcpUserAccessBindings") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=organizations/*}/gcpUserAccessBindings", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListGcpUserAccessBindingsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getGcpUserAccessBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/GetGcpUserAccessBinding") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=organizations/*/gcpUserAccessBindings/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(GcpUserAccessBinding.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createGcpUserAccessBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/CreateGcpUserAccessBinding") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=organizations/*}/gcpUserAccessBindings", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody( + "gcpUserAccessBinding", request.getGcpUserAccessBinding())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CreateGcpUserAccessBindingRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateGcpUserAccessBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/UpdateGcpUserAccessBinding") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{gcpUserAccessBinding.name=organizations/*/gcpUserAccessBindings/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, + "gcpUserAccessBinding.name", + request.getGcpUserAccessBinding().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody( + "gcpUserAccessBinding", request.getGcpUserAccessBinding())) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateGcpUserAccessBindingRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteGcpUserAccessBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.identity.accesscontextmanager.v1.AccessContextManager/DeleteGcpUserAccessBinding") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=organizations/*/gcpUserAccessBindings/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteGcpUserAccessBindingRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private final UnaryCallable + listAccessPoliciesCallable; + private final UnaryCallable + listAccessPoliciesPagedCallable; + private final UnaryCallable getAccessPolicyCallable; + private final UnaryCallable createAccessPolicyCallable; + private final OperationCallable + createAccessPolicyOperationCallable; + private final UnaryCallable updateAccessPolicyCallable; + private final OperationCallable< + UpdateAccessPolicyRequest, AccessPolicy, AccessContextManagerOperationMetadata> + updateAccessPolicyOperationCallable; + private final UnaryCallable deleteAccessPolicyCallable; + private final OperationCallable< + DeleteAccessPolicyRequest, Empty, AccessContextManagerOperationMetadata> + deleteAccessPolicyOperationCallable; + private final UnaryCallable + listAccessLevelsCallable; + private final UnaryCallable + listAccessLevelsPagedCallable; + private final UnaryCallable getAccessLevelCallable; + private final UnaryCallable createAccessLevelCallable; + private final OperationCallable< + CreateAccessLevelRequest, AccessLevel, AccessContextManagerOperationMetadata> + createAccessLevelOperationCallable; + private final UnaryCallable updateAccessLevelCallable; + private final OperationCallable< + UpdateAccessLevelRequest, AccessLevel, AccessContextManagerOperationMetadata> + updateAccessLevelOperationCallable; + private final UnaryCallable deleteAccessLevelCallable; + private final OperationCallable< + DeleteAccessLevelRequest, Empty, AccessContextManagerOperationMetadata> + deleteAccessLevelOperationCallable; + private final UnaryCallable replaceAccessLevelsCallable; + private final OperationCallable< + ReplaceAccessLevelsRequest, + ReplaceAccessLevelsResponse, + AccessContextManagerOperationMetadata> + replaceAccessLevelsOperationCallable; + private final UnaryCallable + listServicePerimetersCallable; + private final UnaryCallable + listServicePerimetersPagedCallable; + private final UnaryCallable + getServicePerimeterCallable; + private final UnaryCallable + createServicePerimeterCallable; + private final OperationCallable< + CreateServicePerimeterRequest, ServicePerimeter, AccessContextManagerOperationMetadata> + createServicePerimeterOperationCallable; + private final UnaryCallable + updateServicePerimeterCallable; + private final OperationCallable< + UpdateServicePerimeterRequest, ServicePerimeter, AccessContextManagerOperationMetadata> + updateServicePerimeterOperationCallable; + private final UnaryCallable + deleteServicePerimeterCallable; + private final OperationCallable< + DeleteServicePerimeterRequest, Empty, AccessContextManagerOperationMetadata> + deleteServicePerimeterOperationCallable; + private final UnaryCallable + replaceServicePerimetersCallable; + private final OperationCallable< + ReplaceServicePerimetersRequest, + ReplaceServicePerimetersResponse, + AccessContextManagerOperationMetadata> + replaceServicePerimetersOperationCallable; + private final UnaryCallable + commitServicePerimetersCallable; + private final OperationCallable< + CommitServicePerimetersRequest, + CommitServicePerimetersResponse, + AccessContextManagerOperationMetadata> + commitServicePerimetersOperationCallable; + private final UnaryCallable + listGcpUserAccessBindingsCallable; + private final UnaryCallable< + ListGcpUserAccessBindingsRequest, ListGcpUserAccessBindingsPagedResponse> + listGcpUserAccessBindingsPagedCallable; + private final UnaryCallable + getGcpUserAccessBindingCallable; + private final UnaryCallable + createGcpUserAccessBindingCallable; + private final OperationCallable< + CreateGcpUserAccessBindingRequest, + GcpUserAccessBinding, + GcpUserAccessBindingOperationMetadata> + createGcpUserAccessBindingOperationCallable; + private final UnaryCallable + updateGcpUserAccessBindingCallable; + private final OperationCallable< + UpdateGcpUserAccessBindingRequest, + GcpUserAccessBinding, + GcpUserAccessBindingOperationMetadata> + updateGcpUserAccessBindingOperationCallable; + private final UnaryCallable + deleteGcpUserAccessBindingCallable; + private final OperationCallable< + DeleteGcpUserAccessBindingRequest, Empty, GcpUserAccessBindingOperationMetadata> + deleteGcpUserAccessBindingOperationCallable; + + private final BackgroundResource backgroundResources; + private final HttpJsonOperationsStub httpJsonOperationsStub; + private final HttpJsonStubCallableFactory callableFactory; + + public static final HttpJsonAccessContextManagerStub create( + AccessContextManagerStubSettings settings) throws IOException { + return new HttpJsonAccessContextManagerStub(settings, ClientContext.create(settings)); + } + + public static final HttpJsonAccessContextManagerStub create(ClientContext clientContext) + throws IOException { + return new HttpJsonAccessContextManagerStub( + AccessContextManagerStubSettings.newHttpJsonBuilder().build(), clientContext); + } + + public static final HttpJsonAccessContextManagerStub create( + ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { + return new HttpJsonAccessContextManagerStub( + AccessContextManagerStubSettings.newHttpJsonBuilder().build(), + clientContext, + callableFactory); + } + + /** + * Constructs an instance of HttpJsonAccessContextManagerStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonAccessContextManagerStub( + AccessContextManagerStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new HttpJsonAccessContextManagerCallableFactory()); + } + + /** + * Constructs an instance of HttpJsonAccessContextManagerStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonAccessContextManagerStub( + AccessContextManagerStubSettings settings, + ClientContext clientContext, + HttpJsonStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.httpJsonOperationsStub = + HttpJsonOperationsStub.create(clientContext, callableFactory, typeRegistry); + + HttpJsonCallSettings + listAccessPoliciesTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listAccessPoliciesMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings getAccessPolicyTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getAccessPolicyMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings createAccessPolicyTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createAccessPolicyMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings updateAccessPolicyTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateAccessPolicyMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings deleteAccessPolicyTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteAccessPolicyMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + listAccessLevelsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listAccessLevelsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings getAccessLevelTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getAccessLevelMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings createAccessLevelTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createAccessLevelMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings updateAccessLevelTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateAccessLevelMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings deleteAccessLevelTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteAccessLevelMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + replaceAccessLevelsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(replaceAccessLevelsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + listServicePerimetersTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(listServicePerimetersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + getServicePerimeterTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getServicePerimeterMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + createServicePerimeterTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createServicePerimeterMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + updateServicePerimeterTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateServicePerimeterMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + deleteServicePerimeterTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteServicePerimeterMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + replaceServicePerimetersTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(replaceServicePerimetersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + commitServicePerimetersTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(commitServicePerimetersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + listGcpUserAccessBindingsTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(listGcpUserAccessBindingsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + getGcpUserAccessBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getGcpUserAccessBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + createGcpUserAccessBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createGcpUserAccessBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + updateGcpUserAccessBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateGcpUserAccessBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings + deleteGcpUserAccessBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteGcpUserAccessBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + + this.listAccessPoliciesCallable = + callableFactory.createUnaryCallable( + listAccessPoliciesTransportSettings, + settings.listAccessPoliciesSettings(), + clientContext); + this.listAccessPoliciesPagedCallable = + callableFactory.createPagedCallable( + listAccessPoliciesTransportSettings, + settings.listAccessPoliciesSettings(), + clientContext); + this.getAccessPolicyCallable = + callableFactory.createUnaryCallable( + getAccessPolicyTransportSettings, settings.getAccessPolicySettings(), clientContext); + this.createAccessPolicyCallable = + callableFactory.createUnaryCallable( + createAccessPolicyTransportSettings, + settings.createAccessPolicySettings(), + clientContext); + this.createAccessPolicyOperationCallable = + callableFactory.createOperationCallable( + createAccessPolicyTransportSettings, + settings.createAccessPolicyOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateAccessPolicyCallable = + callableFactory.createUnaryCallable( + updateAccessPolicyTransportSettings, + settings.updateAccessPolicySettings(), + clientContext); + this.updateAccessPolicyOperationCallable = + callableFactory.createOperationCallable( + updateAccessPolicyTransportSettings, + settings.updateAccessPolicyOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteAccessPolicyCallable = + callableFactory.createUnaryCallable( + deleteAccessPolicyTransportSettings, + settings.deleteAccessPolicySettings(), + clientContext); + this.deleteAccessPolicyOperationCallable = + callableFactory.createOperationCallable( + deleteAccessPolicyTransportSettings, + settings.deleteAccessPolicyOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.listAccessLevelsCallable = + callableFactory.createUnaryCallable( + listAccessLevelsTransportSettings, settings.listAccessLevelsSettings(), clientContext); + this.listAccessLevelsPagedCallable = + callableFactory.createPagedCallable( + listAccessLevelsTransportSettings, settings.listAccessLevelsSettings(), clientContext); + this.getAccessLevelCallable = + callableFactory.createUnaryCallable( + getAccessLevelTransportSettings, settings.getAccessLevelSettings(), clientContext); + this.createAccessLevelCallable = + callableFactory.createUnaryCallable( + createAccessLevelTransportSettings, + settings.createAccessLevelSettings(), + clientContext); + this.createAccessLevelOperationCallable = + callableFactory.createOperationCallable( + createAccessLevelTransportSettings, + settings.createAccessLevelOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateAccessLevelCallable = + callableFactory.createUnaryCallable( + updateAccessLevelTransportSettings, + settings.updateAccessLevelSettings(), + clientContext); + this.updateAccessLevelOperationCallable = + callableFactory.createOperationCallable( + updateAccessLevelTransportSettings, + settings.updateAccessLevelOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteAccessLevelCallable = + callableFactory.createUnaryCallable( + deleteAccessLevelTransportSettings, + settings.deleteAccessLevelSettings(), + clientContext); + this.deleteAccessLevelOperationCallable = + callableFactory.createOperationCallable( + deleteAccessLevelTransportSettings, + settings.deleteAccessLevelOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.replaceAccessLevelsCallable = + callableFactory.createUnaryCallable( + replaceAccessLevelsTransportSettings, + settings.replaceAccessLevelsSettings(), + clientContext); + this.replaceAccessLevelsOperationCallable = + callableFactory.createOperationCallable( + replaceAccessLevelsTransportSettings, + settings.replaceAccessLevelsOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.listServicePerimetersCallable = + callableFactory.createUnaryCallable( + listServicePerimetersTransportSettings, + settings.listServicePerimetersSettings(), + clientContext); + this.listServicePerimetersPagedCallable = + callableFactory.createPagedCallable( + listServicePerimetersTransportSettings, + settings.listServicePerimetersSettings(), + clientContext); + this.getServicePerimeterCallable = + callableFactory.createUnaryCallable( + getServicePerimeterTransportSettings, + settings.getServicePerimeterSettings(), + clientContext); + this.createServicePerimeterCallable = + callableFactory.createUnaryCallable( + createServicePerimeterTransportSettings, + settings.createServicePerimeterSettings(), + clientContext); + this.createServicePerimeterOperationCallable = + callableFactory.createOperationCallable( + createServicePerimeterTransportSettings, + settings.createServicePerimeterOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateServicePerimeterCallable = + callableFactory.createUnaryCallable( + updateServicePerimeterTransportSettings, + settings.updateServicePerimeterSettings(), + clientContext); + this.updateServicePerimeterOperationCallable = + callableFactory.createOperationCallable( + updateServicePerimeterTransportSettings, + settings.updateServicePerimeterOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteServicePerimeterCallable = + callableFactory.createUnaryCallable( + deleteServicePerimeterTransportSettings, + settings.deleteServicePerimeterSettings(), + clientContext); + this.deleteServicePerimeterOperationCallable = + callableFactory.createOperationCallable( + deleteServicePerimeterTransportSettings, + settings.deleteServicePerimeterOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.replaceServicePerimetersCallable = + callableFactory.createUnaryCallable( + replaceServicePerimetersTransportSettings, + settings.replaceServicePerimetersSettings(), + clientContext); + this.replaceServicePerimetersOperationCallable = + callableFactory.createOperationCallable( + replaceServicePerimetersTransportSettings, + settings.replaceServicePerimetersOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.commitServicePerimetersCallable = + callableFactory.createUnaryCallable( + commitServicePerimetersTransportSettings, + settings.commitServicePerimetersSettings(), + clientContext); + this.commitServicePerimetersOperationCallable = + callableFactory.createOperationCallable( + commitServicePerimetersTransportSettings, + settings.commitServicePerimetersOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.listGcpUserAccessBindingsCallable = + callableFactory.createUnaryCallable( + listGcpUserAccessBindingsTransportSettings, + settings.listGcpUserAccessBindingsSettings(), + clientContext); + this.listGcpUserAccessBindingsPagedCallable = + callableFactory.createPagedCallable( + listGcpUserAccessBindingsTransportSettings, + settings.listGcpUserAccessBindingsSettings(), + clientContext); + this.getGcpUserAccessBindingCallable = + callableFactory.createUnaryCallable( + getGcpUserAccessBindingTransportSettings, + settings.getGcpUserAccessBindingSettings(), + clientContext); + this.createGcpUserAccessBindingCallable = + callableFactory.createUnaryCallable( + createGcpUserAccessBindingTransportSettings, + settings.createGcpUserAccessBindingSettings(), + clientContext); + this.createGcpUserAccessBindingOperationCallable = + callableFactory.createOperationCallable( + createGcpUserAccessBindingTransportSettings, + settings.createGcpUserAccessBindingOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateGcpUserAccessBindingCallable = + callableFactory.createUnaryCallable( + updateGcpUserAccessBindingTransportSettings, + settings.updateGcpUserAccessBindingSettings(), + clientContext); + this.updateGcpUserAccessBindingOperationCallable = + callableFactory.createOperationCallable( + updateGcpUserAccessBindingTransportSettings, + settings.updateGcpUserAccessBindingOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteGcpUserAccessBindingCallable = + callableFactory.createUnaryCallable( + deleteGcpUserAccessBindingTransportSettings, + settings.deleteGcpUserAccessBindingSettings(), + clientContext); + this.deleteGcpUserAccessBindingOperationCallable = + callableFactory.createOperationCallable( + deleteGcpUserAccessBindingTransportSettings, + settings.deleteGcpUserAccessBindingOperationSettings(), + clientContext, + httpJsonOperationsStub); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + @InternalApi + public static List getMethodDescriptors() { + List methodDescriptors = new ArrayList<>(); + methodDescriptors.add(listAccessPoliciesMethodDescriptor); + methodDescriptors.add(getAccessPolicyMethodDescriptor); + methodDescriptors.add(createAccessPolicyMethodDescriptor); + methodDescriptors.add(updateAccessPolicyMethodDescriptor); + methodDescriptors.add(deleteAccessPolicyMethodDescriptor); + methodDescriptors.add(listAccessLevelsMethodDescriptor); + methodDescriptors.add(getAccessLevelMethodDescriptor); + methodDescriptors.add(createAccessLevelMethodDescriptor); + methodDescriptors.add(updateAccessLevelMethodDescriptor); + methodDescriptors.add(deleteAccessLevelMethodDescriptor); + methodDescriptors.add(replaceAccessLevelsMethodDescriptor); + methodDescriptors.add(listServicePerimetersMethodDescriptor); + methodDescriptors.add(getServicePerimeterMethodDescriptor); + methodDescriptors.add(createServicePerimeterMethodDescriptor); + methodDescriptors.add(updateServicePerimeterMethodDescriptor); + methodDescriptors.add(deleteServicePerimeterMethodDescriptor); + methodDescriptors.add(replaceServicePerimetersMethodDescriptor); + methodDescriptors.add(commitServicePerimetersMethodDescriptor); + methodDescriptors.add(listGcpUserAccessBindingsMethodDescriptor); + methodDescriptors.add(getGcpUserAccessBindingMethodDescriptor); + methodDescriptors.add(createGcpUserAccessBindingMethodDescriptor); + methodDescriptors.add(updateGcpUserAccessBindingMethodDescriptor); + methodDescriptors.add(deleteGcpUserAccessBindingMethodDescriptor); + return methodDescriptors; + } + + public HttpJsonOperationsStub getHttpJsonOperationsStub() { + return httpJsonOperationsStub; + } + + @Override + public UnaryCallable + listAccessPoliciesCallable() { + return listAccessPoliciesCallable; + } + + @Override + public UnaryCallable + listAccessPoliciesPagedCallable() { + return listAccessPoliciesPagedCallable; + } + + @Override + public UnaryCallable getAccessPolicyCallable() { + return getAccessPolicyCallable; + } + + @Override + public UnaryCallable createAccessPolicyCallable() { + return createAccessPolicyCallable; + } + + @Override + public OperationCallable + createAccessPolicyOperationCallable() { + return createAccessPolicyOperationCallable; + } + + @Override + public UnaryCallable updateAccessPolicyCallable() { + return updateAccessPolicyCallable; + } + + @Override + public OperationCallable< + UpdateAccessPolicyRequest, AccessPolicy, AccessContextManagerOperationMetadata> + updateAccessPolicyOperationCallable() { + return updateAccessPolicyOperationCallable; + } + + @Override + public UnaryCallable deleteAccessPolicyCallable() { + return deleteAccessPolicyCallable; + } + + @Override + public OperationCallable + deleteAccessPolicyOperationCallable() { + return deleteAccessPolicyOperationCallable; + } + + @Override + public UnaryCallable + listAccessLevelsCallable() { + return listAccessLevelsCallable; + } + + @Override + public UnaryCallable + listAccessLevelsPagedCallable() { + return listAccessLevelsPagedCallable; + } + + @Override + public UnaryCallable getAccessLevelCallable() { + return getAccessLevelCallable; + } + + @Override + public UnaryCallable createAccessLevelCallable() { + return createAccessLevelCallable; + } + + @Override + public OperationCallable< + CreateAccessLevelRequest, AccessLevel, AccessContextManagerOperationMetadata> + createAccessLevelOperationCallable() { + return createAccessLevelOperationCallable; + } + + @Override + public UnaryCallable updateAccessLevelCallable() { + return updateAccessLevelCallable; + } + + @Override + public OperationCallable< + UpdateAccessLevelRequest, AccessLevel, AccessContextManagerOperationMetadata> + updateAccessLevelOperationCallable() { + return updateAccessLevelOperationCallable; + } + + @Override + public UnaryCallable deleteAccessLevelCallable() { + return deleteAccessLevelCallable; + } + + @Override + public OperationCallable + deleteAccessLevelOperationCallable() { + return deleteAccessLevelOperationCallable; + } + + @Override + public UnaryCallable replaceAccessLevelsCallable() { + return replaceAccessLevelsCallable; + } + + @Override + public OperationCallable< + ReplaceAccessLevelsRequest, + ReplaceAccessLevelsResponse, + AccessContextManagerOperationMetadata> + replaceAccessLevelsOperationCallable() { + return replaceAccessLevelsOperationCallable; + } + + @Override + public UnaryCallable + listServicePerimetersCallable() { + return listServicePerimetersCallable; + } + + @Override + public UnaryCallable + listServicePerimetersPagedCallable() { + return listServicePerimetersPagedCallable; + } + + @Override + public UnaryCallable getServicePerimeterCallable() { + return getServicePerimeterCallable; + } + + @Override + public UnaryCallable createServicePerimeterCallable() { + return createServicePerimeterCallable; + } + + @Override + public OperationCallable< + CreateServicePerimeterRequest, ServicePerimeter, AccessContextManagerOperationMetadata> + createServicePerimeterOperationCallable() { + return createServicePerimeterOperationCallable; + } + + @Override + public UnaryCallable updateServicePerimeterCallable() { + return updateServicePerimeterCallable; + } + + @Override + public OperationCallable< + UpdateServicePerimeterRequest, ServicePerimeter, AccessContextManagerOperationMetadata> + updateServicePerimeterOperationCallable() { + return updateServicePerimeterOperationCallable; + } + + @Override + public UnaryCallable deleteServicePerimeterCallable() { + return deleteServicePerimeterCallable; + } + + @Override + public OperationCallable< + DeleteServicePerimeterRequest, Empty, AccessContextManagerOperationMetadata> + deleteServicePerimeterOperationCallable() { + return deleteServicePerimeterOperationCallable; + } + + @Override + public UnaryCallable + replaceServicePerimetersCallable() { + return replaceServicePerimetersCallable; + } + + @Override + public OperationCallable< + ReplaceServicePerimetersRequest, + ReplaceServicePerimetersResponse, + AccessContextManagerOperationMetadata> + replaceServicePerimetersOperationCallable() { + return replaceServicePerimetersOperationCallable; + } + + @Override + public UnaryCallable + commitServicePerimetersCallable() { + return commitServicePerimetersCallable; + } + + @Override + public OperationCallable< + CommitServicePerimetersRequest, + CommitServicePerimetersResponse, + AccessContextManagerOperationMetadata> + commitServicePerimetersOperationCallable() { + return commitServicePerimetersOperationCallable; + } + + @Override + public UnaryCallable + listGcpUserAccessBindingsCallable() { + return listGcpUserAccessBindingsCallable; + } + + @Override + public UnaryCallable + listGcpUserAccessBindingsPagedCallable() { + return listGcpUserAccessBindingsPagedCallable; + } + + @Override + public UnaryCallable + getGcpUserAccessBindingCallable() { + return getGcpUserAccessBindingCallable; + } + + @Override + public UnaryCallable + createGcpUserAccessBindingCallable() { + return createGcpUserAccessBindingCallable; + } + + @Override + public OperationCallable< + CreateGcpUserAccessBindingRequest, + GcpUserAccessBinding, + GcpUserAccessBindingOperationMetadata> + createGcpUserAccessBindingOperationCallable() { + return createGcpUserAccessBindingOperationCallable; + } + + @Override + public UnaryCallable + updateGcpUserAccessBindingCallable() { + return updateGcpUserAccessBindingCallable; + } + + @Override + public OperationCallable< + UpdateGcpUserAccessBindingRequest, + GcpUserAccessBinding, + GcpUserAccessBindingOperationMetadata> + updateGcpUserAccessBindingOperationCallable() { + return updateGcpUserAccessBindingOperationCallable; + } + + @Override + public UnaryCallable + deleteGcpUserAccessBindingCallable() { + return deleteGcpUserAccessBindingCallable; + } + + @Override + public OperationCallable< + DeleteGcpUserAccessBindingRequest, Empty, GcpUserAccessBindingOperationMetadata> + deleteGcpUserAccessBindingOperationCallable() { + return deleteGcpUserAccessBindingOperationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/google-identity-accesscontextmanager/src/test/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClientHttpJsonTest.java b/google-identity-accesscontextmanager/src/test/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClientHttpJsonTest.java new file mode 100644 index 0000000..b126b10 --- /dev/null +++ b/google-identity-accesscontextmanager/src/test/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClientHttpJsonTest.java @@ -0,0 +1,2084 @@ +/* + * 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 + * + * https://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.identity.accesscontextmanager.v1; + +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListAccessLevelsPagedResponse; +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListAccessPoliciesPagedResponse; +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListGcpUserAccessBindingsPagedResponse; +import static com.google.identity.accesscontextmanager.v1.AccessContextManagerClient.ListServicePerimetersPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiException; +import com.google.api.gax.rpc.ApiExceptionFactory; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.common.collect.Lists; +import com.google.identity.accesscontextmanager.v1.stub.HttpJsonAccessContextManagerStub; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Timestamp; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class AccessContextManagerClientHttpJsonTest { + private static MockHttpService mockService; + private static AccessContextManagerClient client; + + @BeforeClass + public static void startStaticServer() throws IOException { + mockService = + new MockHttpService( + HttpJsonAccessContextManagerStub.getMethodDescriptors(), + AccessContextManagerSettings.getDefaultEndpoint()); + AccessContextManagerSettings settings = + AccessContextManagerSettings.newHttpJsonBuilder() + .setTransportChannelProvider( + AccessContextManagerSettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(mockService) + .build()) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = AccessContextManagerClient.create(settings); + } + + @AfterClass + public static void stopServer() { + client.close(); + } + + @Before + public void setUp() {} + + @After + public void tearDown() throws Exception { + mockService.reset(); + } + + @Test + public void listAccessPoliciesTest() throws Exception { + AccessPolicy responsesElement = AccessPolicy.newBuilder().build(); + ListAccessPoliciesResponse expectedResponse = + ListAccessPoliciesResponse.newBuilder() + .setNextPageToken("") + .addAllAccessPolicies(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ListAccessPoliciesRequest request = + ListAccessPoliciesRequest.newBuilder() + .setParent(OrganizationName.of("[ORGANIZATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListAccessPoliciesPagedResponse pagedListResponse = client.listAccessPolicies(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAccessPoliciesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listAccessPoliciesExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ListAccessPoliciesRequest request = + ListAccessPoliciesRequest.newBuilder() + .setParent(OrganizationName.of("[ORGANIZATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listAccessPolicies(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAccessPolicyTest() throws Exception { + AccessPolicy expectedResponse = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockService.addResponse(expectedResponse); + + AccessPolicyName name = AccessPolicyName.of("[ACCESS_POLICY]"); + + AccessPolicy actualResponse = client.getAccessPolicy(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getAccessPolicyExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicyName name = AccessPolicyName.of("[ACCESS_POLICY]"); + client.getAccessPolicy(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAccessPolicyTest2() throws Exception { + AccessPolicy expectedResponse = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + mockService.addResponse(expectedResponse); + + String name = "accessPolicies/accessPolicie-4214"; + + AccessPolicy actualResponse = client.getAccessPolicy(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getAccessPolicyExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "accessPolicies/accessPolicie-4214"; + client.getAccessPolicy(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createAccessPolicyTest() throws Exception { + AccessPolicy expectedResponse = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createAccessPolicyTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessPolicy request = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + + AccessPolicy actualResponse = client.createAccessPolicyAsync(request).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createAccessPolicyExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicy request = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + client.createAccessPolicyAsync(request).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateAccessPolicyTest() throws Exception { + AccessPolicy expectedResponse = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateAccessPolicyTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessPolicy policy = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + AccessPolicy actualResponse = client.updateAccessPolicyAsync(policy, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateAccessPolicyExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicy policy = + AccessPolicy.newBuilder() + .setName(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setParent("parent-995424086") + .setTitle("title110371416") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEtag("etag3123477") + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateAccessPolicyAsync(policy, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteAccessPolicyTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteAccessPolicyTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessPolicyName name = AccessPolicyName.of("[ACCESS_POLICY]"); + + client.deleteAccessPolicyAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteAccessPolicyExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicyName name = AccessPolicyName.of("[ACCESS_POLICY]"); + client.deleteAccessPolicyAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteAccessPolicyTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteAccessPolicyTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = "accessPolicies/accessPolicie-4214"; + + client.deleteAccessPolicyAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteAccessPolicyExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "accessPolicies/accessPolicie-4214"; + client.deleteAccessPolicyAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void listAccessLevelsTest() throws Exception { + AccessLevel responsesElement = AccessLevel.newBuilder().build(); + ListAccessLevelsResponse expectedResponse = + ListAccessLevelsResponse.newBuilder() + .setNextPageToken("") + .addAllAccessLevels(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + + ListAccessLevelsPagedResponse pagedListResponse = client.listAccessLevels(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAccessLevelsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listAccessLevelsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + client.listAccessLevels(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listAccessLevelsTest2() throws Exception { + AccessLevel responsesElement = AccessLevel.newBuilder().build(); + ListAccessLevelsResponse expectedResponse = + ListAccessLevelsResponse.newBuilder() + .setNextPageToken("") + .addAllAccessLevels(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "accessPolicies/accessPolicie-2983"; + + ListAccessLevelsPagedResponse pagedListResponse = client.listAccessLevels(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAccessLevelsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listAccessLevelsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "accessPolicies/accessPolicie-2983"; + client.listAccessLevels(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAccessLevelTest() throws Exception { + AccessLevel expectedResponse = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + AccessLevelName name = AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]"); + + AccessLevel actualResponse = client.getAccessLevel(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getAccessLevelExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessLevelName name = AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]"); + client.getAccessLevel(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAccessLevelTest2() throws Exception { + AccessLevel expectedResponse = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "accessPolicies/accessPolicie-6963/accessLevels/accessLevel-6963"; + + AccessLevel actualResponse = client.getAccessLevel(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getAccessLevelExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "accessPolicies/accessPolicie-6963/accessLevels/accessLevel-6963"; + client.getAccessLevel(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createAccessLevelTest() throws Exception { + AccessLevel expectedResponse = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createAccessLevelTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + AccessLevel accessLevel = AccessLevel.newBuilder().build(); + + AccessLevel actualResponse = client.createAccessLevelAsync(parent, accessLevel).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createAccessLevelExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + AccessLevel accessLevel = AccessLevel.newBuilder().build(); + client.createAccessLevelAsync(parent, accessLevel).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void createAccessLevelTest2() throws Exception { + AccessLevel expectedResponse = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createAccessLevelTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = "accessPolicies/accessPolicie-2983"; + AccessLevel accessLevel = AccessLevel.newBuilder().build(); + + AccessLevel actualResponse = client.createAccessLevelAsync(parent, accessLevel).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createAccessLevelExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "accessPolicies/accessPolicie-2983"; + AccessLevel accessLevel = AccessLevel.newBuilder().build(); + client.createAccessLevelAsync(parent, accessLevel).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateAccessLevelTest() throws Exception { + AccessLevel expectedResponse = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateAccessLevelTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessLevel accessLevel = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + AccessLevel actualResponse = client.updateAccessLevelAsync(accessLevel, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateAccessLevelExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessLevel accessLevel = + AccessLevel.newBuilder() + .setName(AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateAccessLevelAsync(accessLevel, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteAccessLevelTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteAccessLevelTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessLevelName name = AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]"); + + client.deleteAccessLevelAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteAccessLevelExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessLevelName name = AccessLevelName.of("[ACCESS_POLICY]", "[ACCESS_LEVEL]"); + client.deleteAccessLevelAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteAccessLevelTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteAccessLevelTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = "accessPolicies/accessPolicie-6963/accessLevels/accessLevel-6963"; + + client.deleteAccessLevelAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteAccessLevelExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "accessPolicies/accessPolicie-6963/accessLevels/accessLevel-6963"; + client.deleteAccessLevelAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void replaceAccessLevelsTest() throws Exception { + ReplaceAccessLevelsResponse expectedResponse = + ReplaceAccessLevelsResponse.newBuilder() + .addAllAccessLevels(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("replaceAccessLevelsTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + ReplaceAccessLevelsRequest request = + ReplaceAccessLevelsRequest.newBuilder() + .setParent(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .addAllAccessLevels(new ArrayList()) + .setEtag("etag3123477") + .build(); + + ReplaceAccessLevelsResponse actualResponse = client.replaceAccessLevelsAsync(request).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void replaceAccessLevelsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ReplaceAccessLevelsRequest request = + ReplaceAccessLevelsRequest.newBuilder() + .setParent(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .addAllAccessLevels(new ArrayList()) + .setEtag("etag3123477") + .build(); + client.replaceAccessLevelsAsync(request).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void listServicePerimetersTest() throws Exception { + ServicePerimeter responsesElement = ServicePerimeter.newBuilder().build(); + ListServicePerimetersResponse expectedResponse = + ListServicePerimetersResponse.newBuilder() + .setNextPageToken("") + .addAllServicePerimeters(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + + ListServicePerimetersPagedResponse pagedListResponse = client.listServicePerimeters(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicePerimetersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listServicePerimetersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + client.listServicePerimeters(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicePerimetersTest2() throws Exception { + ServicePerimeter responsesElement = ServicePerimeter.newBuilder().build(); + ListServicePerimetersResponse expectedResponse = + ListServicePerimetersResponse.newBuilder() + .setNextPageToken("") + .addAllServicePerimeters(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "accessPolicies/accessPolicie-2983"; + + ListServicePerimetersPagedResponse pagedListResponse = client.listServicePerimeters(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicePerimetersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listServicePerimetersExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "accessPolicies/accessPolicie-2983"; + client.listServicePerimeters(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServicePerimeterTest() throws Exception { + ServicePerimeter expectedResponse = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + mockService.addResponse(expectedResponse); + + ServicePerimeterName name = ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]"); + + ServicePerimeter actualResponse = client.getServicePerimeter(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getServicePerimeterExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServicePerimeterName name = ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]"); + client.getServicePerimeter(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServicePerimeterTest2() throws Exception { + ServicePerimeter expectedResponse = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + mockService.addResponse(expectedResponse); + + String name = "accessPolicies/accessPolicie-9697/servicePerimeters/servicePerimeter-9697"; + + ServicePerimeter actualResponse = client.getServicePerimeter(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getServicePerimeterExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "accessPolicies/accessPolicie-9697/servicePerimeters/servicePerimeter-9697"; + client.getServicePerimeter(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createServicePerimeterTest() throws Exception { + ServicePerimeter expectedResponse = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createServicePerimeterTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + ServicePerimeter servicePerimeter = ServicePerimeter.newBuilder().build(); + + ServicePerimeter actualResponse = + client.createServicePerimeterAsync(parent, servicePerimeter).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createServicePerimeterExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AccessPolicyName parent = AccessPolicyName.of("[ACCESS_POLICY]"); + ServicePerimeter servicePerimeter = ServicePerimeter.newBuilder().build(); + client.createServicePerimeterAsync(parent, servicePerimeter).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void createServicePerimeterTest2() throws Exception { + ServicePerimeter expectedResponse = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createServicePerimeterTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = "accessPolicies/accessPolicie-2983"; + ServicePerimeter servicePerimeter = ServicePerimeter.newBuilder().build(); + + ServicePerimeter actualResponse = + client.createServicePerimeterAsync(parent, servicePerimeter).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createServicePerimeterExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "accessPolicies/accessPolicie-2983"; + ServicePerimeter servicePerimeter = ServicePerimeter.newBuilder().build(); + client.createServicePerimeterAsync(parent, servicePerimeter).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateServicePerimeterTest() throws Exception { + ServicePerimeter expectedResponse = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateServicePerimeterTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + ServicePerimeter servicePerimeter = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + ServicePerimeter actualResponse = + client.updateServicePerimeterAsync(servicePerimeter, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateServicePerimeterExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServicePerimeter servicePerimeter = + ServicePerimeter.newBuilder() + .setName(ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]").toString()) + .setTitle("title110371416") + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setStatus(ServicePerimeterConfig.newBuilder().build()) + .setSpec(ServicePerimeterConfig.newBuilder().build()) + .setUseExplicitDryRunSpec(true) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateServicePerimeterAsync(servicePerimeter, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteServicePerimeterTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteServicePerimeterTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + ServicePerimeterName name = ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]"); + + client.deleteServicePerimeterAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteServicePerimeterExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServicePerimeterName name = ServicePerimeterName.of("[ACCESS_POLICY]", "[SERVICE_PERIMETER]"); + client.deleteServicePerimeterAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteServicePerimeterTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteServicePerimeterTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = "accessPolicies/accessPolicie-9697/servicePerimeters/servicePerimeter-9697"; + + client.deleteServicePerimeterAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteServicePerimeterExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "accessPolicies/accessPolicie-9697/servicePerimeters/servicePerimeter-9697"; + client.deleteServicePerimeterAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void replaceServicePerimetersTest() throws Exception { + ReplaceServicePerimetersResponse expectedResponse = + ReplaceServicePerimetersResponse.newBuilder() + .addAllServicePerimeters(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("replaceServicePerimetersTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + ReplaceServicePerimetersRequest request = + ReplaceServicePerimetersRequest.newBuilder() + .setParent(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .addAllServicePerimeters(new ArrayList()) + .setEtag("etag3123477") + .build(); + + ReplaceServicePerimetersResponse actualResponse = + client.replaceServicePerimetersAsync(request).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void replaceServicePerimetersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ReplaceServicePerimetersRequest request = + ReplaceServicePerimetersRequest.newBuilder() + .setParent(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .addAllServicePerimeters(new ArrayList()) + .setEtag("etag3123477") + .build(); + client.replaceServicePerimetersAsync(request).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void commitServicePerimetersTest() throws Exception { + CommitServicePerimetersResponse expectedResponse = + CommitServicePerimetersResponse.newBuilder() + .addAllServicePerimeters(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("commitServicePerimetersTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + CommitServicePerimetersRequest request = + CommitServicePerimetersRequest.newBuilder() + .setParent(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setEtag("etag3123477") + .build(); + + CommitServicePerimetersResponse actualResponse = + client.commitServicePerimetersAsync(request).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void commitServicePerimetersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + CommitServicePerimetersRequest request = + CommitServicePerimetersRequest.newBuilder() + .setParent(AccessPolicyName.of("[ACCESS_POLICY]").toString()) + .setEtag("etag3123477") + .build(); + client.commitServicePerimetersAsync(request).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void listGcpUserAccessBindingsTest() throws Exception { + GcpUserAccessBinding responsesElement = GcpUserAccessBinding.newBuilder().build(); + ListGcpUserAccessBindingsResponse expectedResponse = + ListGcpUserAccessBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllGcpUserAccessBindings(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + + ListGcpUserAccessBindingsPagedResponse pagedListResponse = + client.listGcpUserAccessBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getGcpUserAccessBindingsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listGcpUserAccessBindingsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + client.listGcpUserAccessBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listGcpUserAccessBindingsTest2() throws Exception { + GcpUserAccessBinding responsesElement = GcpUserAccessBinding.newBuilder().build(); + ListGcpUserAccessBindingsResponse expectedResponse = + ListGcpUserAccessBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllGcpUserAccessBindings(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "organizations/organization-8287"; + + ListGcpUserAccessBindingsPagedResponse pagedListResponse = + client.listGcpUserAccessBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getGcpUserAccessBindingsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listGcpUserAccessBindingsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "organizations/organization-8287"; + client.listGcpUserAccessBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getGcpUserAccessBindingTest() throws Exception { + GcpUserAccessBinding expectedResponse = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + mockService.addResponse(expectedResponse); + + GcpUserAccessBindingName name = + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]"); + + GcpUserAccessBinding actualResponse = client.getGcpUserAccessBinding(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getGcpUserAccessBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GcpUserAccessBindingName name = + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]"); + client.getGcpUserAccessBinding(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getGcpUserAccessBindingTest2() throws Exception { + GcpUserAccessBinding expectedResponse = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "organizations/organization-6979/gcpUserAccessBindings/gcpUserAccessBinding-6979"; + + GcpUserAccessBinding actualResponse = client.getGcpUserAccessBinding(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getGcpUserAccessBindingExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "organizations/organization-6979/gcpUserAccessBindings/gcpUserAccessBinding-6979"; + client.getGcpUserAccessBinding(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createGcpUserAccessBindingTest() throws Exception { + GcpUserAccessBinding expectedResponse = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createGcpUserAccessBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + GcpUserAccessBinding gcpUserAccessBinding = GcpUserAccessBinding.newBuilder().build(); + + GcpUserAccessBinding actualResponse = + client.createGcpUserAccessBindingAsync(parent, gcpUserAccessBinding).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createGcpUserAccessBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + GcpUserAccessBinding gcpUserAccessBinding = GcpUserAccessBinding.newBuilder().build(); + client.createGcpUserAccessBindingAsync(parent, gcpUserAccessBinding).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void createGcpUserAccessBindingTest2() throws Exception { + GcpUserAccessBinding expectedResponse = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createGcpUserAccessBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = "organizations/organization-8287"; + GcpUserAccessBinding gcpUserAccessBinding = GcpUserAccessBinding.newBuilder().build(); + + GcpUserAccessBinding actualResponse = + client.createGcpUserAccessBindingAsync(parent, gcpUserAccessBinding).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createGcpUserAccessBindingExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "organizations/organization-8287"; + GcpUserAccessBinding gcpUserAccessBinding = GcpUserAccessBinding.newBuilder().build(); + client.createGcpUserAccessBindingAsync(parent, gcpUserAccessBinding).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateGcpUserAccessBindingTest() throws Exception { + GcpUserAccessBinding expectedResponse = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateGcpUserAccessBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + GcpUserAccessBinding gcpUserAccessBinding = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + GcpUserAccessBinding actualResponse = + client.updateGcpUserAccessBindingAsync(gcpUserAccessBinding, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateGcpUserAccessBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GcpUserAccessBinding gcpUserAccessBinding = + GcpUserAccessBinding.newBuilder() + .setName( + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]") + .toString()) + .setGroupKey("groupKey506342240") + .addAllAccessLevels(new ArrayList()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateGcpUserAccessBindingAsync(gcpUserAccessBinding, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteGcpUserAccessBindingTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteGcpUserAccessBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + GcpUserAccessBindingName name = + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]"); + + client.deleteGcpUserAccessBindingAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteGcpUserAccessBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GcpUserAccessBindingName name = + GcpUserAccessBindingName.of("[ORGANIZATION]", "[GCP_USER_ACCESS_BINDING]"); + client.deleteGcpUserAccessBindingAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteGcpUserAccessBindingTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteGcpUserAccessBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = "organizations/organization-6979/gcpUserAccessBindings/gcpUserAccessBinding-6979"; + + client.deleteGcpUserAccessBindingAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteGcpUserAccessBindingExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "organizations/organization-6979/gcpUserAccessBindings/gcpUserAccessBinding-6979"; + client.deleteGcpUserAccessBindingAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } +}