http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionExpectTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionExpectTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionExpectTest.java
deleted file mode 100644
index 07372a0..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionExpectTest.java
+++ /dev/null
@@ -1,699 +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.cloudstack.compute.extensions;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import org.jclouds.cloudstack.CloudStackContext;
-import org.jclouds.cloudstack.compute.functions.ZoneToLocationTest;
-import 
org.jclouds.cloudstack.internal.BaseCloudStackComputeServiceContextExpectTest;
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.domain.SecurityGroup;
-import org.jclouds.compute.domain.SecurityGroupBuilder;
-import org.jclouds.compute.extensions.SecurityGroupExtension;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.net.domain.IpProtocol;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-import com.google.inject.Module;
-
-@Test(groups = "unit", testName = "CloudStackSecurityGroupExtensionExpectTest")
-public class CloudStackSecurityGroupExtensionExpectTest extends 
BaseCloudStackComputeServiceContextExpectTest<ComputeService> {
-
-   protected final HttpResponse addRuleResponse = 
HttpResponse.builder().statusCode(200)
-           
.payload(payloadFromResource("/authorizesecuritygroupingressresponse.json"))
-           .build();
-
-   protected final HttpResponse revokeRuleResponse = 
HttpResponse.builder().statusCode(200)
-           
.payload(payloadFromResource("/revokesecuritygroupingressresponse.json"))
-           .build();
-
-   protected final HttpRequest queryAsyncJobResultAuthorizeIngress = 
HttpRequest.builder().method("GET")
-           .endpoint("http://localhost:8080/client/api";)
-           .addQueryParam("response", "json")
-           .addQueryParam("command", "queryAsyncJobResult")
-           .addQueryParam("jobid", "13330fc9-8b3e-4582-aa3e-90883c041010")
-           .addQueryParam("apiKey", "APIKEY")
-           .addQueryParam("signature", "y4gk3ckWAMPDNZM26LUK0gAhfiE%3D")
-           .addHeader("Accept", "application/json")
-           .build();
-
-   protected final HttpResponse queryAsyncJobResultAuthorizeIngressResponse = 
HttpResponse.builder().statusCode(200)
-           
.payload(payloadFromResource("/queryasyncjobresultresponse-authorizeingress.json"))
-           .build();
-
-   protected final HttpRequest getWithRule = 
HttpRequest.builder().method("GET")
-           .endpoint("http://localhost:8080/client/api";)
-           .addQueryParam("response", "json")
-           .addQueryParam("command", "listSecurityGroups")
-           .addQueryParam("listAll", "true")
-           .addQueryParam("id", "13")
-           .addQueryParam("apiKey", "APIKEY")
-           .addQueryParam("signature", "TmlGaO2ICM%2BiXQr88%2BZCyWUniSw%3D")
-           .addHeader("Accept", "application/json")
-           .build();
-
-   protected final HttpResponse getEmptyResponse = 
HttpResponse.builder().statusCode(200)
-           
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_empty.json"))
-           .build();
-
-   @Override
-   protected Properties setupProperties() {
-      Properties overrides = super.setupProperties();
-      overrides.setProperty("jclouds.zones", "MTV-Zone1");
-      return overrides;
-   }
-
-   public void testListSecurityGroups() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "o%2Bd8xxWT1Pa%2BI57SG2caFAblBYA%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/listsecuritygroupsresponse.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(getZone, getZoneResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      Set<SecurityGroup> groups = extension.listSecurityGroups();
-      assertEquals(groups.size(), 5);
-   }
-
-   public void testListSecurityGroupsForNode() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("virtualmachineid", "some-node")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "x4f9fGMjIHXl5biaaFK5oOEONcg%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/listsecuritygroupsresponse.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(getZone, getZoneResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      Set<SecurityGroup> groups = 
extension.listSecurityGroupsForNode("some-node");
-      assertEquals(groups.size(), 5);
-   }
-
-   public void testGetSecurityGroupById() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("id", "13")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "TmlGaO2ICM%2BiXQr88%2BZCyWUniSw%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(getZone, getZoneResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      SecurityGroup group = extension.getSecurityGroupById("13");
-      assertEquals(group.getId(), "13");
-      assertEquals(group.getIpPermissions().size(), 2);
-   }
-
-   public void testCreateSecurityGroup() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("securitygroupname", "jclouds-test")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "zGp2rfHY6fBIGkgODRxyNzFfPFI%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/getsecuritygroupresponse.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(getZoneWithSecurityGroups, 
getZoneWithSecurityGroupsResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .put(createSecurityGroup, createSecurityGroupResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      SecurityGroup group = extension.createSecurityGroup("test", 
ZoneToLocationTest.two);
-      assertEquals(group.getId(), "30");
-      assertEquals(group.getIpPermissions().size(), 0);
-   }
-
-   @Test(expectedExceptions = UncheckedExecutionException.class,
-           expectedExceptionsMessageRegExp = 
"java.lang.IllegalArgumentException: .* does not support security groups")
-   public void testCreateSecurityGroupBadZone() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("securitygroupname", "jclouds-test")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "zGp2rfHY6fBIGkgODRxyNzFfPFI%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/getsecuritygroupresponse.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(getZone, getZoneResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .put(createSecurityGroup, createSecurityGroupResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      SecurityGroup group = extension.createSecurityGroup("test", 
ZoneToLocationTest.one);
-      assertEquals(group.getId(), "30");
-      assertEquals(group.getIpPermissions().size(), 0);
-   }
-
-   public void testRemoveSecurityGroup() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("id", "13")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "TmlGaO2ICM%2BiXQr88%2BZCyWUniSw%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_empty.json"))
-              .build();
-
-      HttpRequest deleteSecurityGroup = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "deleteSecurityGroup")
-              .addQueryParam("id", "13")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "S1A2lYR/ibf4%2BHGFxVLdZvXZujQ%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse deleteSecurityGroupResponse = HttpResponse.builder()
-              .statusCode(200)
-              
.payload(payloadFromResource("/deletesecuritygroupresponse.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .put(deleteSecurityGroup, deleteSecurityGroupResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      assertTrue(extension.removeSecurityGroup("13"), "Did not remove security 
group");
-   }
-
-   public void testRemoveSecurityGroupDoesNotExist() {
-      HttpRequest listSecurityGroups = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "listSecurityGroups")
-              .addQueryParam("listAll", "true")
-              .addQueryParam("id", "14")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "pWQ30A6l5qh4eaNypGwM9FoLnUM%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse listSecurityGroupsResponse = 
HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/getsecuritygroupresponse.json"))
-              .build();
-
-      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
-              .put(listTemplates, listTemplatesResponse)
-              .put(listOsTypes, listOsTypesResponse)
-              .put(listOsCategories, listOsCategoriesResponse)
-              .put(listZones, listZonesResponse)
-              .put(listServiceOfferings, listServiceOfferingsResponse)
-              .put(listAccounts, listAccountsResponse)
-              .put(listNetworks, listNetworksResponse)
-              .put(listSecurityGroups, listSecurityGroupsResponse)
-              .build();
-
-      SecurityGroupExtension extension = 
requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get();
-
-      assertFalse(extension.removeSecurityGroup("14"), "Should not have found 
security group to remove");
-   }
-
-   public void testAddIpPermissionCidrFromIpPermission() {
-      HttpRequest addRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "authorizeSecurityGroupIngress")
-              .addQueryParam("securitygroupid", "13")
-              .addQueryParam("protocol", "UDP")
-              .addQueryParam("startport", "11")
-              .addQueryParam("endport", "11")
-              .addQueryParam("cidrlist", "1.1.1.1/24")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "XyokGNutHwcyU7KQVFZOTHvc4RY%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_cidr.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(addRule, queryAsyncJobResultAuthorizeIngress, 
getWithRule),
-              ImmutableList.of(addRuleResponse, 
queryAsyncJobResultAuthorizeIngressResponse, getWithRuleResponse)
-      ).getSecurityGroupExtension().get();
-
-      IpPermission.Builder builder = IpPermission.builder();
-
-      builder.ipProtocol(IpProtocol.UDP);
-      builder.fromPort(11);
-      builder.toPort(11);
-      builder.cidrBlock("1.1.1.1/24");
-
-      IpPermission perm = builder.build();
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.addIpPermission(perm, origGroup);
-
-      assertEquals(1, newGroup.getIpPermissions().size());
-
-      IpPermission newPerm = 
Iterables.getOnlyElement(newGroup.getIpPermissions());
-
-      assertNotNull(newPerm);
-      assertEquals(newPerm.getIpProtocol(), IpProtocol.UDP);
-      assertEquals(newPerm.getFromPort(), 11);
-      assertEquals(newPerm.getToPort(), 11);
-      assertEquals(newPerm.getCidrBlocks().size(), 1);
-      assertTrue(newPerm.getCidrBlocks().contains("1.1.1.1/24"));
-   }
-
-   public void testAddIpPermissionCidrFromParams() {
-      HttpRequest addRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "authorizeSecurityGroupIngress")
-              .addQueryParam("securitygroupid", "13")
-              .addQueryParam("protocol", "UDP")
-              .addQueryParam("startport", "11")
-              .addQueryParam("endport", "11")
-              .addQueryParam("cidrlist", "1.1.1.1/24")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "XyokGNutHwcyU7KQVFZOTHvc4RY%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_cidr.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(addRule, queryAsyncJobResultAuthorizeIngress, 
getWithRule),
-              ImmutableList.of(addRuleResponse, 
queryAsyncJobResultAuthorizeIngressResponse, getWithRuleResponse)
-      ).getSecurityGroupExtension().get();
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.addIpPermission(IpProtocol.UDP, 11, 
11, emptyMultimap(),
-              ImmutableSet.of("1.1.1.1/24"), emptyStringSet(), origGroup);
-
-      assertEquals(1, newGroup.getIpPermissions().size());
-
-      IpPermission newPerm = 
Iterables.getOnlyElement(newGroup.getIpPermissions());
-
-      assertNotNull(newPerm);
-      assertEquals(newPerm.getIpProtocol(), IpProtocol.UDP);
-      assertEquals(newPerm.getFromPort(), 11);
-      assertEquals(newPerm.getToPort(), 11);
-      assertEquals(newPerm.getCidrBlocks().size(), 1);
-      assertTrue(newPerm.getCidrBlocks().contains("1.1.1.1/24"));
-   }
-
-   public void testAddIpPermissionGroupFromIpPermission() {
-      HttpRequest addRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "authorizeSecurityGroupIngress")
-              .addQueryParam("securitygroupid", "13")
-              .addQueryParam("protocol", "TCP")
-              .addQueryParam("startport", "22")
-              .addQueryParam("endport", "22")
-              .addQueryParam("usersecuritygrouplist[0].account", "adrian")
-              .addQueryParam("usersecuritygrouplist[0].group", "adriancole")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "v2OgKc2IftwX9pfKq2Pw/Z2xh9w%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_group.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(addRule, queryAsyncJobResultAuthorizeIngress, 
getWithRule),
-              ImmutableList.of(addRuleResponse, 
queryAsyncJobResultAuthorizeIngressResponse, getWithRuleResponse)
-      ).getSecurityGroupExtension().get();
-
-      IpPermission.Builder builder = IpPermission.builder();
-
-      builder.ipProtocol(IpProtocol.TCP);
-      builder.fromPort(22);
-      builder.toPort(22);
-      builder.tenantIdGroupNamePair("adrian", "adriancole");
-
-      IpPermission perm = builder.build();
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.addIpPermission(perm, origGroup);
-
-      assertEquals(1, newGroup.getIpPermissions().size());
-
-      IpPermission newPerm = 
Iterables.getOnlyElement(newGroup.getIpPermissions());
-
-      assertNotNull(newPerm);
-      assertEquals(newPerm.getIpProtocol(), IpProtocol.TCP);
-      assertEquals(newPerm.getFromPort(), 22);
-      assertEquals(newPerm.getToPort(), 22);
-      assertEquals(newPerm.getCidrBlocks().size(), 0);
-      assertEquals(newPerm.getTenantIdGroupNamePairs().size(), 1);
-      assertTrue(newPerm.getTenantIdGroupNamePairs().containsEntry("adrian", 
"adriancole"));
-   }
-
-   public void testAddIpPermissionGroupFromParams() {
-      HttpRequest addRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "authorizeSecurityGroupIngress")
-              .addQueryParam("securitygroupid", "13")
-              .addQueryParam("protocol", "TCP")
-              .addQueryParam("startport", "22")
-              .addQueryParam("endport", "22")
-              .addQueryParam("usersecuritygrouplist[0].account", "adrian")
-              .addQueryParam("usersecuritygrouplist[0].group", "adriancole")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "v2OgKc2IftwX9pfKq2Pw/Z2xh9w%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_group.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(addRule, queryAsyncJobResultAuthorizeIngress, 
getWithRule),
-              ImmutableList.of(addRuleResponse, 
queryAsyncJobResultAuthorizeIngressResponse, getWithRuleResponse)
-      ).getSecurityGroupExtension().get();
-
-      ImmutableMultimap.Builder<String, String> permBuilder = 
ImmutableMultimap.builder();
-      permBuilder.put("adrian", "adriancole");
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.addIpPermission(IpProtocol.TCP, 22, 
22,
-              permBuilder.build(), emptyStringSet(), emptyStringSet(), 
origGroup);
-
-      assertEquals(1, newGroup.getIpPermissions().size());
-
-      IpPermission newPerm = 
Iterables.getOnlyElement(newGroup.getIpPermissions());
-
-      assertNotNull(newPerm);
-      assertEquals(newPerm.getIpProtocol(), IpProtocol.TCP);
-      assertEquals(newPerm.getFromPort(), 22);
-      assertEquals(newPerm.getToPort(), 22);
-      assertEquals(newPerm.getCidrBlocks().size(), 0);
-      assertEquals(newPerm.getTenantIdGroupNamePairs().size(), 1);
-      assertTrue(newPerm.getTenantIdGroupNamePairs().containsEntry("adrian", 
"adriancole"));
-   }
-
-   public void testRemoveIpPermissionCidrFromIpPermission() {
-      HttpRequest revokeRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "revokeSecurityGroupIngress")
-              .addQueryParam("id", "6")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "H7cY/MEYGN7df1hiz0mMAFVBfa8%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_cidr.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(getWithRule, revokeRule, 
queryAsyncJobResultAuthorizeIngress, getWithRule),
-              ImmutableList.of(getWithRuleResponse, revokeRuleResponse,
-                      queryAsyncJobResultAuthorizeIngressResponse, 
getEmptyResponse)
-      ).getSecurityGroupExtension().get();
-
-      IpPermission.Builder builder = IpPermission.builder();
-
-      builder.ipProtocol(IpProtocol.UDP);
-      builder.fromPort(11);
-      builder.toPort(11);
-      builder.cidrBlock("1.1.1.1/24");
-
-      IpPermission perm = builder.build();
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.removeIpPermission(perm, origGroup);
-
-      assertEquals(newGroup.getIpPermissions().size(), 0);
-   }
-
-   public void testRemoveIpPermissionCidrFromParams() {
-      HttpRequest revokeRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "revokeSecurityGroupIngress")
-              .addQueryParam("id", "6")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "H7cY/MEYGN7df1hiz0mMAFVBfa8%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_cidr.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(getWithRule, revokeRule, 
queryAsyncJobResultAuthorizeIngress, getWithRule),
-              ImmutableList.of(getWithRuleResponse, revokeRuleResponse,
-                      queryAsyncJobResultAuthorizeIngressResponse, 
getEmptyResponse)
-      ).getSecurityGroupExtension().get();
-
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.removeIpPermission(IpProtocol.UDP, 
11, 11, emptyMultimap(),
-              ImmutableSet.of("1.1.1.1/24"), emptyStringSet(), origGroup);
-
-      assertEquals(newGroup.getIpPermissions().size(), 0);
-   }
-
-   public void testRemoveIpPermissionGroupFromIpPermission() {
-      HttpRequest revokeRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "revokeSecurityGroupIngress")
-              .addQueryParam("id", "5")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "bEzvrLtO7aEWkIqJgUeTnd%2B0XbY%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_group.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(getWithRule, revokeRule, 
queryAsyncJobResultAuthorizeIngress, getWithRule),
-              ImmutableList.of(getWithRuleResponse, revokeRuleResponse,
-                      queryAsyncJobResultAuthorizeIngressResponse, 
getEmptyResponse)
-      ).getSecurityGroupExtension().get();
-
-      IpPermission.Builder builder = IpPermission.builder();
-
-      builder.ipProtocol(IpProtocol.TCP);
-      builder.fromPort(22);
-      builder.toPort(22);
-      builder.tenantIdGroupNamePair("adrian", "adriancole");
-
-      IpPermission perm = builder.build();
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.removeIpPermission(perm, origGroup);
-
-      assertEquals(newGroup.getIpPermissions().size(), 0);
-   }
-
-   public void testRemoveIpPermissionGroupFromParams() {
-      HttpRequest revokeRule = HttpRequest.builder().method("GET")
-              .endpoint("http://localhost:8080/client/api";)
-              .addQueryParam("response", "json")
-              .addQueryParam("command", "revokeSecurityGroupIngress")
-              .addQueryParam("id", "5")
-              .addQueryParam("apiKey", "APIKEY")
-              .addQueryParam("signature", "bEzvrLtO7aEWkIqJgUeTnd%2B0XbY%3D")
-              .addHeader("Accept", "application/json")
-              .build();
-
-      HttpResponse getWithRuleResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/getsecuritygroupresponse_extension_byid_with_group.json"))
-              .build();
-
-      SecurityGroupExtension extension = orderedRequestsSendResponses(
-              ImmutableList.of(getWithRule, revokeRule, 
queryAsyncJobResultAuthorizeIngress, getWithRule),
-              ImmutableList.of(getWithRuleResponse, revokeRuleResponse,
-                      queryAsyncJobResultAuthorizeIngressResponse, 
getEmptyResponse)
-      ).getSecurityGroupExtension().get();
-
-      ImmutableMultimap.Builder<String, String> permBuilder = 
ImmutableMultimap.builder();
-      permBuilder.put("adrian", "adriancole");
-
-      SecurityGroup origGroup = new SecurityGroupBuilder().id("13").build();
-
-      SecurityGroup newGroup = extension.removeIpPermission(IpProtocol.TCP, 
22, 22,
-              permBuilder.build(), emptyStringSet(), emptyStringSet(), 
origGroup);
-
-      assertEquals(newGroup.getIpPermissions().size(), 0);
-   }
-
-   @Override
-   public ComputeService createClient(Function<HttpRequest, HttpResponse> fn, 
Module module, Properties props) {
-      return clientFrom(createInjector(fn, module, 
props).getInstance(CloudStackContext.class));
-   }
-
-   @Override
-   protected ComputeService clientFrom(CloudStackContext context) {
-      return context.getComputeService();
-   }
-
-   private Multimap<String, String> emptyMultimap() {
-      return LinkedHashMultimap.create();
-   }
-
-   private Set<String> emptyStringSet() {
-      return Sets.newLinkedHashSet();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionLiveTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionLiveTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionLiveTest.java
deleted file mode 100644
index af5b0fb..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/extensions/CloudStackSecurityGroupExtensionLiveTest.java
+++ /dev/null
@@ -1,65 +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.cloudstack.compute.extensions;
-
-import org.jclouds.cloudstack.CloudStackApi;
-import org.jclouds.cloudstack.domain.Zone;
-import org.jclouds.compute.domain.Template;
-import 
org.jclouds.compute.extensions.internal.BaseSecurityGroupExtensionLiveTest;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.inject.Module;
-
-/**
- * Live test for CloudStack {@link 
org.jclouds.compute.extensions.SecurityGroupExtension} implementation.
- */
-@Test(groups = "live", singleThreaded = true, testName = 
"CloudStackSecurityGroupExtensionLiveTest")
-public class CloudStackSecurityGroupExtensionLiveTest extends 
BaseSecurityGroupExtensionLiveTest {
-
-   protected Zone zone;
-
-   public CloudStackSecurityGroupExtensionLiveTest() {
-      provider = "cloudstack";
-   }
-
-   @BeforeClass(groups = { "integration", "live" })
-   public void setupContext() {
-      super.setupContext();
-
-      CloudStackApi api = view.unwrapApi(CloudStackApi.class);
-      for (Zone z : api.getZoneApi().listZones()) {
-         if (z.isSecurityGroupsEnabled()) {
-            zone = z;
-            break;
-         }
-      }
-
-      if (zone == null)
-         securityGroupsSupported = false;
-   }
-
-   protected Module getSshModule() {
-      return new SshjSshClientModule();
-   }
-
-   @Override
-   public Template getNodeTemplate() {
-      return 
view.getComputeService().templateBuilder().locationId(zone.getId()).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/CloudStackSecurityGroupToSecurityGroupTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/CloudStackSecurityGroupToSecurityGroupTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/CloudStackSecurityGroupToSecurityGroupTest.java
deleted file mode 100644
index 6b9122a..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/CloudStackSecurityGroupToSecurityGroupTest.java
+++ /dev/null
@@ -1,72 +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.cloudstack.compute.functions;
-
-import static com.google.common.collect.Iterables.transform;
-import static org.testng.Assert.assertEquals;
-
-
-import org.jclouds.compute.domain.SecurityGroup;
-import org.jclouds.net.domain.IpProtocol;
-import org.jclouds.cloudstack.domain.IngressRule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-@Test(groups = "unit", testName = "CloudStackSecurityGroupToSecurityGroupTest")
-public class CloudStackSecurityGroupToSecurityGroupTest {
-
-   private static final IngressRuleToIpPermission ruleConverter = new 
IngressRuleToIpPermission();
-   
-   @Test
-   public void testApply() {
-      IngressRule ruleToConvert = IngressRule.builder()
-         .id("some-id")
-         .account("some-account")
-         .securityGroupName("some-group-name")
-         .protocol(IpProtocol.TCP.toString())
-         .startPort(10)
-         .endPort(20)
-         .CIDR("0.0.0.0/0")
-         .build();
-
-      org.jclouds.cloudstack.domain.SecurityGroup origGroup = 
org.jclouds.cloudstack.domain.SecurityGroup.builder()
-         .id("some-id")
-         .name("some-group")
-         .description("some-description")
-         .account("some-account")
-         .ingressRules(ImmutableSet.of(ruleToConvert))
-         .build();
-
-      CloudStackSecurityGroupToSecurityGroup parser = createGroupParser();
-
-      SecurityGroup group = parser.apply(origGroup);
-      
-      assertEquals(group.getId(), origGroup.getId());
-      assertEquals(group.getProviderId(), origGroup.getId());
-      assertEquals(group.getName(), origGroup.getName());
-      assertEquals(group.getOwnerId(), origGroup.getAccount());
-      assertEquals(group.getIpPermissions(), 
ImmutableSet.copyOf(transform(origGroup.getIngressRules(), ruleConverter)));
-   }
-
-   private CloudStackSecurityGroupToSecurityGroup createGroupParser() {
-      CloudStackSecurityGroupToSecurityGroup parser = new 
CloudStackSecurityGroupToSecurityGroup(ruleConverter);
-
-      return parser;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/IngressRuleToIpPermissionTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/IngressRuleToIpPermissionTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/IngressRuleToIpPermissionTest.java
deleted file mode 100644
index aedf310..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/IngressRuleToIpPermissionTest.java
+++ /dev/null
@@ -1,58 +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.cloudstack.compute.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.cloudstack.domain.IngressRule;
-import org.jclouds.net.domain.IpPermission;
-import org.jclouds.net.domain.IpProtocol;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-
-/**
- * Tests for the function for transforming a cloudstack specific IngressRule 
into a generic
- * IpPermission object.
- */
-public class IngressRuleToIpPermissionTest {
-
-   @Test
-   public void testApplyWithTCP() {
-      IngressRule ruleToConvert = IngressRule.builder()
-         .id("some-id")
-         .account("some-account")
-         .securityGroupName("some-group-name")
-         .protocol(IpProtocol.TCP.toString())
-         .startPort(10)
-         .endPort(20)
-         .CIDR("0.0.0.0/0")
-         .build();
-
-      IngressRuleToIpPermission converter = new IngressRuleToIpPermission();
-
-      IpPermission convertedPerm = converter.apply(ruleToConvert);
-
-      assertEquals(convertedPerm.getIpProtocol(), 
IpProtocol.fromValue(ruleToConvert.getProtocol()));
-      assertEquals(convertedPerm.getFromPort(), ruleToConvert.getStartPort());
-      assertEquals(convertedPerm.getToPort(), ruleToConvert.getEndPort());
-      assertEquals(convertedPerm.getCidrBlocks(), 
ImmutableSet.of("0.0.0.0/0"));
-      assertEquals(convertedPerm.getTenantIdGroupNamePairs().size(), 1);
-      assertEquals(convertedPerm.getGroupIds().size(), 0);
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ServiceOfferingToHardwareTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ServiceOfferingToHardwareTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ServiceOfferingToHardwareTest.java
deleted file mode 100644
index 827d8ce..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ServiceOfferingToHardwareTest.java
+++ /dev/null
@@ -1,58 +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.cloudstack.compute.functions;
-
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.util.Set;
-
-import org.jclouds.cloudstack.domain.ServiceOffering;
-import org.jclouds.cloudstack.parse.ListServiceOfferingsResponseTest;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * Tests {@code ServiceOfferingToHardware}
- */
-@Test(groups = "unit")
-public class ServiceOfferingToHardwareTest {
-
-   static ServiceOfferingToHardware function = new ServiceOfferingToHardware();
-   static Hardware one = new HardwareBuilder().ids("1").name("Small Instance")
-         .processors(ImmutableList.of(new Processor(1, 500))).ram(512).build();
-   static Hardware two = new HardwareBuilder().ids("2").name("Medium Instance")
-         .processors(ImmutableList.of(new Processor(1, 
1000))).ram(1024).build();
-
-   @Test
-   public void test() {
-
-      Set<Hardware> expected = ImmutableSet.of(one, two);
-
-      Set<ServiceOffering> offerings = new 
ListServiceOfferingsResponseTest().expected();
-
-      Iterable<Hardware> profiles = Iterables.transform(offerings, function);
-
-      assertEquals(profiles.toString(), expected.toString());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToImageTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToImageTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToImageTest.java
deleted file mode 100644
index 11c9d9e..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToImageTest.java
+++ /dev/null
@@ -1,78 +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.cloudstack.compute.functions;
-
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.util.Set;
-
-import org.jclouds.cloudstack.domain.Template;
-import org.jclouds.cloudstack.parse.ListTemplatesResponseTest;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.Image.Status;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.domain.Location;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * Tests {@code TemplateToImage}
- */
-@Test(groups = "unit")
-public class TemplateToImageTest {
-   static Supplier<Set<? extends Location>> locationSupplier = Suppliers
-         .<Set<? extends Location>> ofInstance(ImmutableSet.<Location> 
of(ZoneToLocationTest.one,
-               ZoneToLocationTest.two));
-
-   static TemplateToImage function = new TemplateToImage(locationSupplier, 
TemplateToOperatingSystemTest.function);
-
-   // location free image
-   static Image one = new ImageBuilder().id("2").providerId("2").name("CentOS 
5.3(64-bit) no GUI (XenServer)")
-         
.operatingSystem(TemplateToOperatingSystemTest.one).description("CentOS 
5.3(64-bit) no GUI (XenServer)")
-         .status(Status.AVAILABLE).build();
-   // location free image
-   static Image two = new ImageBuilder().id("4").providerId("4").name("CentOS 
5.5(64-bit) no GUI (KVM)")
-         
.operatingSystem(TemplateToOperatingSystemTest.two).description("CentOS 
5.5(64-bit) no GUI (KVM)")
-         .status(Status.AVAILABLE).build();
-   static Image three = new 
ImageBuilder().id("203").providerId("203").name("Windows 7 KVM")
-         
.operatingSystem(TemplateToOperatingSystemTest.three).description("Windows 7 
KVM")
-         .location(ZoneToLocationTest.two).status(Status.AVAILABLE).build();
-   // location free image
-   static Image four = new ImageBuilder().id("7").providerId("7").name("CentOS 
5.3(64-bit) no GUI (vSphere)")
-         
.operatingSystem(TemplateToOperatingSystemTest.four).description("CentOS 
5.3(64-bit) no GUI (vSphere)")
-         .status(Status.AVAILABLE).build();
-   static Image five = new 
ImageBuilder().id("241").providerId("241").name("kvmdev4")
-         
.operatingSystem(TemplateToOperatingSystemTest.five).description("v5.6.28_Dev4")
-         .location(ZoneToLocationTest.two).status(Status.AVAILABLE).build();
-
-   @Test
-   public void test() {
-
-      Set<Image> expected = ImmutableSet.of(one, two, three, four, five);
-
-      Set<Template> offerings = new ListTemplatesResponseTest().expected();
-
-      Iterable<Image> profiles = Iterables.transform(offerings, function);
-
-      assertEquals(profiles.toString(), expected.toString());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToOperatingSystemTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToOperatingSystemTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToOperatingSystemTest.java
deleted file mode 100644
index 3877807..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/TemplateToOperatingSystemTest.java
+++ /dev/null
@@ -1,86 +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.cloudstack.compute.functions;
-
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.cloudstack.domain.OSType;
-import org.jclouds.cloudstack.domain.Template;
-import org.jclouds.cloudstack.parse.ListOSCategoriesResponseTest;
-import org.jclouds.cloudstack.parse.ListOSTypesResponseTest;
-import org.jclouds.cloudstack.parse.ListTemplatesResponseTest;
-import org.jclouds.compute.config.BaseComputeServiceContextModule;
-import org.jclouds.compute.domain.OperatingSystem;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.json.Json;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
-import com.google.inject.Guice;
-
-/**
- * Tests {@code TemplateToOperatingSystem}
- */
-@Test(groups = "unit")
-public class TemplateToOperatingSystemTest {
-   static Map<String, OSType> ostypes = Maps.<String, OSType> uniqueIndex(new 
ListOSTypesResponseTest().expected(),
-         new Function<OSType, String>() {
-
-            @Override
-            public String apply(OSType arg0) {
-               return arg0.getId();
-            }
-         });
-
-   static TemplateToOperatingSystem function = new 
TemplateToOperatingSystem(Suppliers.ofInstance(ostypes),
-         Suppliers.ofInstance(new ListOSCategoriesResponseTest().expected()), 
new BaseComputeServiceContextModule() {
-         }.provideOsVersionMap(new ComputeServiceConstants.ReferenceData(), 
Guice.createInjector(new GsonModule())
-               .getInstance(Json.class)));
-
-   static OperatingSystem one = 
OperatingSystem.builder().name("CentOS").family(OsFamily.CENTOS).is64Bit(false)
-         .version("5.3").description("CentOS 5.3 (32-bit)").build();
-   static OperatingSystem two = 
OperatingSystem.builder().name("CentOS").family(OsFamily.CENTOS).is64Bit(true)
-         .version("5.5").description("CentOS 5.5 (64-bit)").build();
-   static OperatingSystem three = 
OperatingSystem.builder().name("Windows").family(OsFamily.WINDOWS).is64Bit(false)
-         .version("7").description("Windows 7 (32-bit)").build();
-   static OperatingSystem four = 
OperatingSystem.builder().name("CentOS").family(OsFamily.CENTOS).is64Bit(true)
-         .version("5.3").description("CentOS 5.3 (64-bit)").build();
-   static OperatingSystem five = 
OperatingSystem.builder().name("CentOS").family(OsFamily.CENTOS).is64Bit(true)
-         .version("5.4").description("CentOS 5.4 (64-bit)").build();
-
-   @Test
-   public void test() {
-
-      Set<OperatingSystem> expected = ImmutableSet.of(one, two, three, four, 
five);
-
-      Set<Template> offerings = new ListTemplatesResponseTest().expected();
-
-      Iterable<OperatingSystem> profiles = Iterables.transform(offerings, 
function);
-
-      assertEquals(profiles.toString(), expected.toString());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadataTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadataTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadataTest.java
deleted file mode 100644
index 6c055f7..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/VirtualMachineToNodeMetadataTest.java
+++ /dev/null
@@ -1,187 +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.cloudstack.compute.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.UnknownHostException;
-import java.util.Set;
-
-import org.jclouds.cloudstack.domain.GuestIPType;
-import org.jclouds.cloudstack.domain.IPForwardingRule;
-import org.jclouds.cloudstack.domain.NIC;
-import org.jclouds.cloudstack.domain.TrafficType;
-import org.jclouds.cloudstack.domain.VirtualMachine;
-import org.jclouds.cloudstack.parse.ListVirtualMachinesResponseTest;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeMetadata.Status;
-import org.jclouds.compute.domain.NodeMetadataBuilder;
-import org.jclouds.compute.functions.GroupNamingConvention;
-import org.jclouds.date.internal.SimpleDateFormatDateService;
-import org.jclouds.domain.Location;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.inject.Guice;
-
-@Test(groups = "unit", testName = "VirtualMachineToNodeMetadataTest")
-public class VirtualMachineToNodeMetadataTest {
-
-   GroupNamingConvention.Factory namingConvention = 
Guice.createInjector().getInstance(GroupNamingConvention.Factory.class);
-
-   @Test
-   public void testApplyWhereVirtualMachineWithIPForwardingRule() throws 
UnknownHostException {
-
-      Supplier<Set<? extends Location>> locationSupplier = Suppliers.<Set<? 
extends Location>> ofInstance(ImmutableSet
-         .<Location>of(ZoneToLocationTest.one, ZoneToLocationTest.two));
-
-      Supplier<Set<? extends Image>> imageSupplier = Suppliers.<Set<? extends 
Image>> ofInstance(ImmutableSet
-         .<Image>of(TemplateToImageTest.one, TemplateToImageTest.two));
-      VirtualMachineToNodeMetadata parser = new 
VirtualMachineToNodeMetadata(locationSupplier, imageSupplier,
-            CacheBuilder.newBuilder().<String, Set<IPForwardingRule>> build(
-                  new CacheLoader<String, Set<IPForwardingRule>>() {
-                     @Override
-                     public Set<IPForwardingRule> load(String arg0) throws 
Exception {
-                        return 
ImmutableSet.of(IPForwardingRule.builder().id("1234l").IPAddress("1.1.1.1").build());
-                     }
-                  }), namingConvention);
-
-      // notice if we've already parsed this properly here, we can rely on it.
-      VirtualMachine guest = Iterables.get(new 
ListVirtualMachinesResponseTest().expected(), 0);
-
-      NodeMetadata node = parser.apply(guest);
-
-      assertEquals(
-            node.toString(),
-            new 
NodeMetadataBuilder().id("54").providerId("54").name("i-3-54-VM").group("i-3-54")
-                  
.location(ZoneToLocationTest.one).status(Status.PENDING).hostname("i-3-54-VM")
-                  
.privateAddresses(ImmutableSet.of("10.1.1.18")).publicAddresses(ImmutableSet.of("1.1.1.1"))
-                  .hardware(addHypervisor(ServiceOfferingToHardwareTest.one, 
"XenServer"))
-                  .imageId(TemplateToImageTest.one.getId())
-                  
.operatingSystem(TemplateToImageTest.one.getOperatingSystem()).build().toString());
-
-   }
-
-   @Test
-   public void testApplyWhereVirtualMachineHasNoIpForwardingRuleAndAPublicIP() 
throws UnknownHostException {
-
-      Supplier<Set<? extends Location>> locationSupplier = Suppliers.<Set<? 
extends Location>> ofInstance(ImmutableSet
-         .<Location>of(ZoneToLocationTest.one, ZoneToLocationTest.two));
-
-      Supplier<Set<? extends Image>> imageSupplier = Suppliers.<Set<? extends 
Image>> ofInstance(ImmutableSet
-         .<Image>of(TemplateToImageTest.one, TemplateToImageTest.two));
-
-      VirtualMachineToNodeMetadata parser = new 
VirtualMachineToNodeMetadata(locationSupplier, imageSupplier,
-            CacheBuilder.newBuilder().<String, Set<IPForwardingRule>> build(
-                  new CacheLoader<String, Set<IPForwardingRule>>() {
-                     @Override
-                     public Set<IPForwardingRule> load(String arg0) throws 
Exception {
-                        return ImmutableSet.of();
-                     }
-                  }), namingConvention);
-
-      VirtualMachine guest = VirtualMachine.builder()
-         .id("54")
-         .name("i-3-54-VM")
-         .displayName("i-3-54-VM")
-         .account("adrian")
-         .domainId("1")
-         .domain("ROOT")
-         .created(new 
SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-16T14:28:37-0800"))
-         .state(VirtualMachine.State.STARTING)
-         .isHAEnabled(false)
-         .zoneId("1")
-         .zoneName("San Jose 1")
-         .templateId("2")
-         .templateName("CentOS 5.3(64-bit) no GUI (XenServer)")
-         .templateDisplayText("CentOS 5.3(64-bit) no GUI (XenServer)")
-         .passwordEnabled(false)
-         .serviceOfferingId("1")
-         .serviceOfferingName("Small Instance")
-         .cpuCount(1)
-         .cpuSpeed(500)
-         .memory(512)
-         .guestOSId("11")
-         .rootDeviceId("0")
-         .rootDeviceType("NetworkFilesystem")
-         .jobId("63l")
-         .jobStatus(0)
-         
.nics(ImmutableSet.of(NIC.builder().id("72").networkId("204").netmask("255.255.255.0").gateway("1.1.1.1")
-            
.IPAddress("1.1.1.5").trafficType(TrafficType.GUEST).guestIPType(GuestIPType.VIRTUAL)
-            .isDefault(true).build())).hypervisor("XenServer").build();
-
-      NodeMetadata node = parser.apply(guest);
-
-      assertEquals(
-         node.toString(),
-         new 
NodeMetadataBuilder().id("54").providerId("54").name("i-3-54-VM").group("i-3-54")
-            
.location(ZoneToLocationTest.one).status(Status.PENDING).hostname("i-3-54-VM")
-            .privateAddresses(ImmutableSet.<String>of())
-            .publicAddresses(ImmutableSet.<String>of("1.1.1.5"))
-            .hardware(addHypervisor(ServiceOfferingToHardwareTest.one, 
"XenServer"))
-            .imageId(TemplateToImageTest.one.getId())
-            
.operatingSystem(TemplateToImageTest.one.getOperatingSystem()).build().toString());
-   }
-
-   @Test
-   public void testApplyWhereVirtualMachineWithNoPassword() throws 
UnknownHostException {
-
-      Supplier<Set<? extends Location>> locationSupplier = Suppliers.<Set<? 
extends Location>> ofInstance(ImmutableSet
-         .<Location>of(ZoneToLocationTest.one, ZoneToLocationTest.two));
-
-      Supplier<Set<? extends Image>> imageSupplier = Suppliers.<Set<? extends 
Image>> ofInstance(ImmutableSet
-         .<Image>of(TemplateToImageTest.one, TemplateToImageTest.two));
-      VirtualMachineToNodeMetadata parser = new 
VirtualMachineToNodeMetadata(locationSupplier, imageSupplier,
-            CacheBuilder.newBuilder().<String, Set<IPForwardingRule>> build(
-                  new CacheLoader<String, Set<IPForwardingRule>>() {
-
-                     @Override
-                     public Set<IPForwardingRule> load(String arg0) throws 
Exception {
-                        throw new ResourceNotFoundException("no ip forwarding 
rule for: " + arg0);
-                     }
-
-                  }), namingConvention);
-
-      // notice if we've already parsed this properly here, we can rely on it.
-      VirtualMachine guest = Iterables.get(new 
ListVirtualMachinesResponseTest().expected(), 0);
-
-      NodeMetadata node = parser.apply(guest);
-
-      assertEquals(
-            node.toString(),
-            new 
NodeMetadataBuilder().id("54").providerId("54").name("i-3-54-VM").group("i-3-54")
-                  
.location(ZoneToLocationTest.one).status(Status.PENDING).hostname("i-3-54-VM")
-                  .privateAddresses(ImmutableSet.of("10.1.1.18"))
-                  .hardware(addHypervisor(ServiceOfferingToHardwareTest.one, 
"XenServer"))
-                  .imageId(TemplateToImageTest.one.getId())
-                  
.operatingSystem(TemplateToImageTest.one.getOperatingSystem()).build().toString());
-   }
-
-   protected Hardware addHypervisor(Hardware in, String hypervisor) {
-      return HardwareBuilder.fromHardware(in).hypervisor(hypervisor).build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ZoneToLocationTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ZoneToLocationTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ZoneToLocationTest.java
deleted file mode 100644
index ab8c239..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/functions/ZoneToLocationTest.java
+++ /dev/null
@@ -1,61 +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.cloudstack.compute.functions;
-
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.cloudstack.domain.Zone;
-import org.jclouds.cloudstack.parse.ListZonesResponseTest;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationBuilder;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.location.suppliers.all.JustProvider;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * Tests {@code ZoneToLocation}
- */
-@Test(singleThreaded = true, groups = "unit")
-public class ZoneToLocationTest {
-
-   public static final JustProvider justProvider = new 
JustProvider("cloudstack", Suppliers.ofInstance(URI.create("foo")),
-            ImmutableSet.<String> of());
-   public static final ZoneToLocation function = new 
ZoneToLocation(justProvider);
-   public static final Location one = new 
LocationBuilder().parent(Iterables.get(justProvider.get(), 
0)).scope(LocationScope.ZONE)
-         .description("San Jose 1").id("1").build();
-   public static final Location two = new 
LocationBuilder().parent(Iterables.get(justProvider.get(), 
0)).scope(LocationScope.ZONE)
-         .description("Chicago").id("2").build();
-
-   @Test
-   public void test() {
-
-      Set<Location> expected = ImmutableSet.of(one, two);
-
-      Set<Zone> zones = new ListZonesResponseTest().expected();
-
-      Iterable<Location> locations = Iterables.transform(zones, function);
-
-      assertEquals(locations.toString(), expected.toString());
-   }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/CreateUniqueKeyPairTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/CreateUniqueKeyPairTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/CreateUniqueKeyPairTest.java
deleted file mode 100644
index 1fbddae..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/CreateUniqueKeyPairTest.java
+++ /dev/null
@@ -1,69 +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.cloudstack.compute.loaders;
-
-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.UnknownHostException;
-
-import org.jclouds.cloudstack.CloudStackApi;
-import org.jclouds.cloudstack.domain.SshKeyPair;
-import org.jclouds.cloudstack.features.SSHKeyPairApi;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-@Test(groups = "unit", testName = "CreateUniqueKeyPairTest")
-public class CreateUniqueKeyPairTest {
-
-   @Test
-   public void testLoad() throws UnknownHostException {
-      final CloudStackApi client = createMock(CloudStackApi.class);
-      SSHKeyPairApi keyClient = createMock(SSHKeyPairApi.class);
-
-      SshKeyPair pair = createMock(SshKeyPair.class);
-
-      expect(client.getSSHKeyPairApi()).andReturn(keyClient);
-      expect(keyClient.createSSHKeyPair("group-1")).andReturn(pair);
-
-      replay(client, keyClient);
-
-      CreateUniqueKeyPair parser = Guice.createInjector(new AbstractModule() {
-
-         @Override
-         protected void configure() {
-            bind(new TypeLiteral<Supplier<String>>() {
-            }).toInstance(Suppliers.ofInstance("1"));
-            bind(CloudStackApi.class).toInstance(client);
-         }
-
-      }).getInstance(CreateUniqueKeyPair.class);
-
-      assertEquals(parser.load("group-1"), pair);
-
-      verify(client, keyClient);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/FindSecurityGroupOrCreateTest.java
----------------------------------------------------------------------
diff --git 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/FindSecurityGroupOrCreateTest.java
 
b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/FindSecurityGroupOrCreateTest.java
deleted file mode 100644
index 87fabd8..0000000
--- 
a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/compute/loaders/FindSecurityGroupOrCreateTest.java
+++ /dev/null
@@ -1,257 +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.cloudstack.compute.loaders;
-
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
-import static org.jclouds.util.Predicates2.retry;
-
-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.UnknownHostException;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudstack.CloudStackApi;
-import org.jclouds.cloudstack.domain.IngressRule;
-import org.jclouds.cloudstack.domain.SecurityGroup;
-import org.jclouds.cloudstack.domain.Zone;
-import org.jclouds.cloudstack.domain.ZoneAndName;
-import org.jclouds.cloudstack.domain.ZoneSecurityGroupNamePortsCidrs;
-import org.jclouds.cloudstack.features.AsyncJobApi;
-import org.jclouds.cloudstack.features.SecurityGroupApi;
-import org.jclouds.cloudstack.features.ZoneApi;
-import org.jclouds.cloudstack.functions.CreateSecurityGroupIfNeeded;
-import org.jclouds.cloudstack.functions.ZoneIdToZone;
-import org.jclouds.cloudstack.predicates.JobComplete;
-import org.jclouds.cloudstack.suppliers.ZoneIdToZoneSupplier;
-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.base.Suppliers;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-
-@Test(groups = "unit", testName = "FindSecurityGroupOrCreateTest")
-public class FindSecurityGroupOrCreateTest {
-
-   @Test
-   public void testLoad() throws UnknownHostException {
-      final CloudStackApi client = createMock(CloudStackApi.class);
-      SecurityGroupApi secClient = createMock(SecurityGroupApi.class);
-      ZoneApi zoneClient = createMock(ZoneApi.class);
-      AsyncJobApi jobClient = createMock(AsyncJobApi.class);
-      
-      SecurityGroup group = createMock(SecurityGroup.class);
-      
-      Zone zone = createMock(Zone.class);
-
-      expect(group.getIngressRules()).andReturn(ImmutableSet.<IngressRule> 
of());
-      expect(group.getId()).andReturn("sec-1234").anyTimes();
-      expect(zone.isSecurityGroupsEnabled()).andReturn(true);
-      
-      expect(client.getSecurityGroupApi()).andReturn(secClient)
-         .anyTimes();
-      expect(client.getZoneApi()).andReturn(zoneClient);
-      expect(client.getAsyncJobApi()).andReturn(jobClient).anyTimes();
-
-      expect(zoneClient.getZone("zone-1")).andReturn(zone);
-      expect(secClient.getSecurityGroupByName("group-1")).andReturn(null);
-      expect(secClient.createSecurityGroup("group-1")).andReturn(group);
-      expect(secClient.authorizeIngressPortsToCIDRs("sec-1234",
-                                                    "TCP",
-                                                    22,
-                                                    22,
-                                                    
ImmutableSet.of("0.0.0.0/0"))).andReturn("job-1234");
-
-      replay(client, secClient, zoneClient, zone, group);
-
-      ZoneSecurityGroupNamePortsCidrs input = 
ZoneSecurityGroupNamePortsCidrs.builder()
-         .zone("zone-1")
-         .name("group-1")
-         .ports(ImmutableSet.of(22))
-         .cidrs(ImmutableSet.<String> of()).build();
-      
-      FindSecurityGroupOrCreate parser = Guice.createInjector(new 
AbstractModule() {
-            
-            @Override
-            protected void configure() {
-               bind(new TypeLiteral<Supplier<String>>() {
-                  }).toInstance(Suppliers.ofInstance("1"));
-               bind(CloudStackApi.class).toInstance(client);
-               bind(new TypeLiteral<CacheLoader<String, Zone>>() {}).
-                  to(ZoneIdToZone.class);
-               bind(new TypeLiteral<Supplier<LoadingCache<String, Zone>>>() 
{}).
-                  to(ZoneIdToZoneSupplier.class);
-               
bind(String.class).annotatedWith(Names.named(PROPERTY_SESSION_INTERVAL)).toInstance("60");
-
-               bind(new TypeLiteral<Function<ZoneSecurityGroupNamePortsCidrs, 
SecurityGroup>>() {
-                  }).to(CreateSecurityGroupIfNeeded.class);
-               
-               bind(new TypeLiteral<CacheLoader<ZoneAndName, SecurityGroup>>() 
{
-                  }).to(FindSecurityGroupOrCreate.class);
-            }
-            
-            @Provides
-            @Singleton
-            protected Predicate<String> jobComplete(JobComplete jobComplete) {
-               return retry(jobComplete, 1200, 1, 5, SECONDS);
-            }
-
-      }).getInstance(FindSecurityGroupOrCreate.class);
-
-      assertEquals(parser.load(input), group);
-
-      verify(client, secClient, zoneClient, zone, group);
-   }
-
-   
-   @Test
-   public void testLoadAlreadyExists() throws UnknownHostException {
-      final CloudStackApi client = createMock(CloudStackApi.class);
-      SecurityGroupApi secClient = createMock(SecurityGroupApi.class);
-      ZoneApi zoneClient = createMock(ZoneApi.class);
-      AsyncJobApi jobClient = createMock(AsyncJobApi.class);
-      
-      SecurityGroup group = createMock(SecurityGroup.class);
-      
-      Zone zone = createMock(Zone.class);
-
-      expect(group.getId()).andReturn("sec-1234").anyTimes();
-      
-      expect(client.getSecurityGroupApi()).andReturn(secClient)
-         .anyTimes();
-      expect(client.getZoneApi()).andReturn(zoneClient);
-      expect(client.getAsyncJobApi()).andReturn(jobClient).anyTimes();
-
-      expect(secClient.getSecurityGroupByName("group-1")).andReturn(group);
-
-      replay(client, secClient, zoneClient, zone, group);
-
-      ZoneSecurityGroupNamePortsCidrs input = 
ZoneSecurityGroupNamePortsCidrs.builder()
-         .zone("zone-1")
-         .name("group-1")
-         .ports(ImmutableSet.of(22))
-         .cidrs(ImmutableSet.<String> of()).build();
-      
-      FindSecurityGroupOrCreate parser = Guice.createInjector(new 
AbstractModule() {
-            
-            @Override
-            protected void configure() {
-               bind(new TypeLiteral<Supplier<String>>() {
-                  }).toInstance(Suppliers.ofInstance("1"));
-               bind(CloudStackApi.class).toInstance(client);
-               bind(new TypeLiteral<CacheLoader<String, Zone>>() {}).
-                  to(ZoneIdToZone.class);
-               bind(new TypeLiteral<Supplier<LoadingCache<String, Zone>>>() 
{}).
-                  to(ZoneIdToZoneSupplier.class);
-               
bind(String.class).annotatedWith(Names.named(PROPERTY_SESSION_INTERVAL)).toInstance("60");
-
-               bind(new TypeLiteral<Function<ZoneSecurityGroupNamePortsCidrs, 
SecurityGroup>>() {
-                  }).to(CreateSecurityGroupIfNeeded.class);
-               
-               bind(new TypeLiteral<CacheLoader<ZoneAndName, SecurityGroup>>() 
{
-                  }).to(FindSecurityGroupOrCreate.class);
-            }
-            
-            @Provides
-            @Singleton
-            protected Predicate<String> jobComplete(JobComplete jobComplete) {
-               return retry(jobComplete, 1200, 1, 5, SECONDS);
-            }
-
-      }).getInstance(FindSecurityGroupOrCreate.class);
-
-      assertEquals(parser.load(input), group);
-
-      verify(client, secClient, zoneClient, zone, group);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testLoadZoneNoSecurityGroups() throws UnknownHostException {
-      final CloudStackApi client = createMock(CloudStackApi.class);
-      SecurityGroupApi secClient = createMock(SecurityGroupApi.class);
-      ZoneApi zoneClient = createMock(ZoneApi.class);
-      AsyncJobApi jobClient = createMock(AsyncJobApi.class);
-      
-      SecurityGroup group = createMock(SecurityGroup.class);
-      
-      Zone zone = createMock(Zone.class);
-
-      expect(zone.isSecurityGroupsEnabled()).andReturn(false);
-      
-      expect(client.getSecurityGroupApi()).andReturn(secClient)
-         .anyTimes();
-      expect(client.getZoneApi()).andReturn(zoneClient);
-      expect(client.getAsyncJobApi()).andReturn(jobClient).anyTimes();
-
-      expect(zoneClient.getZone("zone-1")).andReturn(zone);
-      expect(secClient.getSecurityGroupByName("group-1")).andReturn(null);
-
-      replay(client, secClient, zoneClient, zone, group);
-
-      ZoneSecurityGroupNamePortsCidrs input = 
ZoneSecurityGroupNamePortsCidrs.builder()
-         .zone("zone-1")
-         .name("group-1")
-         .ports(ImmutableSet.of(22))
-         .cidrs(ImmutableSet.<String> of()).build();
-      
-      FindSecurityGroupOrCreate parser = Guice.createInjector(new 
AbstractModule() {
-            
-            @Override
-            protected void configure() {
-               bind(new TypeLiteral<Supplier<String>>() {
-                  }).toInstance(Suppliers.ofInstance("1"));
-               bind(CloudStackApi.class).toInstance(client);
-               bind(new TypeLiteral<CacheLoader<String, Zone>>() {}).
-                  to(ZoneIdToZone.class);
-               bind(new TypeLiteral<Supplier<LoadingCache<String, Zone>>>() 
{}).
-                  to(ZoneIdToZoneSupplier.class);
-               
bind(String.class).annotatedWith(Names.named(PROPERTY_SESSION_INTERVAL)).toInstance("60");
-
-               bind(new TypeLiteral<Function<ZoneSecurityGroupNamePortsCidrs, 
SecurityGroup>>() {
-                  }).to(CreateSecurityGroupIfNeeded.class);
-               
-               bind(new TypeLiteral<CacheLoader<ZoneAndName, SecurityGroup>>() 
{
-                  }).to(FindSecurityGroupOrCreate.class);
-            }
-            
-            @Provides
-            @Singleton
-            protected Predicate<String> jobComplete(JobComplete jobComplete) {
-               return retry(jobComplete, 1200, 1, 5, SECONDS);
-            }
-
-      }).getInstance(FindSecurityGroupOrCreate.class);
-
-      assertEquals(parser.load(input), group);
-
-      verify(client, secClient, zoneClient, zone, group);
-   }
-
-}

Reply via email to