use of com.google.api.services.compute.model.ZoneList in project pipeline5 by hartwigmedical.
the class InstanceLifecycleManagerTest method shouldReturnEmptyOptionalIfNamedInstanceDoesNotExist.
@Test
public void shouldReturnEmptyOptionalIfNamedInstanceDoesNotExist() throws Exception {
Compute.Instances.List zoneOneInstances = mock(Compute.Instances.List.class);
Compute.Instances.List zoneTwoInstances = mock(Compute.Instances.List.class);
InstanceList zoneOneInstanceList = mock(InstanceList.class);
InstanceList zoneTwoInstanceList = mock(InstanceList.class);
when(instances.list(ARGUMENTS.project(), zoneOne)).thenReturn(zoneOneInstances);
when(instances.list(ARGUMENTS.project(), zoneTwo)).thenReturn(zoneTwoInstances);
when(zoneOneInstances.execute()).thenReturn(zoneOneInstanceList);
when(zoneTwoInstances.execute()).thenReturn(zoneTwoInstanceList);
List<Instance> zoneOneInstanceItems = singletonList(namedInstance());
List<Instance> zoneTwoInstanceItems = asList(namedInstance(), namedInstance());
when(zoneOneInstanceList.getItems()).thenReturn(zoneOneInstanceItems);
when(zoneTwoInstanceList.getItems()).thenReturn(zoneTwoInstanceItems);
Compute.Zones zones = mock(Compute.Zones.class);
Compute.Zones.List zonesList = mock(Compute.Zones.List.class);
List<Zone> stubbedZones = asList(zone(zoneOne), zone(zoneTwo));
when(zonesList.execute()).thenReturn(new ZoneList().setItems(stubbedZones));
when(compute.zones()).thenReturn(zones);
when(zones.list(ARGUMENTS.project())).thenReturn(zonesList);
Optional<Instance> found = victim.findExistingInstance(vmName);
assertThat(found).isEmpty();
}
use of com.google.api.services.compute.model.ZoneList in project google-cloud-java by GoogleCloudPlatform.
the class HttpComputeRpc method listZones.
@Override
public Tuple<String, Iterable<Zone>> listZones(Map<Option, ?> options) {
try {
ZoneList zonesList = compute.zones().list(this.options.getProjectId()).setFilter(Option.FILTER.getString(options)).setMaxResults(Option.MAX_RESULTS.getLong(options)).setPageToken(Option.PAGE_TOKEN.getString(options)).setFields(Option.FIELDS.getString(options)).execute();
Iterable<Zone> zones = zonesList.getItems();
return Tuple.of(zonesList.getNextPageToken(), zones);
} catch (IOException ex) {
throw translate(ex);
}
}
use of com.google.api.services.compute.model.ZoneList in project pipeline5 by hartwigmedical.
the class GoogleComputeEngineTest method setUp.
@Before
public void setUp() throws Exception {
images = mock(Compute.Images.class);
imagesFromFamily = mock(Compute.Images.GetFromFamily.class);
when(imagesFromFamily.execute()).thenReturn(new Image());
when(images.getFromFamily(ARGUMENTS.project(), VirtualMachineJobDefinition.STANDARD_IMAGE)).thenReturn(imagesFromFamily);
final ArgumentCaptor<Instance> instanceArgumentCaptor = ArgumentCaptor.forClass(Instance.class);
Operation insertOperation = mock(Operation.class);
when(insertOperation.getName()).thenReturn("insert");
final Compute.Instances instances = mock(Compute.Instances.class);
lifecycleManager = mock(InstanceLifecycleManager.class);
instance = mock(Instance.class);
when(lifecycleManager.newInstance()).thenReturn(instance);
when(lifecycleManager.deleteOldInstancesAndStart(instanceArgumentCaptor.capture(), any(), any())).thenReturn(insertOperation);
when(instance.getName()).thenReturn(INSTANCE_NAME);
Compute.Instances.Stop stop = mock(Compute.Instances.Stop.class);
Operation stopOperation = mock(Operation.class);
when(stopOperation.getName()).thenReturn("stop");
when(stopOperation.getStatus()).thenReturn(DONE);
when(stop.execute()).thenReturn(stopOperation);
when(instances.stop(ARGUMENTS.project(), FIRST_ZONE_NAME, INSTANCE_NAME)).thenReturn(stop);
Compute.Instances.Delete delete = mock(Compute.Instances.Delete.class);
Operation deleteOperation = mock(Operation.class);
when(deleteOperation.getName()).thenReturn("delete");
when(deleteOperation.getStatus()).thenReturn(DONE);
when(delete.execute()).thenReturn(stopOperation);
when(instances.delete(ARGUMENTS.project(), FIRST_ZONE_NAME, INSTANCE_NAME)).thenReturn(delete);
Compute.Instances.List list = mock(Compute.Instances.List.class);
InstanceList instanceList = mock(InstanceList.class);
Instance one = mock(Instance.class);
Instance two = mock(Instance.class);
Instance three = mock(Instance.class);
when(one.getName()).thenReturn("vm-1");
when(two.getName()).thenReturn("vm-2");
when(three.getName()).thenReturn("vm-3");
List<Instance> existingInstances = Arrays.asList(one, two, three);
when(instances.list(any(), any())).thenReturn(list);
when(list.execute()).thenReturn(instanceList);
when(instanceList.getItems()).thenReturn(existingInstances);
final Compute.ZoneOperations zoneOperations = mock(Compute.ZoneOperations.class);
final Compute.ZoneOperations.Get zoneOpGet = mock(Compute.ZoneOperations.Get.class);
Operation zoneOpGetOperation = mock(Operation.class);
when(zoneOpGetOperation.getStatus()).thenReturn(DONE);
when(zoneOpGet.execute()).thenReturn(zoneOpGetOperation);
when(zoneOperations.get(ARGUMENTS.project(), FIRST_ZONE_NAME, "insert")).thenReturn(zoneOpGet);
when(zoneOperations.get(ARGUMENTS.project(), FIRST_ZONE_NAME, "stop")).thenReturn(zoneOpGet);
compute = mock(Compute.class);
when(compute.images()).thenReturn(images);
when(compute.instances()).thenReturn(instances);
when(compute.zoneOperations()).thenReturn(zoneOperations);
Compute.Zones zones = mock(Compute.Zones.class);
Compute.Zones.List zonesList = mock(Compute.Zones.List.class);
when(zonesList.execute()).thenReturn(new ZoneList().setItems(Lists.newArrayList(zone(FIRST_ZONE_NAME), zone(SECOND_ZONE_NAME))));
when(zones.list(ARGUMENTS.project())).thenReturn(zonesList);
when(compute.zones()).thenReturn(zones);
bucketWatcher = mock(BucketCompletionWatcher.class);
victim = new GoogleComputeEngine(ARGUMENTS, compute, z -> {
}, lifecycleManager, bucketWatcher, Labels.of(Arguments.testDefaults(), TestInputs.defaultSomaticRunMetadata()));
runtimeBucket = MockRuntimeBucket.test();
jobDefinition = VirtualMachineJobDefinition.builder().name("test").namespacedResults(RESULTS_DIRECTORY).startupCommand(BashStartupScript.of(runtimeBucket.getRuntimeBucket().name())).build();
}
use of com.google.api.services.compute.model.ZoneList in project pipeline5 by hartwigmedical.
the class InstanceLifecycleManagerTest method shouldReturnExistingInstance.
@Test
public void shouldReturnExistingInstance() throws Exception {
Compute.Instances.List zoneOneInstances = mock(Compute.Instances.List.class);
Compute.Instances.List zoneTwoInstances = mock(Compute.Instances.List.class);
InstanceList zoneOneInstanceList = mock(InstanceList.class);
InstanceList zoneTwoInstanceList = mock(InstanceList.class);
when(instances.list(ARGUMENTS.project(), zoneOne)).thenReturn(zoneOneInstances);
when(instances.list(ARGUMENTS.project(), zoneTwo)).thenReturn(zoneTwoInstances);
when(zoneOneInstances.execute()).thenReturn(zoneOneInstanceList);
when(zoneTwoInstances.execute()).thenReturn(zoneTwoInstanceList);
Instance vmInstance = namedInstance(vmName);
Instance someInstance = namedInstance();
Instance someOtherInstance = namedInstance();
when(zoneOneInstanceList.getItems()).thenReturn(singletonList(someInstance));
when(zoneTwoInstanceList.getItems()).thenReturn(asList(someOtherInstance, vmInstance));
Compute.Zones zones = mock(Compute.Zones.class);
Compute.Zones.List zonesList = mock(Compute.Zones.List.class);
List<Zone> stubbedZones = asList(zone(zoneOne), zone(zoneTwo));
when(zonesList.execute()).thenReturn(new ZoneList().setItems(stubbedZones));
when(compute.zones()).thenReturn(zones);
when(zones.list(ARGUMENTS.project())).thenReturn(zonesList);
Optional<Instance> found = victim.findExistingInstance(vmName);
assertThat(found).isNotEmpty();
assertThat(found.get()).isEqualTo(vmInstance);
}
Aggregations