You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2015/08/14 15:07:46 UTC
[40/51] [abbrv] [partial] stratos git commit: Upgrading to jclouds
1.9.1
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java
deleted file mode 100644
index 885289f..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute;
-
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.GCE_BOOT_DISK_SUFFIX;
-import static org.jclouds.googlecomputeengine.features.GlobalOperationApiExpectTest.GET_GLOBAL_OPERATION_REQUEST;
-import static org.jclouds.googlecomputeengine.features.GlobalOperationApiExpectTest.GET_GLOBAL_OPERATION_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.ImageApiExpectTest.LIST_DEBIAN_IMAGES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.ImageApiExpectTest.LIST_DEBIAN_IMAGES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.ImageApiExpectTest.LIST_CENTOS_IMAGES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.ImageApiExpectTest.LIST_CENTOS_IMAGES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.ImageApiExpectTest.LIST_PROJECT_IMAGES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.ImageApiExpectTest.LIST_PROJECT_IMAGES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.InstanceApiExpectTest.LIST_CENTRAL1B_INSTANCES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.InstanceApiExpectTest.LIST_CENTRAL1B_INSTANCES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.InstanceApiExpectTest.LIST_INSTANCES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.InstanceApiExpectTest.LIST_INSTANCES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.MachineTypeApiExpectTest.LIST_CENTRAL1B_MACHINE_TYPES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.MachineTypeApiExpectTest.LIST_CENTRAL1B_MACHINE_TYPES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.MachineTypeApiExpectTest.LIST_MACHINE_TYPES_REQUEST;
-import static org.jclouds.googlecomputeengine.features.MachineTypeApiExpectTest.LIST_MACHINE_TYPES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.NetworkApiExpectTest.GET_NETWORK_REQUEST;
-import static org.jclouds.googlecomputeengine.features.ProjectApiExpectTest.GET_PROJECT_REQUEST;
-import static org.jclouds.googlecomputeengine.features.ProjectApiExpectTest.GET_PROJECT_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.ZoneApiExpectTest.LIST_ZONES_REQ;
-import static org.jclouds.googlecomputeengine.features.ZoneApiExpectTest.LIST_ZONES_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.ZoneApiExpectTest.LIST_ZONES_SHORT_RESPONSE;
-import static org.jclouds.googlecomputeengine.features.ZoneOperationApiExpectTest.GET_ZONE_OPERATION_REQUEST;
-import static org.jclouds.googlecomputeengine.features.ZoneOperationApiExpectTest.GET_ZONE_OPERATION_RESPONSE;
-import static org.jclouds.util.Strings2.toStringAndClose;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.RunNodesException;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.domain.Location;
-import org.jclouds.googlecomputeengine.compute.options.GoogleComputeEngineTemplateOptions;
-import org.jclouds.googlecomputeengine.domain.Instance;
-import org.jclouds.googlecomputeengine.features.InstanceApiExpectTest;
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineServiceExpectTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-
-@Test(groups = "unit")
-public class GoogleComputeEngineServiceExpectTest extends BaseGoogleComputeEngineServiceExpectTest {
-
-
- private HttpRequest INSERT_NETWORK_REQUEST = HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/networks")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"name\":\"jclouds-test\",\"IPv4Range\":\"10.0.0.0/8\"}",
- MediaType.APPLICATION_JSON))
- .build();
-
- private HttpRequest INSERT_FIREWALL_REQUEST = HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/firewalls")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"name\":\"jclouds-test\",\"network\":\"https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/networks/jclouds-test\"," +
- "\"sourceRanges\":[\"10.0.0.0/8\",\"0.0.0.0/0\"],\"sourceTags\":[\"aTag\"],\"allowed\":[{\"IPProtocol\":\"tcp\"," +
- "\"ports\":[\"22\"]}," +
- "{\"IPProtocol\":\"udp\",\"ports\":[\"22\"]}]}",
- MediaType.APPLICATION_JSON))
- .build();
-
- private HttpResponse GET_NETWORK_RESPONSE = HttpResponse.builder().statusCode(200)
- .payload(payloadFromStringWithContentType("{\n" +
- " \"kind\": \"compute#network\",\n" +
- " \"id\": \"13024414170909937976\",\n" +
- " \"creationTimestamp\": \"2012-10-24T20:13:19.967\",\n" +
- " \"selfLink\": \"https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/networks/jclouds-test\",\n" +
- " \"name\": \"jclouds-test\",\n" +
- " \"description\": \"test network\",\n" +
- " \"IPv4Range\": \"10.0.0.0/8\",\n" +
- " \"gatewayIPv4\": \"10.0.0.1\"\n" +
- "}", MediaType.APPLICATION_JSON)).build();
-
- private HttpResponse SUCESSFULL_OPERATION_RESPONSE = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/operation.json")).build();
-
- private HttpRequest SET_TAGS_REQUEST = HttpRequest.builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/test-1/setTags")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"items\":[\"aTag\"],\"fingerprint\":\"abcd\"}",
- MediaType.APPLICATION_JSON))
- .build();
-
- private HttpResponse SET_TAGS_RESPONSE = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/operation.json")).build();
-
- private HttpResponse getInstanceResponseForInstanceAndNetworkAndStatus(String instanceName, String networkName,
- String status) throws
- IOException {
- return HttpResponse.builder().statusCode(200)
- .payload(payloadFromStringWithContentType(
- replaceInstanceNameNetworkAndStatusOnResource("/instance_get.json",
- instanceName, networkName, status),
- "application/json")).build();
- }
-
- private HttpResponse getListInstancesResponseForSingleInstanceAndNetworkAndStatus(String instanceName,
- String networkName,
- String status) {
- return HttpResponse.builder().statusCode(200)
- .payload(payloadFromStringWithContentType(
- replaceInstanceNameNetworkAndStatusOnResource("/instance_list.json",
- instanceName, networkName, status),
- "application/json")).build();
- }
-
- private HttpResponse getDiskResponseForInstance(String instanceName) {
- return HttpResponse.builder().statusCode(200)
- .payload(payloadFromStringWithContentType(
- replaceDiskNameOnResource("/disk_get.json", instanceName + "-" + GCE_BOOT_DISK_SUFFIX),
- "application/json")).build();
- }
-
- private String replaceDiskNameOnResource(String resourceName, String diskName) {
- try {
- return Strings2.toStringAndClose(this.getClass().getResourceAsStream(resourceName))
- .replace("testimage1", diskName);
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- private String replaceInstanceNameNetworkAndStatusOnResource(String resourceName, String instanceName,
- String networkName, String status) {
- try {
- return Strings2.toStringAndClose(this.getClass().getResourceAsStream(resourceName)).replace("test-0",
- instanceName).replace("default", networkName).replace("RUNNING", status);
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- private HttpRequest createDiskRequestForInstance(String instanceName) {
- return HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/disks"
- + "?sourceImage=https%3A//www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140718")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"name\":\"" + instanceName + "-" + GCE_BOOT_DISK_SUFFIX + "\","
- + "\"sizeGb\":10}",
- MediaType.APPLICATION_JSON)).build();
- }
-
- private HttpRequest getDiskRequestForInstance(String instanceName) {
- return HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/zones/us-central1-a/disks/"
- + instanceName + "-" + GCE_BOOT_DISK_SUFFIX)
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
- }
-
-
-
- private HttpRequest createInstanceRequestForInstance(String instanceName, String groupName,
- String networkName, String publicKey) {
- return HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"name\":\"" + instanceName + "\"," +
- "\"machineType\":\"https://www.googleapis" +
- ".com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/f1-micro\"," +
- "\"serviceAccounts\":[]," +
- "\"networkInterfaces\":[{\"network\":\"https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/networks/" + networkName + "\"," +
- "\"accessConfigs\":[{\"type\":\"ONE_TO_ONE_NAT\"}]}]," +
- "\"disks\":[{\"mode\":\"READ_WRITE\",\"source\":\"https://www.googleapis.com/" +
- "compute/v1/projects/myproject/zones/us-central1-a/disks/" + instanceName +
- "-" + GCE_BOOT_DISK_SUFFIX + "\",\"deleteOnTerminate\":true,\"boot\":true,\"type\":\"PERSISTENT\"}]," +
- "\"metadata\":{\"kind\":\"compute#metadata\",\"items\":[{\"key\":\"sshKeys\"," +
- "\"value\":\"jclouds:" +
- publicKey + " jclouds@localhost\"},{\"key\":\"jclouds-group\"," +
- "\"value\":\"" + groupName + "\"},{\"key\":\"jclouds-image\",\"value\":\"https://www.googleapis" +
- ".com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140718\"}," +
- "{\"key\":\"jclouds-delete-boot-disk\",\"value\":\"true\"}]}}",
- MediaType.APPLICATION_JSON)).build();
- }
-
- private HttpRequest getInstanceRequestForInstance(String instanceName) {
- return HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/zones/us-central1-a/instances/" + instanceName)
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
- }
-
-
- @Override
- protected Properties setupProperties() {
- Properties overrides = super.setupProperties();
- overrides.put("google-compute-engine.identity", "myproject");
- try {
- overrides.put("google-compute-engine.credential", toStringAndClose(getClass().getResourceAsStream("/testpk.pem")));
- } catch (IOException e) {
- Throwables.propagate(e);
- }
- return overrides;
- }
-
- @Test(enabled = false)
- public void testThrowsAuthorizationException() throws Exception {
-
- Properties properties = new Properties();
- properties.setProperty("oauth.identity", "MOMMA");
- properties.setProperty("oauth.credential", "MiA");
-
- ComputeService client = requestsSendResponses(ImmutableMap.<HttpRequest, HttpResponse>of(), createModule(),
- properties);
- Template template = client.templateBuilder().build();
- Template toMatch = client.templateBuilder().imageId(template.getImage().getId()).build();
- assertEquals(toMatch.getImage(), template.getImage());
- }
-
- @Test
- public void testTemplateMatch() throws Exception {
- ImmutableMap<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.
- <HttpRequest, HttpResponse>builder()
- .put(requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE)
- .put(GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE)
- .put(LIST_ZONES_REQ, LIST_ZONES_RESPONSE)
- .put(LIST_PROJECT_IMAGES_REQUEST, LIST_PROJECT_IMAGES_RESPONSE)
- .put(LIST_DEBIAN_IMAGES_REQUEST, LIST_DEBIAN_IMAGES_RESPONSE)
- .put(LIST_CENTOS_IMAGES_REQUEST, LIST_CENTOS_IMAGES_RESPONSE)
- .put(LIST_MACHINE_TYPES_REQUEST, LIST_MACHINE_TYPES_RESPONSE)
- .put(LIST_CENTRAL1B_MACHINE_TYPES_REQUEST, LIST_CENTRAL1B_MACHINE_TYPES_RESPONSE)
- .build();
-
- ComputeService client = requestsSendResponses(requestResponseMap);
- Template template = client.templateBuilder().build();
- Hardware defaultSize = client.templateBuilder().build().getHardware();
-
- Hardware smallest = client.templateBuilder().smallest().build().getHardware();
- assertEquals(defaultSize, smallest);
-
- Hardware fastest = client.templateBuilder().fastest().build().getHardware();
- assertNotNull(fastest);
-
- assertEquals(client.listHardwareProfiles().size(), 5);
-
- Template toMatch = client.templateBuilder()
- .imageId(template.getImage().getId())
- .build();
- assertEquals(toMatch.getImage(), template.getImage());
- }
-
- @Test
- public void testNetworksAndFirewallDeletedWhenAllGroupNodesAreTerminated() throws IOException {
-
- HttpRequest deleteNodeRequest = HttpRequest.builder()
- .method("DELETE")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/zones/us-central1-a/instances/test-delete-networks")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest deleteFirewallRequest = HttpRequest.builder()
- .method("DELETE")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/firewalls/jclouds-test-delete")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest getNetworkRequest = HttpRequest.builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/networks/jclouds-test-delete")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse getNetworkResponse = HttpResponse.builder().statusCode(200)
- .payload(staticPayloadFromResource("/GoogleComputeEngineServiceExpectTest/network_get.json")).build();
-
- HttpRequest listFirewallsRequest = HttpRequest.builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/firewalls")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse listFirewallsResponse = HttpResponse.builder().statusCode(200)
- .payload(staticPayloadFromResource("/GoogleComputeEngineServiceExpectTest/firewall_list.json")).build();
-
- HttpRequest deleteNetworkReqquest = HttpRequest.builder()
- .method("DELETE")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/networks/jclouds-test-delete")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest deleteDiskRequest = HttpRequest.builder()
- .method("DELETE")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/zones/us-central1-a/disks/test")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- List<HttpRequest> orderedRequests = ImmutableList.<HttpRequest>builder()
- .add(requestForScopes(COMPUTE_READONLY_SCOPE))
- .add(GET_PROJECT_REQUEST)
- .add(getInstanceRequestForInstance("test-delete-networks"))
- .add(LIST_ZONES_REQ)
- .add(LIST_MACHINE_TYPES_REQUEST)
- .add(LIST_PROJECT_IMAGES_REQUEST)
- .add(LIST_DEBIAN_IMAGES_REQUEST)
- .add(LIST_CENTOS_IMAGES_REQUEST)
- .add(getInstanceRequestForInstance("test-delete-networks"))
- .add(requestForScopes(COMPUTE_SCOPE))
- .add(deleteNodeRequest)
- .add(GET_ZONE_OPERATION_REQUEST)
- .add(deleteDiskRequest)
- .add(GET_ZONE_OPERATION_REQUEST)
- .add(getInstanceRequestForInstance("test-delete-networks"))
- .add(LIST_INSTANCES_REQUEST)
- .add(getNetworkRequest)
- .add(listFirewallsRequest)
- .add(deleteFirewallRequest)
- .add(GET_GLOBAL_OPERATION_REQUEST)
- .add(deleteNetworkReqquest)
- .add(GET_GLOBAL_OPERATION_REQUEST)
- .build();
-
-
- List<HttpResponse> orderedResponses = ImmutableList.<HttpResponse>builder()
- .add(TOKEN_RESPONSE)
- .add(GET_PROJECT_RESPONSE)
- .add(getInstanceResponseForInstanceAndNetworkAndStatus("test-delete-networks", "test-network", Instance
- .Status.RUNNING.name()))
- .add(LIST_ZONES_SHORT_RESPONSE)
- .add(LIST_MACHINE_TYPES_RESPONSE)
- .add(LIST_PROJECT_IMAGES_RESPONSE)
- .add(LIST_DEBIAN_IMAGES_RESPONSE)
- .add(LIST_CENTOS_IMAGES_RESPONSE)
- .add(getInstanceResponseForInstanceAndNetworkAndStatus("test-delete-networks", "test-network", Instance
- .Status.RUNNING.name()))
- .add(TOKEN_RESPONSE)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_ZONE_OPERATION_RESPONSE)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_ZONE_OPERATION_RESPONSE)
- .add(getInstanceResponseForInstanceAndNetworkAndStatus("test-delete-networks", "test-network", Instance
- .Status.TERMINATED.name()))
- .add(getListInstancesResponseForSingleInstanceAndNetworkAndStatus("test-delete-networks",
- "test-network", Instance
- .Status.TERMINATED.name()))
- .add(getNetworkResponse)
- .add(listFirewallsResponse)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_GLOBAL_OPERATION_RESPONSE)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_GLOBAL_OPERATION_RESPONSE)
- .build();
-
- ComputeService client = orderedRequestsSendResponses(orderedRequests, orderedResponses);
- client.destroyNode("us-central1-a/test-delete-networks");
-
- }
-
- public void testListLocationsWhenResponseIs2xx() throws Exception {
-
- ImmutableMap<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.
- <HttpRequest, HttpResponse>builder()
- .put(requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE)
- .put(GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE)
- .put(LIST_ZONES_REQ, LIST_ZONES_RESPONSE)
- .put(LIST_INSTANCES_REQUEST, LIST_INSTANCES_RESPONSE)
- .put(LIST_CENTRAL1B_INSTANCES_REQUEST, LIST_CENTRAL1B_INSTANCES_RESPONSE)
- .put(LIST_PROJECT_IMAGES_REQUEST, LIST_PROJECT_IMAGES_RESPONSE)
- .put(LIST_DEBIAN_IMAGES_REQUEST, LIST_DEBIAN_IMAGES_RESPONSE)
- .put(LIST_CENTOS_IMAGES_REQUEST, LIST_CENTOS_IMAGES_RESPONSE)
- .put(LIST_MACHINE_TYPES_REQUEST, LIST_MACHINE_TYPES_RESPONSE)
- .put(LIST_CENTRAL1B_MACHINE_TYPES_REQUEST, LIST_CENTRAL1B_MACHINE_TYPES_RESPONSE)
- .build();
-
- ComputeService apiWhenServersExist = requestsSendResponses(requestResponseMap);
-
- Set<? extends Location> locations = apiWhenServersExist.listAssignableLocations();
-
- assertNotNull(locations);
- assertEquals(locations.size(), 2);
- assertEquals(locations.iterator().next().getId(), "us-central1-a");
-
- assertNotNull(apiWhenServersExist.listNodes());
- assertEquals(apiWhenServersExist.listNodes().size(), 1);
- assertEquals(apiWhenServersExist.listNodes().iterator().next().getId(), "us-central1-a/test-0");
- assertEquals(apiWhenServersExist.listNodes().iterator().next().getName(), "test-0");
- }
-
- @Test(dependsOnMethods = "testListLocationsWhenResponseIs2xx")
- public void testCreateNodeWhenNetworkNorFirewallExistDoesNotExist() throws RunNodesException, IOException {
-
-
- String payload = Strings2.toStringAndClose(InstanceApiExpectTest.class.getResourceAsStream("/instance_get.json"));
- payload = payload.replace("test-0", "test-1");
-
- HttpResponse getInstanceResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromStringWithContentType(payload, "application/json")).build();
-
- HttpRequest getFirewallRequest = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/firewalls/jclouds-test-port-22")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest insertFirewallRequest = HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/firewalls")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"name\":\"jclouds-test-port-22\",\"network\":\"https://www.googleapis" +
- ".com/compute/v1/projects/myproject/global/networks/jclouds-test\"," +
- "\"sourceRanges\":[\"10.0.0.0/8\",\"0.0.0.0/0\"],\"sourceTags\":[\"aTag\"],\"targetTags\":[\"jclouds-test-port-22\"],\"allowed\":[{\"IPProtocol\":\"tcp\"," +
- "\"ports\":[\"22\"]}," +
- "{\"IPProtocol\":\"udp\",\"ports\":[\"22\"]}]}",
- MediaType.APPLICATION_JSON))
- .build();
-
- HttpRequest setTagsRequest = HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/test-1/setTags")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromStringWithContentType("{\"items\":[\"jclouds-test-port-22\"],\"fingerprint\":\"abcd\"}",
- MediaType.APPLICATION_JSON))
- .build();
-
- List<HttpRequest> orderedRequests = ImmutableList.<HttpRequest>builder()
- .add(requestForScopes(COMPUTE_READONLY_SCOPE))
- .add(GET_PROJECT_REQUEST)
- .add(LIST_ZONES_REQ)
- .add(LIST_PROJECT_IMAGES_REQUEST)
- .add(LIST_DEBIAN_IMAGES_REQUEST)
- .add(LIST_CENTOS_IMAGES_REQUEST)
- .add(LIST_ZONES_REQ)
- .add(LIST_MACHINE_TYPES_REQUEST)
- .add(GET_NETWORK_REQUEST)
- .add(GET_NETWORK_REQUEST)
- .add(requestForScopes(COMPUTE_SCOPE))
- .add(INSERT_NETWORK_REQUEST)
- .add(GET_GLOBAL_OPERATION_REQUEST)
- .add(GET_NETWORK_REQUEST)
- .add(getFirewallRequest)
- .add(insertFirewallRequest)
- .add(GET_GLOBAL_OPERATION_REQUEST)
- .add(LIST_INSTANCES_REQUEST)
- .add(LIST_MACHINE_TYPES_REQUEST)
- .add(LIST_PROJECT_IMAGES_REQUEST)
- .add(LIST_DEBIAN_IMAGES_REQUEST)
- .add(LIST_CENTOS_IMAGES_REQUEST)
- .add(createDiskRequestForInstance("test-1"))
- .add(GET_ZONE_OPERATION_REQUEST)
- .add(getDiskRequestForInstance("test-1"))
- .add(createInstanceRequestForInstance("test-1", "test", "jclouds-test", openSshKey))
- .add(GET_ZONE_OPERATION_REQUEST)
- .add(getInstanceRequestForInstance("test-1"))
- .add(SET_TAGS_REQUEST)
- .add(GET_ZONE_OPERATION_REQUEST)
- .add(getInstanceRequestForInstance("test-1"))
- .add(setTagsRequest)
- .add(LIST_PROJECT_IMAGES_REQUEST)
- .add(LIST_DEBIAN_IMAGES_REQUEST)
- .add(LIST_CENTOS_IMAGES_REQUEST)
- .add(setTagsRequest)
- .build();
-
- List<HttpResponse> orderedResponses = ImmutableList.<HttpResponse>builder()
- .add(TOKEN_RESPONSE)
- .add(GET_PROJECT_RESPONSE)
- .add(LIST_ZONES_SHORT_RESPONSE)
- .add(LIST_PROJECT_IMAGES_RESPONSE)
- .add(LIST_DEBIAN_IMAGES_RESPONSE)
- .add(LIST_CENTOS_IMAGES_RESPONSE)
- .add(LIST_ZONES_SHORT_RESPONSE)
- .add(LIST_MACHINE_TYPES_RESPONSE)
- .add(HttpResponse.builder().statusCode(404).build())
- .add(HttpResponse.builder().statusCode(404).build())
- .add(TOKEN_RESPONSE)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_GLOBAL_OPERATION_RESPONSE)
- .add(GET_NETWORK_RESPONSE)
- .add(HttpResponse.builder().statusCode(404).build())
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_GLOBAL_OPERATION_RESPONSE)
- .add(LIST_INSTANCES_RESPONSE)
- .add(LIST_MACHINE_TYPES_RESPONSE)
- .add(LIST_PROJECT_IMAGES_RESPONSE)
- .add(LIST_DEBIAN_IMAGES_RESPONSE)
- .add(LIST_CENTOS_IMAGES_RESPONSE)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_ZONE_OPERATION_RESPONSE)
- .add(getDiskResponseForInstance("test-1"))
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(GET_ZONE_OPERATION_RESPONSE)
- .add(getInstanceResponse)
- .add(SET_TAGS_RESPONSE)
- .add(GET_ZONE_OPERATION_RESPONSE)
- .add(getInstanceResponse)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .add(LIST_PROJECT_IMAGES_RESPONSE)
- .add(LIST_DEBIAN_IMAGES_RESPONSE)
- .add(LIST_CENTOS_IMAGES_RESPONSE)
- .add(SUCESSFULL_OPERATION_RESPONSE)
- .build();
-
-
- ComputeService computeService = orderedRequestsSendResponses(orderedRequests, orderedResponses);
-
- GoogleComputeEngineTemplateOptions options = computeService.templateOptions().as(GoogleComputeEngineTemplateOptions.class);
- options.tags(ImmutableSet.of("aTag"));
- NodeMetadata node = getOnlyElement(computeService.createNodesInGroup("test", 1, options));
- assertEquals(node.getImageId(), "debian-7-wheezy-v20140718");
- }
-}
-
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceLiveTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceLiveTest.java
deleted file mode 100644
index 2011d2d..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceLiveTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute;
-
-import static com.google.common.collect.Iterables.contains;
-import static org.jclouds.oauth.v2.OAuthTestUtils.setCredential;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-import java.util.Properties;
-import java.util.Set;
-
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.config.UserProject;
-import org.jclouds.googlecomputeengine.domain.MachineType;
-import org.jclouds.oauth.v2.config.CredentialType;
-import org.jclouds.oauth.v2.config.OAuthProperties;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Key;
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-
-@Test(groups = "live", singleThreaded = true)
-public class GoogleComputeEngineServiceLiveTest extends BaseComputeServiceLiveTest {
-
- protected static final String DEFAULT_ZONE_NAME = "us-central1-a";
-
- public GoogleComputeEngineServiceLiveTest() {
- provider = "google-compute-engine";
- }
-
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- if (!System.getProperty(OAuthProperties.CREDENTIAL_TYPE, "")
- .equalsIgnoreCase(CredentialType.BEARER_TOKEN_CREDENTIALS.toString())) {
- setCredential(props, provider + ".credential");
- }
- return props;
- }
-
- public void testListHardwareProfiles() throws Exception {
- GoogleComputeEngineApi api = client.getContext().unwrapApi(GoogleComputeEngineApi.class);
- Supplier<String> userProject = context.utils().injector().getInstance(Key.get(new TypeLiteral<Supplier<String>>() {
- }, UserProject.class));
- ImmutableSet.Builder<String> deprecatedMachineTypes = ImmutableSet.builder();
- for (MachineType machine : api.getMachineTypeApiForProject(userProject.get())
- .listInZone(DEFAULT_ZONE_NAME).concat()) {
- if (machine.getDeprecated().isPresent()) {
- deprecatedMachineTypes.add(machine.getId());
- }
- }
- ImmutableSet<String> deprecatedMachineTypeIds = deprecatedMachineTypes.build();
- Set<? extends Hardware> hardwareProfiles = client.listHardwareProfiles();
- System.out.println(hardwareProfiles.size());
- for (Hardware hardwareProfile : hardwareProfiles) {
- System.out.println(hardwareProfile);
- assertFalse(contains(deprecatedMachineTypeIds, hardwareProfile.getId()));
- }
- }
-
- /**
- * Nodes may have additional metadata entries (particularly they may have an "sshKeys" entry)
- */
- protected void checkUserMetadataInNodeEquals(NodeMetadata node, ImmutableMap<String, String> userMetadata) {
- assertTrue(node.getUserMetadata().keySet().containsAll(userMetadata.keySet()));
- }
-
- // do not run until the auth exception problem is figured out.
- @Test(enabled = false)
- @Override
- public void testCorrectAuthException() throws Exception {
- }
-
- // reboot is not supported by GCE
- @Test(enabled = true, dependsOnMethods = "testGet")
- public void testReboot() throws Exception {
- }
-
- // suspend/Resume is not supported by GCE
- @Test(enabled = true, dependsOnMethods = "testReboot")
- public void testSuspendResume() throws Exception {
- }
-
- @Test(enabled = true, dependsOnMethods = "testSuspendResume")
- public void testListNodesByIds() throws Exception {
- super.testGetNodesWithDetails();
- }
-
- @Test(enabled = true, dependsOnMethods = "testSuspendResume")
- @Override
- public void testGetNodesWithDetails() throws Exception {
- super.testGetNodesWithDetails();
- }
-
- @Test(enabled = true, dependsOnMethods = "testSuspendResume")
- @Override
- public void testListNodes() throws Exception {
- super.testListNodes();
- }
-
- @Test(enabled = true, dependsOnMethods = {"testListNodes", "testGetNodesWithDetails", "testListNodesByIds"})
- @Override
- public void testDestroyNodes() {
- super.testDestroyNodes();
- }
-
- @Override
- protected Module getSshModule() {
- return new SshjSshClientModule();
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtensionLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtensionLiveTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtensionLiveTest.java
deleted file mode 100644
index 588ef51..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtensionLiveTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.extensions;
-
-import org.jclouds.compute.extensions.internal.BaseSecurityGroupExtensionLiveTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "live", singleThreaded = true, testName = "GoogleComputeEngineSecurityGroupExtensionLiveTest")
-public class GoogleComputeEngineSecurityGroupExtensionLiveTest extends BaseSecurityGroupExtensionLiveTest {
-
- public GoogleComputeEngineSecurityGroupExtensionLiveTest() {
- provider = "google-compute-engine";
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/FirewallToIpPermissionTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/FirewallToIpPermissionTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/FirewallToIpPermissionTest.java
deleted file mode 100644
index 62f9260..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/FirewallToIpPermissionTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.functions;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.googlecomputeengine.domain.Firewall;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.net.domain.IpProtocol;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Iterables;
-
-public class FirewallToIpPermissionTest {
-
- @Test
- public void testApply() {
-
- Firewall fw = fwForTest();
-
- FirewallToIpPermission converter = new FirewallToIpPermission();
-
- Iterable<IpPermission> perms = converter.apply(fw);
-
- assertEquals(Iterables.size(perms), 3, "There should be three IpPermissions but there is only " + Iterables.size(perms));
-
- assertTrue(Iterables.any(perms, Predicates.and(hasProtocol(IpProtocol.TCP),
- hasStartAndEndPort(1, 10))), "No permission found for TCP, ports 1-10");
- assertTrue(Iterables.any(perms, Predicates.and(hasProtocol(IpProtocol.TCP),
- hasStartAndEndPort(33, 33))), "No permission found for TCP, port 33");
- assertTrue(Iterables.any(perms, hasProtocol(IpProtocol.ICMP)),
- "No permission found for ICMP");
- }
-
- public static Firewall fwForTest() {
- Firewall.Builder builder = Firewall.builder();
-
- builder.addSourceRange("0.0.0.0/0");
- builder.addAllowed(Firewall.Rule.builder().IpProtocol(IpProtocol.TCP)
- .addPortRange(1, 10).build());
- builder.addAllowed(Firewall.Rule.builder().IpProtocol(IpProtocol.TCP)
- .addPort(33).build());
- builder.addAllowed(Firewall.Rule.builder().IpProtocol(IpProtocol.ICMP).build());
- builder.id("abcd");
- builder.selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/firewalls/jclouds-test"));
- builder.network(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/networks/jclouds-test"));
- builder.creationTimestamp(new Date());
- builder.name("jclouds-test");
-
- return builder.build();
- }
-
- public static Predicate<IpPermission> hasProtocol(final IpProtocol protocol) {
- return new Predicate<IpPermission>() {
-
- @Override
- public boolean apply(IpPermission perm) {
- return protocol.equals(perm.getIpProtocol());
- }
- };
- }
-
- public static Predicate<IpPermission> hasStartAndEndPort(final int startPort, final int endPort) {
- return new Predicate<IpPermission>() {
-
- @Override
- public boolean apply(IpPermission perm) {
- return startPort == perm.getFromPort() && endPort == perm.getToPort();
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/GoogleComputeEngineImageToImageTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/GoogleComputeEngineImageToImageTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/GoogleComputeEngineImageToImageTest.java
deleted file mode 100644
index 3bdd87e..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/GoogleComputeEngineImageToImageTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.functions;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.googlecomputeengine.domain.Image;
-import org.testng.annotations.Test;
-
-import java.net.URI;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertSame;
-
-@Test(groups = "unit")
-public class GoogleComputeEngineImageToImageTest {
-
- Image.Builder imageBuilder = Image.builder()
- .id("1234")
- .selfLink(URI.create("http://test.com"))
- .sourceType("RAW")
- .description("")
- .rawDisk(Image.RawDisk.builder().source("").containerType("TAR").build());
-
- // This unit tests is failing randomly with the following error:
- // java.lang.AssertionError: expected [linux] but found [ubuntu]
- // Therefore commented to avoid the build failure
-
-// public void testArbitratyImageName() {
-// GoogleComputeEngineImageToImage imageToImage = new GoogleComputeEngineImageToImage();
-// Image image = imageBuilder.name("arbitratyname").build();
-// org.jclouds.compute.domain.Image transformed = imageToImage.apply(image);
-// assertEquals(transformed.getName(), image.getName());
-// assertEquals(transformed.getId(), image.getName());
-// assertEquals(transformed.getProviderId(), image.getId());
-// assertSame(transformed.getOperatingSystem().getFamily(), OsFamily.LINUX);
-// }
-
- public void testWellFormedImageName() {
- GoogleComputeEngineImageToImage imageToImage = new GoogleComputeEngineImageToImage();
- Image image = imageBuilder.name("ubuntu-12-04-v123123").build();
- org.jclouds.compute.domain.Image transformed = imageToImage.apply(image);
- assertEquals(transformed.getName(), image.getName());
- assertEquals(transformed.getId(), image.getName());
- assertEquals(transformed.getProviderId(), image.getId());
- assertSame(transformed.getOperatingSystem().getFamily(), OsFamily.UBUNTU);
- assertEquals(transformed.getOperatingSystem().getVersion(), "12.04");
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
deleted file mode 100644
index 040f118..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.functions;
-
-import static org.easymock.EasyMock.createMock;
-import static org.testng.Assert.assertEquals;
-import static org.jclouds.compute.domain.Image.Status.AVAILABLE;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.OperatingSystem;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Volume.Type;
-import org.jclouds.compute.domain.VolumeBuilder;
-import org.jclouds.compute.functions.GroupNamingConvention;
-import org.jclouds.date.internal.SimpleDateFormatDateService;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationBuilder;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.domain.Instance;
-import org.jclouds.googlecomputeengine.domain.InstanceInZone;
-import org.jclouds.googlecomputeengine.domain.Metadata;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-
-@Test(groups = "unit", testName = "InstanceInZoneToNodeMetadataTest")
-public class InstanceInZoneToNodeMetadataTest {
-
- /**
- * GroupNamingConvention that always returns the same name provided in the constructor.
- * The predicates returned always evaluate to true.
- *
- */
- class FixedGroupNamingConvention implements GroupNamingConvention {
- private final String name;
-
- public FixedGroupNamingConvention(final String name) {
- this.name = name;
- }
-
- @Override
- public String sharedNameForGroup(final String group) {
- return name;
- }
-
- @Override
- public String uniqueNameForGroup(final String group) {
- return name;
- }
-
- @Override
- public String groupInUniqueNameOrNull(final String encoded) {
- return name;
- }
-
- @Override
- public String groupInSharedNameOrNull(final String encoded) {
- return name;
- }
-
- @Override
- public Predicate<String> containsGroup(final String group) {
- return new Predicate<String>() {
- @Override
- public boolean apply(final String input) {
- return true;
- }
- };
- }
-
- @Override
- public Predicate<String> containsAnyGroup() {
- return new Predicate<String>() {
- @Override
- public boolean apply(final String input) {
- return true;
- }
- };
- }
-
- @Override
- public String extractGroup(final String encoded) {
- return name;
- }
- }
-
- private Instance instance;
-
- private Set<Hardware> hardwares;
-
- private Set<Image> images;
-
- private Set<Location> locations;
-
- private InstanceInZoneToNodeMetadata groupGroupNodeParser;
- private InstanceInZoneToNodeMetadata groupNullNodeParser;
-
- @BeforeMethod
- public final void setup() {
- instance = Instance.builder()
- .id("13051190678907570425")
- .creationTimestamp(new SimpleDateFormatDateService().iso8601DateParse("2012-11-25T23:48:20.758"))
- .selfLink(URI.create("https://www.googleapis"
- + ".com/compute/v1/projects/myproject/zones/us-central1-a/instances/test-0"))
- .description("desc")
- .name("test-0")
- .machineType(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/"
- + "machineTypes/n1-standard-1"))
- .status(Instance.Status.RUNNING)
- .zone(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a"))
- .addNetworkInterface(
- Instance.NetworkInterface.builder()
- .name("nic0")
- .networkIP("10.240.121.115")
- .network(URI.create("https://www.googleapis"
- + ".com/compute/v1/projects/myproject/global/networks/default"))
- .build())
- .addDisk(
- Instance.PersistentAttachedDisk.builder()
- .index(0)
- .mode(Instance.PersistentAttachedDisk.Mode.READ_WRITE)
- .deviceName("test")
- .source(URI.create("https://www.googleapis"
- + ".com/compute/v1/projects/myproject/zones/us-central1-a/disks/test"))
- .boot(true)
- .build())
- .tags(Instance.Tags.builder().fingerprint("abcd").addItem("aTag").addItem("Group-port-42").build())
- .metadata(Metadata.builder()
- .items(ImmutableMap.of("aKey", "aValue",
- "jclouds-image",
- "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140718",
- "jclouds-delete-boot-disk", "true"))
- .fingerprint("efgh")
- .build())
- .addServiceAccount(Instance.ServiceAccount.builder().email("default").addScopes("myscope").build())
- .build();
-
- images = ImmutableSet.of(new ImageBuilder()
- .id("1")
- .uri(URI.create("https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140718"))
- .providerId("1")
- .name("mock image")
- .status(AVAILABLE)
- .operatingSystem(
- OperatingSystem.builder().name("Ubuntu 14.04 x86_64").description("Ubuntu").family(OsFamily.UBUNTU)
- .version("10.04").arch("x86_64").is64Bit(true).build()).build());
-
- hardwares = ImmutableSet.of(new HardwareBuilder().id("my_id")
- .uri(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/"
- + "n1-standard-1"))
- .providerId("1")
- .name("mock hardware").processor(new Processor(1.0, 1.0)).ram(2048)
- .volume(new VolumeBuilder().size(20f).type(Type.LOCAL).build()).build());
-
- locations = ImmutableSet.of(new LocationBuilder()
- .id("id")
- .description("https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a")
- .scope(LocationScope.REGION)
- .parent(
- new LocationBuilder().id("0").description("mock parent location").scope(LocationScope.PROVIDER)
- .build()).build());
-
- groupGroupNodeParser = createNodeParser(hardwares, images, locations, "Group");
- groupNullNodeParser = createNodeParser(hardwares, images, locations, null);
- }
-
- private InstanceInZoneToNodeMetadata createNodeParser(final Set<Hardware> hardware, final Set<Image> images,
- final Set<Location> locations, final String groupName) {
- Supplier<Map<URI, ? extends Location>> locationSupplier = new Supplier<Map<URI, ? extends Location>>() {
- @Override
- public Map<URI, ? extends Location> get() {
- return Maps.uniqueIndex(locations, new Function<Location, URI>() {
- @Override
- public URI apply(final Location input) {
- return URI.create(input.getDescription());
- }
- });
- }
- };
-
- Supplier<Map<URI, ? extends Hardware>> hardwareSupplier = new Supplier<Map<URI, ? extends Hardware>>() {
- @Override
- public Map<URI, ? extends Hardware> get() {
- return Maps.uniqueIndex(hardware, new Function<Hardware, URI>() {
- @Override
- public URI apply(final Hardware input) {
- return input.getUri();
- }
- });
- }
- };
-
- Supplier<Map<URI, ? extends Image>> imageSupplier = new Supplier<Map<URI, ? extends Image>>() {
- @Override
- public Map<URI, ? extends Image> get() {
- return Maps.uniqueIndex(images, new Function<Image, URI>() {
- @Override
- public URI apply(final Image input) {
- return input.getUri();
- }
- });
- }
- };
-
- Supplier<String> userProjectSupplier = new Supplier<String>() {
- @Override
- public String get() {
- return "userProject";
- }
- };
-
- GroupNamingConvention.Factory namingConventionFactory =
- new GroupNamingConvention.Factory() {
- @Override
- public GroupNamingConvention createWithoutPrefix() {
- return new FixedGroupNamingConvention(groupName);
- }
-
- @Override
- public GroupNamingConvention create() {
- return new FixedGroupNamingConvention(groupName);
- }
- };
-
- return new InstanceInZoneToNodeMetadata(
- ImmutableMap.<Instance.Status, NodeMetadata.Status>builder()
- .put(Instance.Status.RUNNING, NodeMetadata.Status.PENDING).build(),
- namingConventionFactory,
- imageSupplier,
- hardwareSupplier,
- locationSupplier,
- new FirewallTagNamingConvention.Factory(namingConventionFactory),
- createMock(GoogleComputeEngineApi.class),
- userProjectSupplier);
- }
-
- @Test
- public final void testTagFilteringWorks() {
- InstanceInZone instanceInZone = new InstanceInZone(instance, "zoneId");
- NodeMetadata nodeMetadata = groupGroupNodeParser.apply(instanceInZone);
- assertEquals(nodeMetadata.getId(), "id/test-0");
- assertEquals(nodeMetadata.getTags(), ImmutableSet.<String>of(
- "aTag" // "aTag" kept as a non firewall tag.
- // "Group-port-42" filtered out as a firewall tag.
- ));
- }
-
- @Test
- public final void testInstanceWithGroupNull() {
- InstanceInZone instanceInZone = new InstanceInZone(instance, "zoneId");
- NodeMetadata nodeMetadata = groupNullNodeParser.apply(instanceInZone);
- assertEquals(nodeMetadata.getId(), "id/test-0");
- assertEquals(nodeMetadata.getTags(), ImmutableSet.<String>of("aTag", "Group-port-42"));
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/NetworkToSecurityGroupTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/NetworkToSecurityGroupTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/NetworkToSecurityGroupTest.java
deleted file mode 100644
index 795c989..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/NetworkToSecurityGroupTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.functions;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.jclouds.googlecomputeengine.compute.functions.FirewallToIpPermissionTest.hasProtocol;
-import static org.jclouds.googlecomputeengine.compute.functions.FirewallToIpPermissionTest.hasStartAndEndPort;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.collect.IterableWithMarkers;
-import org.jclouds.collect.PagedIterables;
-import org.jclouds.compute.domain.SecurityGroup;
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.domain.Network;
-import org.jclouds.googlecomputeengine.features.FirewallApi;
-import org.jclouds.googlecomputeengine.options.ListOptions;
-import org.jclouds.googlecomputeengine.options.ListOptions.Builder;
-import org.jclouds.net.domain.IpProtocol;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicates;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-public class NetworkToSecurityGroupTest {
-
- @Test
- public void testApply() {
- Supplier<String> projectSupplier = new Supplier<String>() {
- @Override
- public String get() {
- return "myproject";
- }
- };
-
- FirewallToIpPermission fwToPerm = new FirewallToIpPermission();
-
- GoogleComputeEngineApi api = createMock(GoogleComputeEngineApi.class);
- FirewallApi fwApi = createMock(FirewallApi.class);
-
- ListOptions options = new Builder().filter("network eq .*/jclouds-test");
- expect(api.getFirewallApiForProject(projectSupplier.get()))
- .andReturn(fwApi);
- expect(fwApi.list(options)).andReturn(PagedIterables.of(IterableWithMarkers.from(ImmutableSet.of(FirewallToIpPermissionTest.fwForTest()))));
-
- replay(api, fwApi);
- Network.Builder builder = Network.builder();
-
- builder.id("abcd");
- builder.selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/networks/jclouds-test"));
- builder.creationTimestamp(new Date());
- builder.description("some description");
- builder.gatewayIPv4("1.2.3.4");
- builder.IPv4Range("0.0.0.0/0");
- builder.name("jclouds-test");
-
- Network network = builder.build();
-
- NetworkToSecurityGroup netToSg = new NetworkToSecurityGroup(fwToPerm, api, projectSupplier);
-
- SecurityGroup group = netToSg.apply(network);
-
- assertEquals(group.getId(), "jclouds-test");
- assertEquals(group.getUri(), URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/networks/jclouds-test"));
- assertEquals(group.getIpPermissions().size(), 3);
- assertTrue(Iterables.any(group.getIpPermissions(), Predicates.and(hasProtocol(IpProtocol.TCP),
- hasStartAndEndPort(1, 10))), "No permission found for TCP, ports 1-10");
- assertTrue(Iterables.any(group.getIpPermissions(), Predicates.and(hasProtocol(IpProtocol.TCP),
- hasStartAndEndPort(33, 33))), "No permission found for TCP, port 33");
- assertTrue(Iterables.any(group.getIpPermissions(), hasProtocol(IpProtocol.ICMP)),
- "No permission found for ICMP");
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/OrphanedGroupsFromDeadNodesTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/OrphanedGroupsFromDeadNodesTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/OrphanedGroupsFromDeadNodesTest.java
deleted file mode 100644
index cae3432..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/functions/OrphanedGroupsFromDeadNodesTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.functions;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.testng.Assert.assertSame;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.easymock.EasyMock;
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.domain.ComputeMetadata;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.internal.NodeMetadataImpl;
-import org.jclouds.googlecomputeengine.compute.predicates.AllNodesInGroupTerminated;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-
-public class OrphanedGroupsFromDeadNodesTest {
-
- private static class IdAndGroupOnlyNodeMetadata extends NodeMetadataImpl {
-
- public IdAndGroupOnlyNodeMetadata(String id, String group, Status status) {
- super(null, null, id, null, null, ImmutableMap.<String, String>of(), ImmutableSet.<String>of(), group, null,
- null, null, status, null, 0, ImmutableSet.<String>of(), ImmutableSet.<String>of(), null, null);
- }
- }
-
-
- @Test
- public void testDetectsAllOrphanedGroupsWhenAllNodesTerminated() {
-
- Set<? extends NodeMetadata> deadNodesGroup1 = (Set) ImmutableSet.builder()
- .add(new IdAndGroupOnlyNodeMetadata("a", "1", NodeMetadata.Status.TERMINATED)).build();
-
- Set<? extends NodeMetadata> deadNodesGroup2 = (Set) ImmutableSet.builder()
- .add(new IdAndGroupOnlyNodeMetadata("b", "2", NodeMetadata.Status.TERMINATED)).build();
-
- Set<? extends NodeMetadata> allDeadNodes = Sets.union(deadNodesGroup1, deadNodesGroup2);
-
- ComputeService mock = createMock(ComputeService.class);
- expect(mock.listNodesDetailsMatching(EasyMock.<Predicate<ComputeMetadata>>anyObject()))
- .andReturn((Set) deadNodesGroup1).once();
- expect(mock.listNodesDetailsMatching(EasyMock.<Predicate<ComputeMetadata>>anyObject()))
- .andReturn((Set) deadNodesGroup2).once();
-
- replay(mock);
-
- OrphanedGroupsFromDeadNodes orphanedGroupsFromDeadNodes = new OrphanedGroupsFromDeadNodes(new
- AllNodesInGroupTerminated(mock));
-
- Set<String> orphanedGroups = orphanedGroupsFromDeadNodes.apply(allDeadNodes);
-
- assertSame(orphanedGroups.size(), 2);
- assertTrue(orphanedGroups.contains("1"));
- assertTrue(orphanedGroups.contains("2"));
- }
-
- @Test
- public void testDetectsAllOrphanedGroupsWhenSomeNodesTerminatedAndOtherMissing() {
-
- Set<? extends NodeMetadata> deadNodesGroup1 = (Set) ImmutableSet.builder()
- .add(new IdAndGroupOnlyNodeMetadata("a", "1", NodeMetadata.Status.TERMINATED)).build();
-
- Set<? extends NodeMetadata> deadNodesGroup2 = (Set) ImmutableSet.builder()
- .add(new IdAndGroupOnlyNodeMetadata("b", "2", NodeMetadata.Status.TERMINATED)).build();
-
- Set<? extends NodeMetadata> allDeadNodes = Sets.union(deadNodesGroup1, deadNodesGroup2);
-
- ComputeService mock = createMock(ComputeService.class);
- expect(mock.listNodesDetailsMatching(EasyMock.<Predicate<ComputeMetadata>>anyObject()))
- .andReturn((Set) deadNodesGroup1).once();
- expect(mock.listNodesDetailsMatching(EasyMock.<Predicate<ComputeMetadata>>anyObject()))
- .andReturn((Set) ImmutableSet.of()).once();
-
- replay(mock);
-
- OrphanedGroupsFromDeadNodes orphanedGroupsFromDeadNodes = new OrphanedGroupsFromDeadNodes(new
- AllNodesInGroupTerminated(mock));
-
- Set<String> orphanedGroups = orphanedGroupsFromDeadNodes.apply(allDeadNodes);
-
- assertSame(orphanedGroups.size(), 2);
- assertTrue(orphanedGroups.contains("1"));
- assertTrue(orphanedGroups.contains("2"));
- }
-
- @Test
- public void testDetectsAllOrphanedGroupsWhenSomeNodesAreAlive() {
-
- Set<? extends NodeMetadata> deadNodesGroup1 = (Set) ImmutableSet.builder()
- .add(new IdAndGroupOnlyNodeMetadata("a", "1", NodeMetadata.Status.TERMINATED)).build();
-
- Set<? extends NodeMetadata> deadNodesGroup2 = (Set) ImmutableSet.builder()
- .add(new IdAndGroupOnlyNodeMetadata("b", "2", NodeMetadata.Status.RUNNING)).build();
-
- Set<? extends NodeMetadata> allDeadNodes = Sets.union(deadNodesGroup1, deadNodesGroup2);
-
- ComputeService mock = createMock(ComputeService.class);
- expect(mock.listNodesDetailsMatching(EasyMock.<Predicate<ComputeMetadata>>anyObject()))
- .andReturn((Set) deadNodesGroup1).once();
- expect(mock.listNodesDetailsMatching(EasyMock.<Predicate<ComputeMetadata>>anyObject()))
- .andReturn((Set) deadNodesGroup2).once();
-
- replay(mock);
-
- OrphanedGroupsFromDeadNodes orphanedGroupsFromDeadNodes = new OrphanedGroupsFromDeadNodes(new
- AllNodesInGroupTerminated(mock));
-
- Set<String> orphanedGroups = orphanedGroupsFromDeadNodes.apply(allDeadNodes);
-
- assertSame(orphanedGroups.size(), 1);
- assertTrue(orphanedGroups.contains("1"));
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/loaders/FindNetworkOrCreateTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/loaders/FindNetworkOrCreateTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/loaders/FindNetworkOrCreateTest.java
deleted file mode 100644
index 467995f..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/compute/loaders/FindNetworkOrCreateTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.compute.loaders;
-
-import static com.google.common.base.Optional.fromNullable;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.domain.Network;
-import org.jclouds.googlecomputeengine.domain.Operation;
-import org.jclouds.googlecomputeengine.domain.internal.NetworkAndAddressRange;
-import org.jclouds.googlecomputeengine.features.GlobalOperationApi;
-import org.jclouds.googlecomputeengine.features.NetworkApi;
-import org.jclouds.googlecomputeengine.functions.CreateNetworkIfNeeded;
-import org.jclouds.googlecomputeengine.predicates.GlobalOperationDonePredicate;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.LoadingCache;
-
-public class FindNetworkOrCreateTest {
-
- @Test
- public void testLoadExisting() {
- final GoogleComputeEngineApi api = createMock(GoogleComputeEngineApi.class);
- final NetworkApi nwApi = createMock(NetworkApi.class);
-
- Network network = Network.builder().IPv4Range("0.0.0.0/0")
- .id("abcd").name("this-network")
- .selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/networks/this-network"))
- .build();
-
- final Supplier<String> userProject = new Supplier<String>() {
- @Override
- public String get() {
- return "myproject";
- }
- };
-
- expect(api.getNetworkApiForProject(userProject.get())).andReturn(nwApi).atLeastOnce();
-
- expect(nwApi.get("this-network")).andReturn(network);
-
- replay(api, nwApi);
-
- NetworkAndAddressRange input = new NetworkAndAddressRange("this-network", "0.0.0.0/0", null);
-
- GlobalOperationDonePredicate pred = new GlobalOperationDonePredicate(api, userProject);
-
- CreateNetworkIfNeeded creator = new CreateNetworkIfNeeded(api, userProject, pred, 100l, 100l);
-
- FindNetworkOrCreate loader = new FindNetworkOrCreate(api, creator, userProject);
-
- LoadingCache<NetworkAndAddressRange, Network> cache = CacheBuilder.newBuilder().build(loader);
-
- assertEquals(cache.getUnchecked(input), network);
-
- // Second call is to ensure we only need to make the API calls once.
- assertEquals(cache.getUnchecked(input), network);
-
- verify(api, nwApi);
- }
-
- @Test
- public void testLoadNew() {
- final GoogleComputeEngineApi api = createMock(GoogleComputeEngineApi.class);
- final NetworkApi nwApi = createMock(NetworkApi.class);
- final GlobalOperationApi globalApi = createMock(GlobalOperationApi.class);
-
- Network network = Network.builder().IPv4Range("0.0.0.0/0")
- .id("abcd").name("this-network")
- .selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/networks/this-network"))
- .build();
-
- Operation createOp = createMock(Operation.class);
-
- final Supplier<String> userProject = new Supplier<String>() {
- @Override
- public String get() {
- return "myproject";
- }
- };
-
- expect(api.getNetworkApiForProject(userProject.get())).andReturn(nwApi).atLeastOnce();
- expect(api.getGlobalOperationApiForProject(userProject.get())).andReturn(globalApi).atLeastOnce();
-
- expect(nwApi.createInIPv4Range("this-network", "0.0.0.0/0"))
- .andReturn(createOp);
- expect(globalApi.get("create-op")).andReturn(createOp);
- // pre-creation
- expect(nwApi.get("this-network")).andReturn(null).times(2);
- // post-creation
- expect(nwApi.get("this-network")).andReturn(network);
-
- expect(createOp.getName()).andReturn("create-op");
- expect(createOp.getStatus()).andReturn(Operation.Status.DONE);
- expect(createOp.getHttpError()).andReturn(fromNullable((HttpResponse)null));
- replay(api, nwApi, createOp, globalApi);
-
- NetworkAndAddressRange input = new NetworkAndAddressRange("this-network", "0.0.0.0/0", null);
-
- GlobalOperationDonePredicate pred = new GlobalOperationDonePredicate(api, userProject);
-
- CreateNetworkIfNeeded creator = new CreateNetworkIfNeeded(api, userProject, pred, 100l, 100l);
-
- FindNetworkOrCreate loader = new FindNetworkOrCreate(api, creator, userProject);
-
- LoadingCache<NetworkAndAddressRange, Network> cache = CacheBuilder.newBuilder().build(loader);
-
- assertEquals(cache.getUnchecked(input), network);
-
- // Second call is to ensure we only need to make the API calls once.
- assertEquals(cache.getUnchecked(input), network);
-
- verify(api, nwApi, globalApi, createOp);
-
- }
-}
-
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
deleted file mode 100644
index 1816b78..0000000
--- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.googlecomputeengine.features;
-
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-import static org.testng.AssertJUnit.assertNull;
-
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiExpectTest;
-import org.jclouds.googlecomputeengine.parse.ParseAddressListTest;
-import org.jclouds.googlecomputeengine.parse.ParseAddressTest;
-import org.jclouds.googlecomputeengine.parse.ParseOperationTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-@Test(groups = "unit")
-public class AddressApiExpectTest extends BaseGoogleComputeEngineApiExpectTest {
-
- public void testGetAddressResponseIs2xx() throws Exception {
- HttpRequest get = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/addresses/test-ip1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/address_get.json")).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, get, operationResponse).getAddressApiForProject("myproject");
-
- assertEquals(api.getInRegion("us-central1", "test-ip1"),
- new ParseAddressTest().expected());
- }
-
- public void testGetAddressResponseIs4xx() throws Exception {
- HttpRequest get = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/addresses/test-ip1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, get, operationResponse).getAddressApiForProject("myproject");
-
- assertNull(api.getInRegion("us-central1", "test-ip1"));
- }
-
- public void testInsertAddressResponseIs2xx() {
- HttpRequest insert = HttpRequest
- .builder()
- .method("POST")
- .endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/addresses")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN)
- .payload(payloadFromResourceWithContentType("/address_insert.json", MediaType.APPLICATION_JSON))
- .build();
-
- HttpResponse insertAddressResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/region_operation.json")).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, insert,
- insertAddressResponse).getAddressApiForProject("myproject");
-
- assertEquals(api.createInRegion("us-central1", "test-ip1"), new ParseOperationTest().expected());
- }
-
- public void testDeleteAddressResponseIs2xx() {
- HttpRequest delete = HttpRequest
- .builder()
- .method("DELETE")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/regions/us-central1/addresses/test-ip1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse deleteResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/region_operation.json")).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, delete, deleteResponse).getAddressApiForProject("myproject");
-
- assertEquals(api.deleteInRegion("us-central1", "test-ip1"),
- new ParseOperationTest().expected());
- }
-
- public void testDeleteAddressResponseIs4xx() {
- HttpRequest delete = HttpRequest
- .builder()
- .method("DELETE")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/regions/us-central1/addresses/test-ip1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, delete, deleteResponse).getAddressApiForProject("myproject");
-
- assertNull(api.deleteInRegion("us-central1", "test-ip1"));
- }
-
- public void testListAddresssResponseIs2xx() {
- HttpRequest list = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/regions/us-central1/addresses")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/address_list.json")).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list, operationResponse).getAddressApiForProject("myproject");
-
- assertEquals(api.listFirstPageInRegion("us-central1").toString(),
- new ParseAddressListTest().expected().toString());
- }
-
- public void testListAddresssResponseIs4xx() {
- HttpRequest list = HttpRequest
- .builder()
- .method("GET")
- .endpoint("https://www.googleapis" +
- ".com/compute/v1/projects/myproject/regions/us-central1/addresses")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
-
- AddressApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list, operationResponse).getAddressApiForProject("myproject");
-
- assertTrue(api.listInRegion("us-central1").concat().isEmpty());
- }
-}