Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

Commit 2411dc6

Browse files
docs(regen): update sample code to set total timeout, add API client header test
1 parent f09f39e commit 2411dc6

4 files changed

Lines changed: 170 additions & 8 deletions

File tree

google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/SecretManagerServiceSettings.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,12 @@
6161
* <code>
6262
* SecretManagerServiceSettings.Builder secretManagerServiceSettingsBuilder =
6363
* SecretManagerServiceSettings.newBuilder();
64-
* secretManagerServiceSettingsBuilder.createSecretSettings().getRetrySettings().toBuilder()
65-
* .setTotalTimeout(Duration.ofSeconds(30));
64+
* secretManagerServiceSettingsBuilder
65+
* .createSecretSettings()
66+
* .setRetrySettings(
67+
* secretManagerServiceSettingsBuilder.createSecretSettings().getRetrySettings().toBuilder()
68+
* .setTotalTimeout(Duration.ofSeconds(30))
69+
* .build());
6670
* SecretManagerServiceSettings secretManagerServiceSettings = secretManagerServiceSettingsBuilder.build();
6771
* </code>
6872
* </pre>

google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/stub/SecretManagerServiceStubSettings.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,12 @@
9393
* <code>
9494
* SecretManagerServiceStubSettings.Builder secretManagerServiceSettingsBuilder =
9595
* SecretManagerServiceStubSettings.newBuilder();
96-
* secretManagerServiceSettingsBuilder.createSecretSettings().getRetrySettings().toBuilder()
97-
* .setTotalTimeout(Duration.ofSeconds(30));
96+
* secretManagerServiceSettingsBuilder
97+
* .createSecretSettings()
98+
* .setRetrySettings(
99+
* secretManagerServiceSettingsBuilder.createSecretSettings().getRetrySettings().toBuilder()
100+
* .setTotalTimeout(Duration.ofSeconds(30))
101+
* .build());
98102
* SecretManagerServiceStubSettings secretManagerServiceSettings = secretManagerServiceSettingsBuilder.build();
99103
* </code>
100104
* </pre>

google-cloud-secretmanager/src/test/java/com/google/cloud/secretmanager/v1beta1/SecretManagerServiceClientTest.java

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,24 @@
2525
import com.google.api.gax.grpc.testing.MockServiceHelper;
2626
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2727
import com.google.api.gax.rpc.InvalidArgumentException;
28+
import com.google.api.resourcenames.ResourceName;
2829
import com.google.common.collect.Lists;
30+
import com.google.iam.v1.GetIamPolicyRequest;
31+
import com.google.iam.v1.Policy;
32+
import com.google.iam.v1.SetIamPolicyRequest;
33+
import com.google.iam.v1.TestIamPermissionsRequest;
34+
import com.google.iam.v1.TestIamPermissionsResponse;
2935
import com.google.protobuf.AbstractMessage;
36+
import com.google.protobuf.ByteString;
3037
import com.google.protobuf.Empty;
3138
import com.google.protobuf.FieldMask;
3239
import io.grpc.Status;
3340
import io.grpc.StatusRuntimeException;
3441
import java.io.IOException;
42+
import java.util.ArrayList;
3543
import java.util.Arrays;
3644
import java.util.List;
45+
import java.util.Objects;
3746
import java.util.UUID;
3847
import org.junit.After;
3948
import org.junit.AfterClass;
@@ -580,4 +589,149 @@ public void destroySecretVersionExceptionTest() throws Exception {
580589
// Expected exception
581590
}
582591
}
592+
593+
@Test
594+
@SuppressWarnings("all")
595+
public void setIamPolicyTest() {
596+
int version = 351608024;
597+
ByteString etag = ByteString.copyFromUtf8("21");
598+
Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build();
599+
mockSecretManagerService.addResponse(expectedResponse);
600+
601+
ResourceName resource = ProjectName.of("[PROJECT]");
602+
Policy policy = Policy.newBuilder().build();
603+
SetIamPolicyRequest request =
604+
SetIamPolicyRequest.newBuilder().setResource(resource.toString()).setPolicy(policy).build();
605+
606+
Policy actualResponse = client.setIamPolicy(request);
607+
Assert.assertEquals(expectedResponse, actualResponse);
608+
609+
List<AbstractMessage> actualRequests = mockSecretManagerService.getRequests();
610+
Assert.assertEquals(1, actualRequests.size());
611+
SetIamPolicyRequest actualRequest = (SetIamPolicyRequest) actualRequests.get(0);
612+
613+
Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
614+
Assert.assertEquals(policy, actualRequest.getPolicy());
615+
Assert.assertTrue(
616+
channelProvider.isHeaderSent(
617+
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
618+
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
619+
}
620+
621+
@Test
622+
@SuppressWarnings("all")
623+
public void setIamPolicyExceptionTest() throws Exception {
624+
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
625+
mockSecretManagerService.addException(exception);
626+
627+
try {
628+
ResourceName resource = ProjectName.of("[PROJECT]");
629+
Policy policy = Policy.newBuilder().build();
630+
SetIamPolicyRequest request =
631+
SetIamPolicyRequest.newBuilder()
632+
.setResource(resource.toString())
633+
.setPolicy(policy)
634+
.build();
635+
636+
client.setIamPolicy(request);
637+
Assert.fail("No exception raised");
638+
} catch (InvalidArgumentException e) {
639+
// Expected exception
640+
}
641+
}
642+
643+
@Test
644+
@SuppressWarnings("all")
645+
public void getIamPolicyTest() {
646+
int version = 351608024;
647+
ByteString etag = ByteString.copyFromUtf8("21");
648+
Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build();
649+
mockSecretManagerService.addResponse(expectedResponse);
650+
651+
ResourceName resource = ProjectName.of("[PROJECT]");
652+
GetIamPolicyRequest request =
653+
GetIamPolicyRequest.newBuilder().setResource(resource.toString()).build();
654+
655+
Policy actualResponse = client.getIamPolicy(request);
656+
Assert.assertEquals(expectedResponse, actualResponse);
657+
658+
List<AbstractMessage> actualRequests = mockSecretManagerService.getRequests();
659+
Assert.assertEquals(1, actualRequests.size());
660+
GetIamPolicyRequest actualRequest = (GetIamPolicyRequest) actualRequests.get(0);
661+
662+
Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
663+
Assert.assertTrue(
664+
channelProvider.isHeaderSent(
665+
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
666+
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
667+
}
668+
669+
@Test
670+
@SuppressWarnings("all")
671+
public void getIamPolicyExceptionTest() throws Exception {
672+
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
673+
mockSecretManagerService.addException(exception);
674+
675+
try {
676+
ResourceName resource = ProjectName.of("[PROJECT]");
677+
GetIamPolicyRequest request =
678+
GetIamPolicyRequest.newBuilder().setResource(resource.toString()).build();
679+
680+
client.getIamPolicy(request);
681+
Assert.fail("No exception raised");
682+
} catch (InvalidArgumentException e) {
683+
// Expected exception
684+
}
685+
}
686+
687+
@Test
688+
@SuppressWarnings("all")
689+
public void testIamPermissionsTest() {
690+
TestIamPermissionsResponse expectedResponse = TestIamPermissionsResponse.newBuilder().build();
691+
mockSecretManagerService.addResponse(expectedResponse);
692+
693+
ResourceName resource = ProjectName.of("[PROJECT]");
694+
List<String> permissions = new ArrayList<>();
695+
TestIamPermissionsRequest request =
696+
TestIamPermissionsRequest.newBuilder()
697+
.setResource(resource.toString())
698+
.addAllPermissions(permissions)
699+
.build();
700+
701+
TestIamPermissionsResponse actualResponse = client.testIamPermissions(request);
702+
Assert.assertEquals(expectedResponse, actualResponse);
703+
704+
List<AbstractMessage> actualRequests = mockSecretManagerService.getRequests();
705+
Assert.assertEquals(1, actualRequests.size());
706+
TestIamPermissionsRequest actualRequest = (TestIamPermissionsRequest) actualRequests.get(0);
707+
708+
Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
709+
Assert.assertEquals(permissions, actualRequest.getPermissionsList());
710+
Assert.assertTrue(
711+
channelProvider.isHeaderSent(
712+
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
713+
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
714+
}
715+
716+
@Test
717+
@SuppressWarnings("all")
718+
public void testIamPermissionsExceptionTest() throws Exception {
719+
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
720+
mockSecretManagerService.addException(exception);
721+
722+
try {
723+
ResourceName resource = ProjectName.of("[PROJECT]");
724+
List<String> permissions = new ArrayList<>();
725+
TestIamPermissionsRequest request =
726+
TestIamPermissionsRequest.newBuilder()
727+
.setResource(resource.toString())
728+
.addAllPermissions(permissions)
729+
.build();
730+
731+
client.testIamPermissions(request);
732+
Assert.fail("No exception raised");
733+
} catch (InvalidArgumentException e) {
734+
// Expected exception
735+
}
736+
}
583737
}

synth.metadata

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"updateTime": "2020-02-06T23:03:20.719669Z",
2+
"updateTime": "2020-02-08T10:03:44.341663Z",
33
"sources": [
44
{
55
"git": {
66
"name": "googleapis",
77
"remote": "https://github.com/googleapis/googleapis.git",
8-
"sha": "2e23b8fbc45f5d9e200572ca662fe1271bcd6760",
9-
"internalRef": "293666452",
10-
"log": "2e23b8fbc45f5d9e200572ca662fe1271bcd6760\nAdd ListEntryGroups method, add http bindings to support entry group tagging, and update some comments.\n\nPiperOrigin-RevId: 293666452\n\n0275e38a4ca03a13d3f47a9613aac8c8b0d3f1f2\nAdd proto_package field to managedidentities API. It is needed for APIs that still depend on artman generation.\n\nPiperOrigin-RevId: 293643323\n\n4cdfe8278cb6f308106580d70648001c9146e759\nRegenerating public protos for Data Catalog to add new Custom Type Entry feature.\n\nPiperOrigin-RevId: 293614782\n\n45d2a569ab526a1fad3720f95eefb1c7330eaada\nEnable client generation for v1 ManagedIdentities API.\n\nPiperOrigin-RevId: 293515675\n\n2c17086b77e6f3bcf04a1f65758dfb0c3da1568f\nAdd the Actions on Google common types (//google/actions/type/*).\n\nPiperOrigin-RevId: 293478245\n\n781aadb932e64a12fb6ead7cd842698d99588433\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293443396\n\ne2602608c9138c2fca24162720e67f9307c30b95\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293442964\n\nc8aef82028d06b7992278fa9294c18570dc86c3d\nAdd cc_proto_library and cc_grpc_library targets for Bigtable protos.\n\nAlso fix indentation of cc_grpc_library targets in Spanner and IAM protos.\n\nPiperOrigin-RevId: 293440538\n\ne2faab04f4cb7f9755072330866689b1943a16e9\ncloudtasks: v2 replace non-standard retry params in gapic config v2\n\nPiperOrigin-RevId: 293424055\n\ndfb4097ea628a8470292c6590a4313aee0c675bd\nerrorreporting: v1beta1 add legacy artman config for php\n\nPiperOrigin-RevId: 293423790\n\nb18aed55b45bfe5b62476292c72759e6c3e573c6\nasset: v1p1beta1 updated comment for `page_size` limit.\n\nPiperOrigin-RevId: 293421386\n\nc9ef36b7956d9859a2fc86ad35fcaa16958ab44f\nbazel: Refactor CI build scripts\n\nPiperOrigin-RevId: 293387911\n\na8ed9d921fdddc61d8467bfd7c1668f0ad90435c\nfix: set Ruby module name for OrgPolicy\n\nPiperOrigin-RevId: 293257997\n\n6c7d28509bd8315de8af0889688ee20099594269\nredis: v1beta1 add UpgradeInstance and connect_mode field to Instance\n\nPiperOrigin-RevId: 293242878\n\nae0abed4fcb4c21f5cb67a82349a049524c4ef68\nredis: v1 add connect_mode field to Instance\n\nPiperOrigin-RevId: 293241914\n\n3f7a0d29b28ee9365771da2b66edf7fa2b4e9c56\nAdds service config definition for bigqueryreservation v1beta1\n\nPiperOrigin-RevId: 293234418\n\n0c88168d5ed6fe353a8cf8cbdc6bf084f6bb66a5\naddition of BUILD & configuration for accessapproval v1\n\nPiperOrigin-RevId: 293219198\n\n39bedc2e30f4778ce81193f6ba1fec56107bcfc4\naccessapproval: v1 publish protos\n\nPiperOrigin-RevId: 293167048\n\n69d9945330a5721cd679f17331a78850e2618226\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080182\n\nf6a1a6b417f39694275ca286110bc3c1ca4db0dc\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080178\n\n"
8+
"sha": "e7d8a694f4559201e6913f6610069cb08b39274e",
9+
"internalRef": "293903652",
10+
"log": "e7d8a694f4559201e6913f6610069cb08b39274e\nDepend on the latest gapic-generator and resource names plugin.\n\nThis fixes the very old an very annoying bug: https://github.com/googleapis/gapic-generator/pull/3087\n\nPiperOrigin-RevId: 293903652\n\n806b2854a966d55374ee26bb0cef4e30eda17b58\nfix: correct capitalization of Ruby namespaces in SecurityCenter V1p1beta1\n\nPiperOrigin-RevId: 293903613\n\n1b83c92462b14d67a7644e2980f723112472e03a\nPublish annotations and grpc service config for Logging API.\n\nPiperOrigin-RevId: 293893514\n\ne46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585\nGenerate the Bazel build file for recommendengine public api\n\nPiperOrigin-RevId: 293710856\n\n68477017c4173c98addac0373950c6aa9d7b375f\nMake `language_code` optional for UpdateIntentRequest and BatchUpdateIntentsRequest.\n\nThe comments and proto annotations describe this parameter as optional.\n\nPiperOrigin-RevId: 293703548\n\n16f823f578bca4e845a19b88bb9bc5870ea71ab2\nAdd BUILD.bazel files for managedidentities API\n\nPiperOrigin-RevId: 293698246\n\n2f53fd8178c9a9de4ad10fae8dd17a7ba36133f2\nAdd v1p1beta1 config file\n\nPiperOrigin-RevId: 293696729\n\n052b274138fce2be80f97b6dcb83ab343c7c8812\nAdd source field for user event and add field behavior annotations\n\nPiperOrigin-RevId: 293693115\n\n1e89732b2d69151b1b3418fff3d4cc0434f0dded\ndatacatalog: v1beta1 add three new RPCs to gapic v1beta1 config\n\nPiperOrigin-RevId: 293692823\n\n9c8bd09bbdc7c4160a44f1fbab279b73cd7a2337\nchange the name of AccessApproval service to AccessApprovalAdmin\n\nPiperOrigin-RevId: 293690934\n\n"
1111
}
1212
},
1313
{

0 commit comments

Comments
 (0)