From 34e7bcbe7a56489373f83ecf6180f5ad501a8603 Mon Sep 17 00:00:00 2001 From: Andrea Lin Date: Tue, 29 Jan 2019 12:39:52 -0800 Subject: [PATCH 1/4] add ITComputeTest test for resource name working --- .../cloud/compute/v1/it/ITComputeTest.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java index f2834c5dd18a..148070f36851 100644 --- a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java +++ b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java @@ -16,27 +16,41 @@ package com.google.cloud.compute.v1.it; import static com.google.common.truth.Truth.assertThat; +import static junit.framework.TestCase.fail; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.api.gax.paging.Page; +import com.google.api.gax.rpc.InvalidArgumentException; import com.google.auth.Credentials; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.ServiceOptions; +import com.google.cloud.compute.v1.AttachedDisk; import com.google.cloud.compute.v1.DiskType; import com.google.cloud.compute.v1.DiskTypeClient; import com.google.cloud.compute.v1.DiskTypeClient.AggregatedListDiskTypesPagedResponse; import com.google.cloud.compute.v1.DiskTypeSettings; import com.google.cloud.compute.v1.DiskTypesScopedList; +import com.google.cloud.compute.v1.Instance; +import com.google.cloud.compute.v1.InstanceClient; +import com.google.cloud.compute.v1.InstanceSettings; +import com.google.cloud.compute.v1.Instance; +import com.google.cloud.compute.v1.InstanceClient; +import com.google.cloud.compute.v1.InstanceSettings; import com.google.cloud.compute.v1.ListDiskTypesHttpRequest; +import com.google.cloud.compute.v1.NetworkInterface; import com.google.cloud.compute.v1.ProjectName; import com.google.cloud.compute.v1.ProjectRegionDiskTypeName; +import com.google.cloud.compute.v1.ProjectZoneDiskName; import com.google.cloud.compute.v1.ProjectZoneDiskTypeName; +import com.google.cloud.compute.v1.ProjectZoneInstanceName; +import com.google.cloud.compute.v1.ProjectZoneMachineTypeName; import com.google.cloud.compute.v1.ProjectZoneName; import com.google.common.collect.Lists; import java.io.IOException; import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import org.apache.http.client.HttpResponseException; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; @@ -52,6 +66,9 @@ public class ITComputeTest { private static DiskTypeClient diskTypeClient; private static DiskTypeSettings diskTypeSettings; + private static InstanceClient instanceClient; + private static InstanceSettings instanceSettings; + @Rule public Timeout globalTimeout = Timeout.seconds(300); @BeforeClass @@ -65,11 +82,18 @@ public static void beforeClass() throws IOException { .setCredentialsProvider(FixedCredentialsProvider.create(credentials)) .build(); diskTypeClient = DiskTypeClient.create(diskTypeSettings); + + instanceSettings = + InstanceSettings.newBuilder() + .setCredentialsProvider(FixedCredentialsProvider.create(credentials)) + .build(); + instanceClient = InstanceClient.create(instanceSettings); } @AfterClass public static void tearDown() throws Exception { diskTypeClient.close(); + instanceClient.close(); } @Test @@ -85,6 +109,28 @@ public void testGetDiskType() { assertThat(diskType.getDefaultDiskSizeGb()).isNotNull(); } + @Test + public void testInsertInstance() { + String machineType = + ProjectZoneMachineTypeName.of("n1-standard-1", DEFAULT_PROJECT, ZONE).toString(); + Instance instance = + Instance.newBuilder() + .setName("mytestinstancetemplate") + .setMachineType(machineType) + .build(); + try { + instanceClient.insertInstance(ProjectZoneName.of(DEFAULT_PROJECT, ZONE), instance); + } catch (InvalidArgumentException e) { + // Expect a Bad Request HTTP 400 error, but it should NOT be because of a resource name problem. + assertThat(e.getMessage()).contains("Bad Request"); + assertThat(e.getCause().getMessage()) + .doesNotContain("Invalid value for field 'resource.machineType'"); + return; + } + + fail(); + } + @Test public void testListDiskTypes() { Page diskPage = From 09c80328fd67ff76979447491513cfbe2c301fb4 Mon Sep 17 00:00:00 2001 From: Solomon Duskis Date: Mon, 11 Feb 2019 14:56:52 -0500 Subject: [PATCH 2/4] Trying to fix the formatting --- .../java/com/google/cloud/compute/v1/it/ITComputeTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java index 148070f36851..555591550118 100644 --- a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java +++ b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java @@ -114,10 +114,7 @@ public void testInsertInstance() { String machineType = ProjectZoneMachineTypeName.of("n1-standard-1", DEFAULT_PROJECT, ZONE).toString(); Instance instance = - Instance.newBuilder() - .setName("mytestinstancetemplate") - .setMachineType(machineType) - .build(); + Instance.newBuilder().setName("mytestinstancetemplate").setMachineType(machineType).build(); try { instanceClient.insertInstance(ProjectZoneName.of(DEFAULT_PROJECT, ZONE), instance); } catch (InvalidArgumentException e) { From 4fa3ea0bbf8f91efad82e1e8628902fe3d934ed2 Mon Sep 17 00:00:00 2001 From: Andrea Lin Date: Wed, 20 Feb 2019 11:50:13 -0800 Subject: [PATCH 3/4] formatted code --- .../cloud/compute/v1/it/ITComputeTest.java | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java index 148070f36851..e8aeadd562db 100644 --- a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java +++ b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java @@ -24,7 +24,6 @@ import com.google.auth.Credentials; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.ServiceOptions; -import com.google.cloud.compute.v1.AttachedDisk; import com.google.cloud.compute.v1.DiskType; import com.google.cloud.compute.v1.DiskTypeClient; import com.google.cloud.compute.v1.DiskTypeClient.AggregatedListDiskTypesPagedResponse; @@ -33,16 +32,10 @@ import com.google.cloud.compute.v1.Instance; import com.google.cloud.compute.v1.InstanceClient; import com.google.cloud.compute.v1.InstanceSettings; -import com.google.cloud.compute.v1.Instance; -import com.google.cloud.compute.v1.InstanceClient; -import com.google.cloud.compute.v1.InstanceSettings; import com.google.cloud.compute.v1.ListDiskTypesHttpRequest; -import com.google.cloud.compute.v1.NetworkInterface; import com.google.cloud.compute.v1.ProjectName; import com.google.cloud.compute.v1.ProjectRegionDiskTypeName; -import com.google.cloud.compute.v1.ProjectZoneDiskName; import com.google.cloud.compute.v1.ProjectZoneDiskTypeName; -import com.google.cloud.compute.v1.ProjectZoneInstanceName; import com.google.cloud.compute.v1.ProjectZoneMachineTypeName; import com.google.cloud.compute.v1.ProjectZoneName; import com.google.common.collect.Lists; @@ -50,7 +43,6 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import org.apache.http.client.HttpResponseException; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; @@ -114,14 +106,12 @@ public void testInsertInstance() { String machineType = ProjectZoneMachineTypeName.of("n1-standard-1", DEFAULT_PROJECT, ZONE).toString(); Instance instance = - Instance.newBuilder() - .setName("mytestinstancetemplate") - .setMachineType(machineType) - .build(); + Instance.newBuilder().setName("mytestinstancetemplate").setMachineType(machineType).build(); try { instanceClient.insertInstance(ProjectZoneName.of(DEFAULT_PROJECT, ZONE), instance); } catch (InvalidArgumentException e) { - // Expect a Bad Request HTTP 400 error, but it should NOT be because of a resource name problem. + // Expect a Bad Request HTTP 400 error, but it should NOT be because of a resource name + // problem. assertThat(e.getMessage()).contains("Bad Request"); assertThat(e.getCause().getMessage()) .doesNotContain("Invalid value for field 'resource.machineType'"); From 75fe066a85f80a06d2ae73424f322a7d8b906f2c Mon Sep 17 00:00:00 2001 From: Andrea Lin Date: Wed, 20 Feb 2019 17:48:22 -0800 Subject: [PATCH 4/4] failure message and better assert --- .../java/com/google/cloud/compute/v1/it/ITComputeTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java index e8aeadd562db..d34a1e746834 100644 --- a/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java +++ b/google-cloud-clients/google-cloud-compute/src/test/java/com/google/cloud/compute/v1/it/ITComputeTest.java @@ -114,11 +114,11 @@ public void testInsertInstance() { // problem. assertThat(e.getMessage()).contains("Bad Request"); assertThat(e.getCause().getMessage()) - .doesNotContain("Invalid value for field 'resource.machineType'"); + .contains("Invalid value for field 'resource.networkInterfaces'"); return; } - fail(); + fail("Expected HTTP Bad Request to be returned, but it was not returned."); } @Test