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

docs(regen): update sample code to set total timeout, add API client header test #27

Merged
merged 1 commit into from Feb 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -62,8 +62,12 @@
* <code>
* DashboardsServiceSettings.Builder dashboardsServiceSettingsBuilder =
* DashboardsServiceSettings.newBuilder();
* dashboardsServiceSettingsBuilder.createDashboardSettings().getRetrySettings().toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30));
* dashboardsServiceSettingsBuilder
* .createDashboardSettings()
* .setRetrySettings(
* dashboardsServiceSettingsBuilder.createDashboardSettings().getRetrySettings().toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30))
* .build());
* DashboardsServiceSettings dashboardsServiceSettings = dashboardsServiceSettingsBuilder.build();
* </code>
* </pre>
Expand Down
Expand Up @@ -77,8 +77,12 @@
* <code>
* DashboardsServiceStubSettings.Builder dashboardsServiceSettingsBuilder =
* DashboardsServiceStubSettings.newBuilder();
* dashboardsServiceSettingsBuilder.createDashboardSettings().getRetrySettings().toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30));
* dashboardsServiceSettingsBuilder
* .createDashboardSettings()
* .setRetrySettings(
* dashboardsServiceSettingsBuilder.createDashboardSettings().getRetrySettings().toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30))
* .build());
* DashboardsServiceStubSettings dashboardsServiceSettings = dashboardsServiceSettingsBuilder.build();
* </code>
* </pre>
Expand Down
Expand Up @@ -15,17 +15,37 @@
*/
package com.google.cloud.monitoring.dashboard.v1;

import static com.google.cloud.monitoring.dashboard.v1.DashboardsServiceClient.ListDashboardsPagedResponse;

import com.google.api.gax.core.NoCredentialsProvider;
import com.google.api.gax.grpc.GaxGrpcProperties;
import com.google.api.gax.grpc.testing.LocalChannelProvider;
import com.google.api.gax.grpc.testing.MockGrpcService;
import com.google.api.gax.grpc.testing.MockServiceHelper;
import com.google.api.gax.rpc.ApiClientHeaderProvider;
import com.google.api.gax.rpc.InvalidArgumentException;
import com.google.common.collect.Lists;
import com.google.monitoring.dashboard.v1.CreateDashboardRequest;
import com.google.monitoring.dashboard.v1.Dashboard;
import com.google.monitoring.dashboard.v1.DeleteDashboardRequest;
import com.google.monitoring.dashboard.v1.GetDashboardRequest;
import com.google.monitoring.dashboard.v1.ListDashboardsRequest;
import com.google.monitoring.dashboard.v1.ListDashboardsResponse;
import com.google.monitoring.dashboard.v1.UpdateDashboardRequest;
import com.google.protobuf.AbstractMessage;
import com.google.protobuf.Empty;
import io.grpc.Status;
import io.grpc.StatusRuntimeException;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

@javax.annotation.Generated("by GAPIC")
public class DashboardsServiceClientTest {
Expand Down Expand Up @@ -64,4 +84,232 @@ public void setUp() throws IOException {
public void tearDown() throws Exception {
client.close();
}

@Test
@SuppressWarnings("all")
public void createDashboardTest() {
String name = "name3373707";
String displayName = "displayName1615086568";
String etag = "etag3123477";
Dashboard expectedResponse =
Dashboard.newBuilder().setName(name).setDisplayName(displayName).setEtag(etag).build();
mockDashboardsService.addResponse(expectedResponse);

String parent = "parent-995424086";
Dashboard dashboard = Dashboard.newBuilder().build();
CreateDashboardRequest request =
CreateDashboardRequest.newBuilder().setParent(parent).setDashboard(dashboard).build();

Dashboard actualResponse = client.createDashboard(request);
Assert.assertEquals(expectedResponse, actualResponse);

List<AbstractMessage> actualRequests = mockDashboardsService.getRequests();
Assert.assertEquals(1, actualRequests.size());
CreateDashboardRequest actualRequest = (CreateDashboardRequest) actualRequests.get(0);

Assert.assertEquals(parent, actualRequest.getParent());
Assert.assertEquals(dashboard, actualRequest.getDashboard());
Assert.assertTrue(
channelProvider.isHeaderSent(
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}

@Test
@SuppressWarnings("all")
public void createDashboardExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockDashboardsService.addException(exception);

try {
String parent = "parent-995424086";
Dashboard dashboard = Dashboard.newBuilder().build();
CreateDashboardRequest request =
CreateDashboardRequest.newBuilder().setParent(parent).setDashboard(dashboard).build();

client.createDashboard(request);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception
}
}

@Test
@SuppressWarnings("all")
public void listDashboardsTest() {
String nextPageToken = "";
Dashboard dashboardsElement = Dashboard.newBuilder().build();
List<Dashboard> dashboards = Arrays.asList(dashboardsElement);
ListDashboardsResponse expectedResponse =
ListDashboardsResponse.newBuilder()
.setNextPageToken(nextPageToken)
.addAllDashboards(dashboards)
.build();
mockDashboardsService.addResponse(expectedResponse);

String parent = "parent-995424086";
ListDashboardsRequest request = ListDashboardsRequest.newBuilder().setParent(parent).build();

ListDashboardsPagedResponse pagedListResponse = client.listDashboards(request);

List<Dashboard> resources = Lists.newArrayList(pagedListResponse.iterateAll());
Assert.assertEquals(1, resources.size());
Assert.assertEquals(expectedResponse.getDashboardsList().get(0), resources.get(0));

List<AbstractMessage> actualRequests = mockDashboardsService.getRequests();
Assert.assertEquals(1, actualRequests.size());
ListDashboardsRequest actualRequest = (ListDashboardsRequest) actualRequests.get(0);

Assert.assertEquals(parent, actualRequest.getParent());
Assert.assertTrue(
channelProvider.isHeaderSent(
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}

@Test
@SuppressWarnings("all")
public void listDashboardsExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockDashboardsService.addException(exception);

try {
String parent = "parent-995424086";
ListDashboardsRequest request = ListDashboardsRequest.newBuilder().setParent(parent).build();

client.listDashboards(request);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception
}
}

@Test
@SuppressWarnings("all")
public void getDashboardTest() {
String name2 = "name2-1052831874";
String displayName = "displayName1615086568";
String etag = "etag3123477";
Dashboard expectedResponse =
Dashboard.newBuilder().setName(name2).setDisplayName(displayName).setEtag(etag).build();
mockDashboardsService.addResponse(expectedResponse);

String name = "name3373707";
GetDashboardRequest request = GetDashboardRequest.newBuilder().setName(name).build();

Dashboard actualResponse = client.getDashboard(request);
Assert.assertEquals(expectedResponse, actualResponse);

List<AbstractMessage> actualRequests = mockDashboardsService.getRequests();
Assert.assertEquals(1, actualRequests.size());
GetDashboardRequest actualRequest = (GetDashboardRequest) actualRequests.get(0);

Assert.assertEquals(name, actualRequest.getName());
Assert.assertTrue(
channelProvider.isHeaderSent(
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}

@Test
@SuppressWarnings("all")
public void getDashboardExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockDashboardsService.addException(exception);

try {
String name = "name3373707";
GetDashboardRequest request = GetDashboardRequest.newBuilder().setName(name).build();

client.getDashboard(request);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception
}
}

@Test
@SuppressWarnings("all")
public void deleteDashboardTest() {
Empty expectedResponse = Empty.newBuilder().build();
mockDashboardsService.addResponse(expectedResponse);

String name = "name3373707";
DeleteDashboardRequest request = DeleteDashboardRequest.newBuilder().setName(name).build();

client.deleteDashboard(request);

List<AbstractMessage> actualRequests = mockDashboardsService.getRequests();
Assert.assertEquals(1, actualRequests.size());
DeleteDashboardRequest actualRequest = (DeleteDashboardRequest) actualRequests.get(0);

Assert.assertEquals(name, actualRequest.getName());
Assert.assertTrue(
channelProvider.isHeaderSent(
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}

@Test
@SuppressWarnings("all")
public void deleteDashboardExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockDashboardsService.addException(exception);

try {
String name = "name3373707";
DeleteDashboardRequest request = DeleteDashboardRequest.newBuilder().setName(name).build();

client.deleteDashboard(request);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception
}
}

@Test
@SuppressWarnings("all")
public void updateDashboardTest() {
String name = "name3373707";
String displayName = "displayName1615086568";
String etag = "etag3123477";
Dashboard expectedResponse =
Dashboard.newBuilder().setName(name).setDisplayName(displayName).setEtag(etag).build();
mockDashboardsService.addResponse(expectedResponse);

Dashboard dashboard = Dashboard.newBuilder().build();
UpdateDashboardRequest request =
UpdateDashboardRequest.newBuilder().setDashboard(dashboard).build();

Dashboard actualResponse = client.updateDashboard(request);
Assert.assertEquals(expectedResponse, actualResponse);

List<AbstractMessage> actualRequests = mockDashboardsService.getRequests();
Assert.assertEquals(1, actualRequests.size());
UpdateDashboardRequest actualRequest = (UpdateDashboardRequest) actualRequests.get(0);

Assert.assertEquals(dashboard, actualRequest.getDashboard());
Assert.assertTrue(
channelProvider.isHeaderSent(
ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}

@Test
@SuppressWarnings("all")
public void updateDashboardExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockDashboardsService.addException(exception);

try {
Dashboard dashboard = Dashboard.newBuilder().build();
UpdateDashboardRequest request =
UpdateDashboardRequest.newBuilder().setDashboard(dashboard).build();

client.updateDashboard(request);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception
}
}
}
10 changes: 5 additions & 5 deletions synth.metadata
@@ -1,20 +1,20 @@
{
"updateTime": "2020-02-01T08:54:52.929485Z",
"updateTime": "2020-02-08T09:58:37.196845Z",
"sources": [
{
"git": {
"name": "googleapis",
"remote": "https://github.com/googleapis/googleapis.git",
"sha": "b5cbe4a4ba64ab19e6627573ff52057a1657773d",
"internalRef": "292647187",
"log": "b5cbe4a4ba64ab19e6627573ff52057a1657773d\nSecurityCenter v1p1beta1: move file-level option on top to workaround protobuf.js bug.\n\nPiperOrigin-RevId: 292647187\n\nb224b317bf20c6a4fbc5030b4a969c3147f27ad3\nAdds API definitions for bigqueryreservation v1beta1.\n\nPiperOrigin-RevId: 292634722\n\nc1468702f9b17e20dd59007c0804a089b83197d2\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 292626173\n\nffdfa4f55ab2f0afc11d0eb68f125ccbd5e404bd\nvision: v1p3beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605599\n\n78f61482cd028fc1d9892aa5d89d768666a954cd\nvision: v1p1beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605125\n\n60bb5a294a604fd1778c7ec87b265d13a7106171\nvision: v1p2beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604980\n\n3bcf7aa79d45eb9ec29ab9036e9359ea325a7fc3\nvision: v1p4beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604656\n\n2717b8a1c762b26911b45ecc2e4ee01d98401b28\nFix dataproc artman client library generation.\n\nPiperOrigin-RevId: 292555664\n\n"
"sha": "e7d8a694f4559201e6913f6610069cb08b39274e",
"internalRef": "293903652",
"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\n2e23b8fbc45f5d9e200572ca662fe1271bcd6760\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\n29d40b78e3dc1579b0b209463fbcb76e5767f72a\nExpose managedidentities/v1beta1/ API for client library usage.\n\nPiperOrigin-RevId: 292979741\n\na22129a1fb6e18056d576dfb7717aef74b63734a\nExpose managedidentities/v1/ API for client library usage.\n\nPiperOrigin-RevId: 292968186\n\n"
}
},
{
"template": {
"name": "java_library",
"origin": "synthtool.gcp",
"version": "2019.10.17"
"version": "2020.2.4"
}
}
],
Expand Down