Skip to content

Commit 88564c4

Browse files
Moved test to ReservationIT
1 parent c8037bc commit 88564c4

File tree

2 files changed

+54
-125
lines changed

2 files changed

+54
-125
lines changed

compute/cloud-client/src/test/java/compute/reservation/ConsumeReservationIT.java

Lines changed: 0 additions & 119 deletions
This file was deleted.

compute/cloud-client/src/test/java/compute/reservation/ReservationIT.java

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,18 @@
1616

1717
package compute.reservation;
1818

19+
import static com.google.cloud.compute.v1.ReservationAffinity.ConsumeReservationType.SPECIFIC_RESERVATION;
1920
import static com.google.common.truth.Truth.assertThat;
2021
import static com.google.common.truth.Truth.assertWithMessage;
2122

2223
import com.google.api.gax.rpc.NotFoundException;
24+
import com.google.cloud.compute.v1.Instance;
25+
import com.google.cloud.compute.v1.InstancesClient;
2326
import com.google.cloud.compute.v1.Reservation;
2427
import com.google.cloud.compute.v1.ReservationsClient;
2528
import compute.CreateInstanceTemplate;
2629
import compute.CreateRegionalInstanceTemplate;
30+
import compute.DeleteInstance;
2731
import compute.DeleteInstanceTemplate;
2832
import compute.DeleteRegionalInstanceTemplate;
2933
import compute.Util;
@@ -50,18 +54,20 @@ public class ReservationIT {
5054
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
5155
private static final String ZONE = "us-west1-a";
5256
private static final String REGION = ZONE.substring(0, ZONE.lastIndexOf('-'));
57+
static String javaVersion = System.getProperty("java.version").substring(0, 2);
5358
private static ReservationsClient reservationsClient;
59+
private static InstancesClient instancesClient;
5460
private static String RESERVATION_NAME_GLOBAL;
5561
private static String RESERVATION_NAME_REGIONAL;
5662
private static String GLOBAL_INSTANCE_TEMPLATE_URI;
5763
private static String REGIONAL_INSTANCE_TEMPLATE_URI;
58-
static String javaVersion = System.getProperty("java.version").substring(0, 2);
59-
private static final String GLOBAL_INSTANCE_TEMPLATE_NAME =
60-
"test-global-inst-temp-" + javaVersion + "-" + UUID.randomUUID().toString().substring(0, 8);
61-
private static final String REGIONAL_INSTANCE_TEMPLATE_NAME =
62-
"test-regional-inst-temp-" + javaVersion + "-"
63-
+ UUID.randomUUID().toString().substring(0, 8);
64+
private static String RESERVATION_SHARED_NAME;
65+
private static String SPECIFIC_SHARED_INSTANCE_NAME;
66+
private static String GLOBAL_INSTANCE_TEMPLATE_NAME;
67+
private static String REGIONAL_INSTANCE_TEMPLATE_NAME;
6468
private static final int NUMBER_OF_VMS = 3;
69+
private static final String MACHINE_TYPE = "n2-standard-32";
70+
private static final String MIN_CPU_PLATFORM = "Intel Cascade Lake";
6571

6672
// Check if the required environment variables are set.
6773
public static void requireEnvVar(String envVarName) {
@@ -79,25 +85,38 @@ public static void setUp()
7985
System.setOut(new PrintStream(stdOut));
8086

8187
// Cleanup existing stale resources.
88+
Util.cleanUpExistingInstances("test-shared-instance-" + javaVersion, PROJECT_ID, ZONE);
8289
Util.cleanUpExistingInstanceTemplates("test-global-inst-temp-" + javaVersion, PROJECT_ID);
8390
Util.cleanUpExistingRegionalInstanceTemplates(
8491
"test-regional-inst-temp-" + javaVersion, PROJECT_ID, ZONE);
8592
Util.cleanUpExistingReservations(
8693
"test-reservation-global-" + javaVersion, PROJECT_ID, ZONE);
8794
Util.cleanUpExistingReservations("test-reservation-regional-" + javaVersion, PROJECT_ID, ZONE);
95+
Util.cleanUpExistingReservations("test-shared-instance-" + javaVersion, PROJECT_ID, ZONE);
8896

8997
// Initialize the client once for all tests
9098
reservationsClient = ReservationsClient.create();
99+
instancesClient = InstancesClient.create();
91100

92101
RESERVATION_NAME_GLOBAL = "test-reservation-global-" + javaVersion + "-"
93102
+ UUID.randomUUID().toString().substring(0, 8);
94103
RESERVATION_NAME_REGIONAL = "test-reservation-regional-" + javaVersion + "-"
95104
+ UUID.randomUUID().toString().substring(0, 8);
105+
GLOBAL_INSTANCE_TEMPLATE_NAME =
106+
"test-global-inst-temp-" + javaVersion + "-" + UUID.randomUUID().toString().substring(0, 8);
107+
REGIONAL_INSTANCE_TEMPLATE_NAME =
108+
"test-regional-inst-temp-" + javaVersion + "-"
109+
+ UUID.randomUUID().toString().substring(0, 8);
96110
GLOBAL_INSTANCE_TEMPLATE_URI = String.format("projects/%s/global/instanceTemplates/%s",
97111
PROJECT_ID, GLOBAL_INSTANCE_TEMPLATE_NAME);
98112
REGIONAL_INSTANCE_TEMPLATE_URI =
99113
String.format("projects/%s/regions/%s/instanceTemplates/%s",
100114
PROJECT_ID, REGION, REGIONAL_INSTANCE_TEMPLATE_NAME);
115+
RESERVATION_SHARED_NAME = "test-reservation-shared-" + javaVersion
116+
+ "-" + UUID.randomUUID().toString().substring(0, 8);
117+
SPECIFIC_SHARED_INSTANCE_NAME =
118+
"test-shared-instance-" + javaVersion + "-"
119+
+ UUID.randomUUID().toString().substring(0, 8);
101120

102121
// Create instance template with GLOBAL location.
103122
CreateInstanceTemplate.createInstanceTemplate(PROJECT_ID, GLOBAL_INSTANCE_TEMPLATE_NAME);
@@ -133,8 +152,10 @@ public static void cleanup()
133152
+ REGIONAL_INSTANCE_TEMPLATE_NAME);
134153

135154
// Delete all reservations created for testing.
155+
DeleteInstance.deleteInstance(PROJECT_ID, ZONE, SPECIFIC_SHARED_INSTANCE_NAME);
136156
DeleteReservation.deleteReservation(PROJECT_ID, ZONE, RESERVATION_NAME_GLOBAL);
137157
DeleteReservation.deleteReservation(PROJECT_ID, ZONE, RESERVATION_NAME_REGIONAL);
158+
DeleteReservation.deleteReservation(PROJECT_ID, ZONE, RESERVATION_SHARED_NAME);
138159

139160
// Test that reservations are deleted
140161
Assertions.assertThrows(
@@ -143,9 +164,13 @@ public static void cleanup()
143164
Assertions.assertThrows(
144165
NotFoundException.class,
145166
() -> GetReservation.getReservation(PROJECT_ID, RESERVATION_NAME_REGIONAL, ZONE));
167+
Assertions.assertThrows(
168+
NotFoundException.class,
169+
() -> GetReservation.getReservation(PROJECT_ID, RESERVATION_SHARED_NAME, ZONE));
146170

147171
// Close the client after all tests
148172
reservationsClient.close();
173+
instancesClient.close();
149174

150175
stdOut.close();
151176
System.setOut(out);
@@ -177,4 +202,27 @@ public void testCreateReservationWithRegionInstanceTemplate()
177202
Assert.assertTrue(reservation.getZone().contains(ZONE));
178203
Assert.assertEquals(RESERVATION_NAME_REGIONAL, reservation.getName());
179204
}
205+
206+
@Test
207+
public void testConsumeSpecificSharedReservation()
208+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
209+
ConsumeSpecificSharedReservation.createReservation(PROJECT_ID,
210+
RESERVATION_SHARED_NAME, NUMBER_OF_VMS, ZONE,
211+
MACHINE_TYPE, MIN_CPU_PLATFORM, true);
212+
213+
Assertions.assertEquals(RESERVATION_SHARED_NAME,
214+
reservationsClient.get(PROJECT_ID, ZONE, RESERVATION_SHARED_NAME).getName());
215+
216+
ConsumeSpecificSharedReservation.createInstance(
217+
PROJECT_ID, ZONE, SPECIFIC_SHARED_INSTANCE_NAME, MACHINE_TYPE,
218+
MIN_CPU_PLATFORM, RESERVATION_SHARED_NAME);
219+
220+
// Verify that the instance was created with the correct reservation and consumeReservationType
221+
Instance instance = instancesClient.get(PROJECT_ID, ZONE, SPECIFIC_SHARED_INSTANCE_NAME);
222+
223+
Assertions.assertTrue(instance.getReservationAffinity()
224+
.getValuesList().get(0).contains(RESERVATION_SHARED_NAME));
225+
Assertions.assertEquals(SPECIFIC_RESERVATION.toString(),
226+
instance.getReservationAffinity().getConsumeReservationType());
227+
}
180228
}

0 commit comments

Comments
 (0)