http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiLiveTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiLiveTest.java
deleted file mode 100644
index 5ca868b..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiLiveTest.java
+++ /dev/null
@@ -1,82 +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.openstack.neutron.v2.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest;
-import org.jclouds.openstack.v2_0.domain.Extension;
-import org.jclouds.openstack.v2_0.features.ExtensionApi;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@link ExtensionApi}
- */
-@Test(groups = "live", testName = "ExtensionApiLiveTest")
-public class ExtensionApiLiveTest extends BaseNeutronApiLiveTest {
-
-   /**
-    * Tests the listing of Neutron Extensions.
-    *
-    * @throws Exception
-    */
-   public void testListExtensions() throws Exception {
-      for (String regionId : api.getConfiguredRegions()) {
-         ExtensionApi extensionApi = api.getExtensionApi(regionId);
-         Set<Extension> response = extensionApi.list();
-         assertNotNull(response);
-         assertFalse(response.isEmpty());
-
-         for (Extension extension : response) {
-            assertNotNull(extension.getId());
-            assertNotNull(extension.getName());
-            assertNotNull(extension.getDescription());
-            assertNotNull(extension.getLinks());
-            // Namespace and updated fields are nullable
-         }
-      }
-   }
-
-   /**
-    * Tests retrieval of Neutron Extensions by their alias.
-    *
-    * @throws Exception
-    */
-   public void testGetExtensionByAlias() throws Exception {
-      for (String regionId : api.getConfiguredRegions()) {
-         ExtensionApi extensionApi = api.getExtensionApi(regionId);
-         Set<Extension> response = extensionApi.list();
-         assertNotNull(response);
-
-         for (Extension extension : response) {
-            Extension details = extensionApi.get(extension.getId());
-            assertNotNull(details);
-            assertEquals(details.getId(), extension.getId());
-            assertEquals(details.getName(), extension.getName());
-            assertEquals(details.getDescription(), extension.getDescription());
-            assertEquals(details.getNamespace(), extension.getNamespace());
-            assertEquals(details.getUpdated(), extension.getUpdated());
-            assertEquals(details.getLinks(), extension.getLinks());
-         }
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiMockTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiMockTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiMockTest.java
deleted file mode 100644
index a929881..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/ExtensionApiMockTest.java
+++ /dev/null
@@ -1,96 +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.openstack.neutron.v2.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-
-import org.jclouds.openstack.neutron.v2.NeutronApi;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiMockTest;
-import org.jclouds.openstack.v2_0.domain.Extension;
-import org.jclouds.openstack.v2_0.features.ExtensionApi;
-import org.testng.annotations.Test;
-
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Tests annotation parsing of {@code ExtensionApi}
- */
-@Test(groups = "unit", testName = "ExtensionApiMockTest")
-public class ExtensionApiMockTest extends BaseNeutronApiMockTest {
-
-   public void testListExtensions() throws Exception {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new MockResponse()
-         
.setResponseCode(200).setBody(stringFromResource("/extension_list.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         ExtensionApi api = neutronApi.getExtensionApi("RegionOne");
-
-         Set<Extension> extensions = api.list();
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertExtensions(server, uriApiVersion + "");
-
-         /*
-          * Check response
-          */
-         assertNotNull(extensions);
-         assertEquals(extensions.size(), 15);
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testGetExtensionByAlias() throws Exception {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new MockResponse()
-         
.setResponseCode(200).setBody(stringFromResource("/extension_details.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-
-         Extension routerExtension = 
neutronApi.getExtensionApi("RegionOne").get("router");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/extensions/router");
-
-         /*
-          * Check response
-          */
-         assertNotNull(routerExtension);
-         assertEquals(routerExtension.getName(), "Neutron L3 Router");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiLiveTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiLiveTest.java
deleted file mode 100644
index 1d4e3a0..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiLiveTest.java
+++ /dev/null
@@ -1,100 +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.openstack.neutron.v2.features;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Sets;
-import org.jclouds.openstack.neutron.v2.domain.Network;
-import org.jclouds.openstack.neutron.v2.domain.NetworkType;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest;
-import org.jclouds.openstack.neutron.v2.util.PredicateUtil;
-import org.testng.annotations.Test;
-
-import java.util.Set;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-/**
- * Tests parsing and Guice wiring of NetworkApi
- */
-@Test(groups = "live", testName = "NetworkApiLiveTest")
-public class NetworkApiLiveTest extends BaseNeutronApiLiveTest {
-
-   public void testCreateUpdateAndDeleteNetwork() {
-      for (String region : api.getConfiguredRegions()) {
-         NetworkApi networkApi = api.getNetworkApi(region);
-         Network net = 
networkApi.create(Network.createBuilder("jclouds-test").networkType(NetworkType.LOCAL).build());
-         Network test = 
networkApi.create(Network.createBuilder("jclouds-test").build());
-         assertNotNull(net);
-
-         /* List and get tests */
-         Network networkList = 
api.getNetworkApi(region).list().concat().toSet().iterator().next();
-         assertNotNull(networkList);
-         Network networkGet = 
api.getNetworkApi(region).get(networkList.getId());
-         assertEquals(networkList, networkGet);
-         /****/
-
-         Network network = networkApi.get(net.getId());
-
-         assertEquals(network.getId(), net.getId());
-         assertEquals(network.getName(), "jclouds-test");
-         assertEquals(network.getNetworkType(), NetworkType.LOCAL);
-         assertTrue(network.getSubnets().isEmpty());
-         assertNotNull(networkApi.update(net.getId(), 
Network.updateBuilder().name("jclouds-live-test").build()));
-
-         network = networkApi.get(net.getId());
-
-         assertEquals(network.getId(), net.getId());
-         assertEquals(network.getName(), "jclouds-live-test");
-         assertTrue(network.getSubnets().isEmpty());
-
-         Network net2 = 
networkApi.create(Network.createBuilder("jclouds-test2").networkType(NetworkType.LOCAL).build());
-         assertNotNull(net2);
-
-         assertTrue(networkApi.delete(net.getId()));
-         assertTrue(networkApi.delete(net2.getId()));
-         assertTrue(networkApi.delete(test.getId()));
-      }
-   }
-
-   public void testBulkCreateNetwork() {
-      for (String region : api.getConfiguredRegions()) {
-         NetworkApi networkApi = api.getNetworkApi(region);
-         Set<Network> nets = networkApi.createBulk(
-               ImmutableList.of(
-                  
Network.createBuilder("jclouds-live-test-1").networkType(NetworkType.LOCAL).adminStateUp(true).build(),
-                  
Network.createBuilder("jclouds-live-test-2").networkType(NetworkType.LOCAL).adminStateUp(false).build(),
-                  
Network.createBuilder("jclouds-live-test-3").networkType(NetworkType.LOCAL).adminStateUp(false).build()
-               )
-         ).toSet();
-         Set<Network> existingNets = networkApi.list().concat().toSet();
-
-         assertNotNull(nets);
-         assertTrue(!nets.isEmpty());
-         assertEquals(nets.size(), 3);
-
-         for (Network net : nets) {
-            Predicate<Network> idEqualsPredicate = 
PredicateUtil.createIdEqualsPredicate(net.getId());
-            assertEquals(1, Sets.filter(existingNets, 
idEqualsPredicate).size());
-            assertTrue(networkApi.delete(net.getId()));
-         }
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiMockTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiMockTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiMockTest.java
deleted file mode 100644
index 95e3f4c..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/NetworkApiMockTest.java
+++ /dev/null
@@ -1,306 +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.openstack.neutron.v2.features;
-
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-import org.jclouds.openstack.neutron.v2.NeutronApi;
-import org.jclouds.openstack.neutron.v2.domain.Network;
-import org.jclouds.openstack.neutron.v2.domain.NetworkStatus;
-import org.jclouds.openstack.neutron.v2.domain.NetworkType;
-import org.jclouds.openstack.neutron.v2.domain.Networks;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiMockTest;
-import org.jclouds.openstack.v2_0.options.PaginationOptions;
-import org.testng.annotations.Test;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.List;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-/**
- * Tests NetworkApi Guice wiring and parsing
- *
- */
-@Test
-public class NetworkApiMockTest extends BaseNeutronApiMockTest {
-
-   public void testCreateNetwork() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/network_create_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         Network.CreateNetwork createNetwork = 
Network.createBuilder("jclouds-wibble")
-               .networkType(NetworkType.LOCAL)
-               .build();
-
-         Network network = api.create(createNetwork);
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", uriApiVersion + 
"/networks", "/network_create_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(network);
-         assertEquals(network.getName(), "jclouds-wibble");
-         assertEquals(network.getNetworkType(), NetworkType.LOCAL);
-         assertEquals(network.getTenantId(), "1234567890");
-         assertEquals(network.getStatus(), NetworkStatus.ACTIVE);
-         assertEquals(network.getId(), "624312ff-d14b-4ba3-9834-1c78d23d574d");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListSpecificPageNetwork() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/network_list_response_paged1.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         Networks networks = 
api.list(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/networks?limit=2&marker=abcdefg");
-
-         /*
-          * Check response
-          */
-         assertNotNull(networks);
-         assertEquals(networks.first().get().getId(), 
"396f12f8-521e-4b91-8e21-2e003500433a");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   // These fail tests uncover issues with the fallback annotations.
-   public void testListSpecificPageNetworkFail() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(404).setBody(stringFromResource("/network_list_response_paged1.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         Networks networks = 
api.list(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/networks?limit=2&marker=abcdefg");
-
-         /*
-          * Check response
-          */
-         assertTrue(networks.isEmpty());
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListPagedNetwork() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/network_list_response_paged1.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/network_list_response_paged2.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         // Note: Lazy! Have to actually look at the collection.
-         List<Network> networks = api.list().concat().toList();
-         assertEquals(networks.size(), 4);
-         // look at last element
-         assertEquals(networks.get(3).getId(), 
"71c1e68c-171a-4aa2-aca5-50ea153a3718_2");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 3);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/networks");
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/networks?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718");
-
-         /*
-          * Check response
-          */
-         assertNotNull(networks);
-         assertEquals(networks.get(0).getId(), 
"396f12f8-521e-4b91-8e21-2e003500433a");
-         assertEquals(networks.get(3).getId(), 
"71c1e68c-171a-4aa2-aca5-50ea153a3718_2");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testGetNetwork() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/network_get_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         Network network = api.get("12345");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/networks/12345");
-
-         /*
-          * Check response
-          */
-         assertNotNull(network);
-         assertEquals(network.getName(), "jclouds-wibble");
-         assertEquals(network.getId(), "624312ff-d14b-4ba3-9834-1c78d23d574d");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testCreateNetworkBulk() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/network_bulk_create_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         Network.CreateNetwork createNetwork1 = 
Network.createBuilder("jclouds-wibble")
-               .networkType(NetworkType.LOCAL)
-               .build();
-
-         Network.CreateNetwork createNetwork2 = 
Network.createBuilder("jclouds-wibble2")
-               .networkType(NetworkType.LOCAL)
-               .build();
-
-         FluentIterable<Network> networks = 
api.createBulk(ImmutableList.of(createNetwork1, createNetwork2));
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", uriApiVersion + 
"/networks", "/network_bulk_create_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(networks);
-         assertEquals(networks.size(), 2);
-         assertEquals(networks.get(0).getName(), "jclouds-wibble");
-         assertEquals(networks.get(0).getNetworkType(), NetworkType.LOCAL);
-         assertEquals(networks.get(0).getTenantId(), "1234567890");
-         assertEquals(networks.get(0).getStatus(), NetworkStatus.ACTIVE);
-         assertEquals(networks.get(0).getId(), 
"624312ff-d14b-4ba3-9834-1c78d23d574d");
-
-         assertEquals(networks.get(1).getName(), "jclouds-wibble2");
-         assertEquals(networks.get(1).getNetworkType(), NetworkType.LOCAL);
-         assertEquals(networks.get(1).getTenantId(), "1234567890");
-         assertEquals(networks.get(1).getStatus(), NetworkStatus.ACTIVE);
-         assertEquals(networks.get(1).getId(), 
"624312ff-d14b-4ba3-9834-1c78d23d574e");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testUpdateNetwork() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/network_update_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         Network.UpdateNetwork updateNetwork = Network.updateBuilder()
-               .name("jclouds-wibble-updated")
-               .networkType(NetworkType.LOCAL)
-               .build();
-
-         Network network = api.update("123456", updateNetwork);
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "PUT", uriApiVersion + 
"/networks/123456", "/network_update_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(network);
-         assertEquals(network.getName(), "updated_name");
-         assertEquals(network.getId(), "fc68ea2c-b60b-4b4f-bd82-94ec81110766");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testDeleteNetwork() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(201)));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         NetworkApi api = neutronApi.getNetworkApi("RegionOne");
-
-         boolean result = api.delete("123456");
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "DELETE", uriApiVersion + 
"/networks/123456");
-
-         /*
-          * Check response
-          */
-         assertTrue(result);
-      } finally {
-         server.shutdown();
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiLiveTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiLiveTest.java
deleted file mode 100644
index bcde014..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiLiveTest.java
+++ /dev/null
@@ -1,149 +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.openstack.neutron.v2.features;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-import org.jclouds.openstack.neutron.v2.domain.IP;
-import org.jclouds.openstack.neutron.v2.domain.Network;
-import org.jclouds.openstack.neutron.v2.domain.NetworkType;
-import org.jclouds.openstack.neutron.v2.domain.Port;
-import org.jclouds.openstack.neutron.v2.domain.Subnet;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest;
-import org.jclouds.openstack.neutron.v2.util.PredicateUtil;
-import org.testng.annotations.Test;
-
-import java.util.Set;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-/**
- * Tests PortApi in combination with the Network & SubnetApi
- */
-@Test(groups = "live", testName = "PortApiLiveTest")
-public class PortApiLiveTest extends BaseNeutronApiLiveTest {
-
-   public void testCreateUpdateAndDeletePort() {
-      for (String region : api.getConfiguredRegions()) {
-         NetworkApi networkApi = api.getNetworkApi(region);
-         SubnetApi subnetApi = api.getSubnetApi(region);
-         PortApi portApi = api.getPortApi(region);
-         String networkId = networkApi.create(
-               
Network.createBuilder("JClouds-Live-Network").networkType(NetworkType.LOCAL).build()).getId();
-         String ipv4SubnetId = 
subnetApi.create(Subnet.createBuilder(networkId, "198.51.100.0/24").ipVersion(4)
-               .name("JClouds-Live-IPv4-Subnet").build()).getId();
-         String ipv6SubnetId = 
subnetApi.create(Subnet.createBuilder(networkId, 
"a1ca:1e1:c:107d::/96").ipVersion(6)
-               .name("JClouds-Live-IPv6-Subnet").build()).getId();
-
-         assertNotNull(networkId);
-         assertNotNull(ipv4SubnetId);
-         assertNotNull(ipv6SubnetId);
-
-         String ipv4PortId = 
portApi.create(Port.createBuilder(networkId).name("JClouds-Live-IPv4-Port")
-               
.fixedIps(ImmutableSet.copyOf(getFixedAddresses(ipv4SubnetId))).build()).getId();
-         String ipv6PortId = 
portApi.create(Port.createBuilder(networkId).name("JClouds-Live-IPv6-Port")
-               
.fixedIps(ImmutableSet.copyOf(getFixedAddresses(ipv6SubnetId))).build()).getId();
-
-         /* List and get test */
-         Port portList = 
api.getPortApi(region).list().concat().toSet().iterator().next();
-         assertNotNull(portList);
-         Port portGet = api.getPortApi(region).get(portList.getId());
-         assertEquals(portList, portGet);
-         /****/
-
-         assertNotNull(ipv4PortId);
-         assertNotNull(ipv6PortId);
-
-         Port ipv4Port = portApi.get(ipv4PortId);
-         assertNotNull(ipv4Port);
-         assertEquals(ipv4Port.getId(), ipv4PortId);
-         assertEquals(ipv4Port.getName(), "JClouds-Live-IPv4-Port");
-
-         Port ipv6Port = portApi.get(ipv6PortId);
-         assertNotNull(ipv6Port);
-         assertEquals(ipv6Port.getId(), ipv6PortId);
-         assertEquals(ipv6Port.getName(), "JClouds-Live-IPv6-Port");
-
-         assertNotNull(portApi.update(ipv4PortId, 
Port.updateBuilder().name("Updated").build()));
-         Port updatedIpv4Port = portApi.get(ipv4PortId);
-         assertEquals(updatedIpv4Port.getName(), "Updated");
-
-         assertTrue(portApi.delete(ipv4PortId));
-         assertTrue(portApi.delete(ipv6PortId));
-         assertTrue(subnetApi.delete(ipv4SubnetId));
-         assertTrue(subnetApi.delete(ipv6SubnetId));
-         assertTrue(networkApi.delete(networkId));
-      }
-   }
-
-   public void testBulkCreatePort() {
-      for (String region : api.getConfiguredRegions()) {
-         NetworkApi networkApi = api.getNetworkApi(region);
-         SubnetApi subnetApi = api.getSubnetApi(region);
-         PortApi portApi = api.getPortApi(region);
-
-         String networkId = networkApi.create(
-               
Network.createBuilder("JClouds-Live-Network").networkType(NetworkType.LOCAL).build()).getId();
-         String ipv4SubnetId = 
subnetApi.create(Subnet.createBuilder(networkId, "198.51.100.0/24").ipVersion(4)
-               .name("JClouds-Live-IPv4-Subnet").build()).getId();
-         String ipv6SubnetId = 
subnetApi.create(Subnet.createBuilder(networkId, 
"a1ca:1e1:c:107d::/96").ipVersion(6)
-               .name("JClouds-Live-IPv6-Subnet").build()).getId();
-
-         assertNotNull(networkId);
-         assertNotNull(ipv4SubnetId);
-         assertNotNull(ipv6SubnetId);
-
-         Set<? extends Port> ports = portApi.createBulk(
-               ImmutableList.of(
-                     
Port.createBuilder(networkId).name("JClouds-Live-IPv4-Subnet-1")
-                           
.fixedIps(ImmutableSet.copyOf(getFixedAddresses(ipv4SubnetId))).build(),
-                     
Port.createBuilder(networkId).name("JClouds-Live-IPv4-Subnet-2")
-                           
.fixedIps(ImmutableSet.copyOf(getFixedAddresses(ipv4SubnetId))).build(),
-                     
Port.createBuilder(networkId).name("JClouds-Live-IPv6-Subnet-1")
-                           
.fixedIps(ImmutableSet.copyOf(getFixedAddresses(ipv6SubnetId))).build(),
-                     
Port.createBuilder(networkId).name("JClouds-Live-IPv6-Subnet-2")
-                           
.fixedIps(ImmutableSet.copyOf(getFixedAddresses(ipv6SubnetId))).build()
-               )
-         ).toSet();
-         Set<? extends Port> existingPorts = portApi.list().concat().toSet();
-
-         assertNotNull(ports);
-         assertFalse(ports.isEmpty());
-         assertEquals(ports.size(), 4);
-
-         for (Port port : ports) {
-            Predicate<Port> idEqualsPredicate = 
PredicateUtil.createIdEqualsPredicate(port.getId());
-            assertEquals(1, Sets.filter(existingPorts, 
idEqualsPredicate).size());
-            assertTrue(portApi.delete(port.getId()));
-         }
-         assertTrue(subnetApi.delete(ipv4SubnetId));
-         assertTrue(subnetApi.delete(ipv6SubnetId));
-         assertTrue(networkApi.delete(networkId));
-      }
-   }
-
-   public Set<IP> getFixedAddresses(String subnetId) {
-      return ImmutableSet.of(
-         IP.builder().subnetId(subnetId).build()
-      );
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiMockTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiMockTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiMockTest.java
deleted file mode 100644
index a8932c7..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/PortApiMockTest.java
+++ /dev/null
@@ -1,298 +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.openstack.neutron.v2.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.openstack.neutron.v2.NeutronApi;
-import org.jclouds.openstack.neutron.v2.domain.AddressPair;
-import org.jclouds.openstack.neutron.v2.domain.NetworkStatus;
-import org.jclouds.openstack.neutron.v2.domain.Port;
-import org.jclouds.openstack.neutron.v2.domain.Ports;
-import org.jclouds.openstack.neutron.v2.domain.VIFType;
-import org.jclouds.openstack.neutron.v2.domain.VNICType;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiMockTest;
-import org.jclouds.openstack.v2_0.options.PaginationOptions;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Tests NetworkApi Guice wiring and parsing
- *
- */
-@Test
-public class PortApiMockTest extends BaseNeutronApiMockTest {
-
-   public void testCreatePort() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/port_create_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         Port.CreatePort createPort = 
Port.createBuilder("6aeaf34a-c482-4bd3-9dc3-7faf36412f12")
-               .name("port1")
-               .adminStateUp(Boolean.TRUE)
-               .deviceId("d6b4d3a5-c700-476f-b609-1493dd9dadc0")
-               .allowedAddressPairs(ImmutableSet.of(AddressPair.builder("12", 
"111.222.333.444").build()))
-               .build();
-
-         Port port = api.create(createPort);
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", uriApiVersion + "/ports", 
"/port_create_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(port);
-         
assertEquals(port.getAllowedAddressPairs().iterator().next().getIpAddress(), 
"192.168.1.1");
-         
assertEquals(port.getAllowedAddressPairs().iterator().next().getMacAddress(), 
"12:12");
-         assertEquals(port.getName(), "port1");
-         assertEquals(port.getStatus(), NetworkStatus.ACTIVE);
-         assertEquals(port.getId(), "ebe69f1e-bc26-4db5-bed0-c0afb4afe3db");
-         assertEquals(port.getDeviceId(), 
"d6b4d3a5-c700-476f-b609-1493dd9dadc0");
-         assertEquals(port.getDeviceOwner(), "");
-         assertEquals(port.getMacAddress(), "fa:16:3e:a6:50:c1");
-         assertEquals(port.getNetworkId(), 
"6aeaf34a-c482-4bd3-9dc3-7faf36412f12");
-         assertEquals(port.getFixedIps().iterator().next().getIpAddress(), 
"192.168.111.4");
-         assertEquals(port.getFixedIps().iterator().next().getSubnetId(), 
"22b44fc2-4ffb-4de4-b0f9-69d58b37ae27");
-         assertEquals(port.getTenantId(), "cf1a5775e766426cb1968766d0191908");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListSpecificPagePort() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/port_list_response_paged1.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         Ports ports = 
api.list(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/ports?limit=2&marker=abcdefg");
-
-         /*
-          * Check response
-          */
-         assertNotNull(ports);
-         assertEquals(ports.size(), 2);
-         assertEquals(ports.first().get().getId(), 
"24e6637e-c521-45fc-8b8b-d7331aa3c99f");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListPagedPort() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/port_list_response_paged1.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/port_list_response_paged2.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         // Note: Lazy! Have to actually look at the collection.
-         List<Port> ports = api.list().concat().toList();
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 3);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + "/ports");
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/ports?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718");
-
-         /*
-          * Check response
-          */
-         assertNotNull(ports);
-         assertEquals(ports.size(), 4);
-         assertEquals(ports.get(0).getId(), 
"24e6637e-c521-45fc-8b8b-d7331aa3c99f");
-         assertEquals(ports.get(3).getId(), 
"e54dfd9b-ce6e-47f7-af47-1609cfd1cdb0_4");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testCreateBulkPort() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/port_create_bulk_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         Port.CreatePort createPort1 = 
Port.createBuilder("64239a54-dcc4-4b39-920b-b37c2144effa")
-               .name("port1")
-               .adminStateUp(Boolean.TRUE)
-               .deviceId("24df1d04-d5cb-41e1-8de5-61ed77c558df")
-               
.securityGroups(ImmutableSet.of("dbc107f4-afcd-4d5a-9352-f68f82241d5b"))
-               .build();
-
-         Port.CreatePort createPort2 = 
Port.createBuilder("e6031bc2-901a-4c66-82da-f4c32ed89406")
-               .name("port2")
-               .adminStateUp(Boolean.FALSE)
-               .securityGroups(
-                     ImmutableSet.of("8bf3f7cc-8471-40b1-815f-9da47e79775b", 
"dbc107f4-afcd-4d5a-9352-f68f82241d5b"))
-               .build();
-
-         FluentIterable<Port> ports = 
api.createBulk(ImmutableList.of(createPort1, createPort2));
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", uriApiVersion + "/ports", 
"/port_create_bulk_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(ports);
-         assertEquals(ports.size(), 2);
-         assertEquals(ports.get(0).getName(), "port1");
-         assertEquals(ports.get(1).getName(), "port2");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testGetPort() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/port_get_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         Port port = api.get("12345");
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/ports/12345");
-
-         /*
-          * Check response
-          */
-         assertNotNull(port);
-         assertEquals(port.getName(), "jclouds-wibble");
-         assertEquals(port.getStatus(), NetworkStatus.ACTIVE);
-         assertEquals(port.getId(), "624312ff-d14b-4ba3-9834-1c78d23d574d");
-         assertEquals(port.getTenantId(), "1234567890");
-         assertEquals(port.getNetworkId(), "1234567890");
-         assertEquals(port.getVnicType(), VNICType.NORMAL);
-         assertEquals(port.getVifType(), VIFType.HYPERV);
-         assertEquals(port.getVifDetails().get("name1"), "value1");
-         assertEquals(((Map<String, 
Double>)port.getVifDetails().get("name2")).get("mapname2").intValue(), 3);
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testUpdatePort() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/port_update_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         Port.UpdatePort updatePort = Port.updateBuilder()
-               .securityGroups(
-                     ImmutableSet.of("85cc3048-abc3-43cc-89b3-377341426ac5", 
"c5ab5c29-2c99-44cb-a4b8-e70a88b77799"))
-               .build();
-
-         Port port = api.update("12345", updatePort);
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "PUT", uriApiVersion + 
"/ports/12345", "/port_update_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(port);
-         assertEquals(port.getId(), "1d8591f4-7b62-428e-857d-e82a15e5a7f1");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testDeletePort() throws IOException, InterruptedException, 
URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(201)));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         PortApi api = neutronApi.getPortApi("RegionOne");
-
-         boolean result = api.delete("12345");
-
-         /*
-          * Check request
-          */
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "DELETE", uriApiVersion + 
"/ports/12345");
-
-         /*
-          * Check response
-          */
-         assertTrue(result);
-      } finally {
-         server.shutdown();
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiLiveTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiLiveTest.java
deleted file mode 100644
index 37ebe3d..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiLiveTest.java
+++ /dev/null
@@ -1,111 +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.openstack.neutron.v2.features;
-
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.size;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import org.jclouds.openstack.neutron.v2.domain.Rule;
-import org.jclouds.openstack.neutron.v2.domain.RuleDirection;
-import org.jclouds.openstack.neutron.v2.domain.RuleEthertype;
-import org.jclouds.openstack.neutron.v2.domain.RuleProtocol;
-import org.jclouds.openstack.neutron.v2.domain.SecurityGroup;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-
-/**
- * Tests parsing and Guice wiring of RouterApi
- */
-@Test(groups = "live", testName = "SecurityGroupApiLiveTest")
-public class SecurityGroupApiLiveTest extends BaseNeutronApiLiveTest {
-
-   /**
-    * Smoke test for the Security Group extension for Neutron
-    */
-   public void testCreateUpdateAndDeleteSecurityGroup() {
-      for (String region : api.getConfiguredRegions()) {
-         SecurityGroupApi sgApi = null;
-         Rule rule = null;
-         SecurityGroup securityGroup = null;
-
-         try {
-            sgApi = api.getSecurityGroupApi(region);
-
-            securityGroup = sgApi.create(
-                  
SecurityGroup.createBuilder().name("jclouds-test").description("jclouds test 
security group")
-                        .build());
-            assertNotNull(securityGroup);
-
-            rule = sgApi.create(
-                  Rule.createBuilder(RuleDirection.INGRESS, 
securityGroup.getId())
-                        .ethertype(RuleEthertype.IPV6)
-                        .portRangeMax(90)
-                        .portRangeMin(80)
-                        .protocol(RuleProtocol.TCP)
-                        .build());
-
-            assertNotNull(rule);
-
-            // Refresh
-            securityGroup = sgApi.getSecurityGroup(securityGroup.getId());
-
-            assertEquals(securityGroup.getName(), "jclouds-test");
-            assertEquals(securityGroup.getDescription(), "jclouds test 
security group");
-            assertEquals(size(filter(securityGroup.getRules(), new 
Predicate<Rule>() {
-               @Override
-               public boolean apply(Rule input) {
-                  return RuleDirection.INGRESS.equals(input.getDirection());
-               }
-            })), 1);
-
-            Rule newSecGroupRule = null;
-
-            for (Rule sgr : securityGroup.getRules()) {
-               if (sgr.getId().equals(rule.getId())) {
-                  newSecGroupRule = sgr;
-                  break;
-               }
-            }
-            assertNotNull(newSecGroupRule, "Did not find the new rule in the 
group.");
-
-            assertEquals(rule, newSecGroupRule);
-
-            assertEquals(rule.getEthertype(), RuleEthertype.IPV6);
-            assertEquals(rule.getProtocol(), RuleProtocol.TCP);
-            assertEquals(rule.getPortRangeMax().intValue(), 90);
-            assertEquals(rule.getPortRangeMin().intValue(), 80);
-            assertEquals(rule.getDirection(), RuleDirection.INGRESS);
-         } finally {
-            if (sgApi != null) {
-               try {
-                  if (rule != null) {
-                     assertTrue(sgApi.deleteRule(rule.getId()));
-                  }
-               } finally {
-                  assertTrue(sgApi.deleteSecurityGroup(securityGroup.getId()));
-               }
-            }
-         }
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiMockTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiMockTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiMockTest.java
deleted file mode 100644
index 39bb8c5..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApiMockTest.java
+++ /dev/null
@@ -1,394 +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.openstack.neutron.v2.features;
-
-import static com.google.common.collect.Iterables.size;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.List;
-
-import org.jclouds.openstack.neutron.v2.NeutronApi;
-import org.jclouds.openstack.neutron.v2.domain.Rule;
-import org.jclouds.openstack.neutron.v2.domain.RuleDirection;
-import org.jclouds.openstack.neutron.v2.domain.RuleEthertype;
-import org.jclouds.openstack.neutron.v2.domain.RuleProtocol;
-import org.jclouds.openstack.neutron.v2.domain.Rules;
-import org.jclouds.openstack.neutron.v2.domain.SecurityGroup;
-import org.jclouds.openstack.neutron.v2.domain.SecurityGroups;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiMockTest;
-import org.jclouds.openstack.v2_0.options.PaginationOptions;
-import org.testng.annotations.Test;
-
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Tests SecurityGroupApi Guice wiring and parsing
- *
- */
-@Test
-public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest {
-
-   public void testCreateSecurityGroup() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_create_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         SecurityGroup.CreateSecurityGroup createSecurityGroup = 
SecurityGroup.createBuilder().name("new-webservers")
-               .description("security group for webservers")
-               .build();
-
-         SecurityGroup securityGroup = api.create(createSecurityGroup);
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", uriApiVersion + 
"/security-groups", "/security_group_create_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(securityGroup);
-         assertEquals(securityGroup.getId(), 
"2076db17-a522-4506-91de-c6dd8e837028");
-         assertEquals(securityGroup.getTenantId(), 
"e4f50856753b4dc6afee5fa6b9b6c550");
-         assertEquals(securityGroup.getName(), "new-webservers");
-         assertEquals(securityGroup.getDescription(), "security group for 
webservers");
-
-         Rule sgr0 = securityGroup.getRules().get(0);
-         Rule sgr1 = securityGroup.getRules().get(1);
-
-         assertEquals(sgr0.getId(), "38ce2d8e-e8f1-48bd-83c2-d33cb9f50c3d");
-         assertEquals(sgr1.getId(), "565b9502-12de-4ffd-91e9-68885cff6ae1");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testCreateSecurityGroupRule() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_rule_create_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         Rule.CreateRule createSecurityGroupRule = Rule.createBuilder(
-               RuleDirection.INGRESS, "a7734e61-b545-452d-a3cd-0189cbd9747a")
-               .portRangeMin(80)
-               .portRangeMax(80)
-               .ethertype(RuleEthertype.IPV4)
-               .protocol(RuleProtocol.TCP)
-               .remoteGroupId("85cc3048-abc3-43cc-89b3-377341426ac5")
-               .build();
-
-         Rule rule = api.create(createSecurityGroupRule);
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "POST", uriApiVersion + 
"/security-group-rules", "/security_group_rule_create_request.json");
-
-         /*
-          * Check response
-          */
-         assertNotNull(rule);
-         assertEquals(rule.getId(), "2bc0accf-312e-429a-956e-e4407625eb62");
-         assertEquals(rule.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
-         assertEquals(rule.getDirection(), RuleDirection.INGRESS);
-         assertEquals(rule.getPortRangeMax().intValue(), 80);
-         assertEquals(rule.getPortRangeMin().intValue(), 80);
-         assertEquals(rule.getEthertype(), RuleEthertype.IPV4);
-         assertEquals(rule.getProtocol(), RuleProtocol.TCP);
-         assertEquals(rule.getRemoteGroupId(), 
"85cc3048-abc3-43cc-89b3-377341426ac5");
-         assertEquals(rule.getSecurityGroupId(), 
"a7734e61-b545-452d-a3cd-0189cbd9747a");
-
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListSpecificPageSecurityGroup() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         SecurityGroups securityGroups = 
api.listSecurityGroups(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-groups?limit=2&marker=abcdefg");
-
-         /*
-          * Check response
-          */
-         assertNotNull(securityGroups);
-         assertEquals(size(securityGroups), 2);
-         // Ensures the full collection is parsed and ordering is preserved.
-         assertEquals(securityGroups.first().get().getId(), 
"85cc3048-abc3-43cc-89b3-377341426ac5");
-         assertEquals(securityGroups.get(1).getId(), 
"85cc3048-abc3-43cc-89b3-377341426ac52");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListSpecificPageSecurityGroupRule() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged1.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         Rules rules = 
api.listRules(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-group-rules?limit=2&marker=abcdefg");
-
-         /*
-          * Check response
-          */
-         assertNotNull(rules);
-         assertEquals(rules.size(), 4);
-         // Ensures the full collection is parsed and ordering is preserved.
-         assertEquals(rules.first().get().getId(), 
"3c0e45ff-adaf-4124-b083-bf390e5482ff");
-         assertEquals(rules.get(3).getId(), 
"f7d45c89-008e-4bab-88ad-d6811724c51c");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListPagedSecurityGroups() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged2.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         // Note: Lazy! Have to actually look at the collection.
-         List<SecurityGroup> securityGroups = 
api.listSecurityGroups().concat().toList();
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 3);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-groups");
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-groups?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718");
-
-         /*
-          * Check response
-          */
-         assertNotNull(securityGroups);
-         assertEquals(securityGroups.size(), 4);
-         // Ensures ordering is preserved and both pages are parsed.
-         assertEquals(securityGroups.get(0).getId(), 
"85cc3048-abc3-43cc-89b3-377341426ac5");
-         assertEquals(securityGroups.get(3).getId(), 
"85cc3048-abc3-43cc-89b3-377341426ac524");
-
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testListPagedSecurityGroupRules() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged1.json"))));
-      server.enqueue(addCommonHeaders(new 
MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged2.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         // Note: Lazy! Have to actually look at the collection.
-         List<Rule> rules = api.listRules().concat().toList();
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 3);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-group-rules");
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-group-rules?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718");
-
-         /*
-          * Check response
-          */
-         assertNotNull(rules);
-         assertEquals(rules.size(), 8);
-         // Ensures both pages are tested and ordering is preserved.
-         assertEquals(rules.get(0).getId(), 
"3c0e45ff-adaf-4124-b083-bf390e5482ff");
-         assertEquals(rules.get(7).getId(), 
"f7d45c89-008e-4bab-88ad-d6811724c51c2");
-
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testGetSecurityGroup() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_get_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         SecurityGroup securityGroup = api.getSecurityGroup("12345");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-groups/12345");
-
-         /*
-          * Check response
-          */
-         assertNotNull(securityGroup);
-         assertEquals(securityGroup.getName(), "default");
-         assertEquals(securityGroup.getDescription(), "default");
-         assertEquals(securityGroup.getId(), 
"85cc3048-abc3-43cc-89b3-377341426ac5");
-         assertEquals(securityGroup.getTenantId(), 
"e4f50856753b4dc6afee5fa6b9b6c550");
-         Rule sgr = securityGroup.getRules().get(0);
-         assertEquals(sgr.getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testGetSecurityGroupRule() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new 
MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_rule_get_response.json"))));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         Rule rule = api.get("12345");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "GET", uriApiVersion + 
"/security-group-rules/12345");
-
-         /*
-          * Check response
-          */
-         assertNotNull(rule);
-         assertEquals(rule.getDirection(), RuleDirection.EGRESS);
-         assertEquals(rule.getEthertype(), RuleEthertype.IPV6);
-         assertEquals(rule.getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
-         assertEquals(rule.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
-         assertEquals(rule.getSecurityGroupId(), 
"85cc3048-abc3-43cc-89b3-377341426ac5");
-
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testDeleteSecurityGroup() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new MockResponse().setResponseCode(201)));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         boolean result = api.deleteSecurityGroup("12345");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "DELETE", uriApiVersion + 
"/security-groups/12345");
-
-         /*
-          * Check response
-          */
-         assertTrue(result);
-      } finally {
-         server.shutdown();
-      }
-   }
-
-   public void testDeleteSecurityGroupRule() throws IOException, 
InterruptedException, URISyntaxException {
-      MockWebServer server = mockOpenStackServer();
-      server.enqueue(addCommonHeaders(new 
MockResponse().setBody(stringFromResource("/access.json"))));
-      server.enqueue(addCommonHeaders(
-            new MockResponse().setResponseCode(201)));
-
-      try {
-         NeutronApi neutronApi = api(server.getUrl("/").toString(), 
"openstack-neutron", overrides);
-         SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
-
-         boolean result = api.deleteRule("12345");
-
-         /*
-          * Check request
-          */
-         assertEquals(server.getRequestCount(), 2);
-         assertAuthentication(server);
-         assertRequest(server.takeRequest(), "DELETE", uriApiVersion + 
"/security-group-rules/12345");
-
-         /*
-          * Check response
-          */
-         assertTrue(result);
-      } finally {
-         server.shutdown();
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SubnetApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SubnetApiLiveTest.java
 
b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SubnetApiLiveTest.java
deleted file mode 100644
index 3c5d7a8..0000000
--- 
a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/features/SubnetApiLiveTest.java
+++ /dev/null
@@ -1,118 +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.openstack.neutron.v2.features;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-import org.jclouds.openstack.neutron.v2.domain.AllocationPool;
-import org.jclouds.openstack.neutron.v2.domain.HostRoute;
-import org.jclouds.openstack.neutron.v2.domain.Network;
-import org.jclouds.openstack.neutron.v2.domain.NetworkType;
-import org.jclouds.openstack.neutron.v2.domain.Subnet;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest;
-import org.jclouds.openstack.neutron.v2.util.PredicateUtil;
-import org.testng.annotations.Test;
-
-import java.util.Set;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-/**
- * Tests subnet api in combination with the network api
- */
-@Test(groups = "live", testName = "SubnetApiLiveTest")
-public class SubnetApiLiveTest extends BaseNeutronApiLiveTest {
-
-   public void testCreateUpdateAndDeleteSubnet() {
-      for (String region : api.getConfiguredRegions()) {
-         NetworkApi networkApi = api.getNetworkApi(region);
-         String networkId = 
networkApi.create(Network.createBuilder("jclouds-live-test").networkType(NetworkType.LOCAL).build()).getId();
-
-         SubnetApi subnetApi = api.getSubnetApi(region);
-         ImmutableSet<AllocationPool> allocationPools = ImmutableSet.of(
-            
AllocationPool.builder().start("a3:bc00::10").end("a3:bc00::20").build(),
-            
AllocationPool.builder().start("a3:bc00::50").end("a3:bc00::90").build()
-         );
-         ImmutableSet<HostRoute> hostRoutes = ImmutableSet.of(
-            
HostRoute.builder().destinationCidr("a3:bc00::/48").nextHop("a3:bc00::0004").build()
-         );
-         Subnet subnet = subnetApi.create(Subnet.createBuilder(networkId, 
"a3:bc00::/48").ipVersion(6).allocationPools(allocationPools).hostRoutes(hostRoutes).build());
-         assertNotNull(subnet);
-
-         /* Test list and get */
-         Subnet subnetList = 
api.getSubnetApi(region).list().concat().toSet().iterator().next();
-         assertNotNull(subnetList);
-         Subnet subnetGet = api.getSubnetApi(region).get(subnetList.getId());
-         assertEquals(subnetList, subnetGet);
-         /***/
-
-         Subnet retrievedSubnet = subnetApi.get(subnet.getId());
-
-         assertEquals(retrievedSubnet.getId(), subnet.getId());
-         assertEquals(retrievedSubnet.getCidr(), "a3:bc00::/48");
-         assertTrue(retrievedSubnet.getDnsNameservers().isEmpty());
-         assertEquals(retrievedSubnet.getAllocationPools().size(), 2);
-         assertEquals(retrievedSubnet.getHostRoutes().size(), 1);
-         assertNotNull(subnetApi.update(retrievedSubnet.getId(), 
Subnet.updateBuilder().name("jclouds-live-test-update").build()));
-
-         retrievedSubnet = subnetApi.get(retrievedSubnet.getId());
-
-         assertEquals(retrievedSubnet.getId(), subnet.getId());
-         assertEquals(retrievedSubnet.getName(), "jclouds-live-test-update");
-         assertTrue(retrievedSubnet.getDnsNameservers().isEmpty());
-
-         Subnet subnet2 = subnetApi.create(Subnet.createBuilder(networkId, 
"a3:bd01::/48").ipVersion(6).build());
-         assertNotNull(subnet2);
-
-         assertTrue(subnetApi.delete(subnet.getId()));
-         assertTrue(subnetApi.delete(subnet2.getId()));
-         assertTrue(networkApi.delete(networkId));
-      }
-   }
-
-   public void testBulkCreateSubnet() {
-      for (String region : api.getConfiguredRegions()) {
-         NetworkApi networkApi = api.getNetworkApi(region);
-         String networkId = 
networkApi.create(Network.createBuilder("jclouds-live-test").networkType(NetworkType.LOCAL).build()).getId();
-
-         SubnetApi subnetApi = api.getSubnetApi(region);
-         Set<? extends Subnet> subnets = subnetApi.createBulk(
-               ImmutableList.of(
-                  Subnet.createBuilder("jclouds-live-test-1", 
"a3:bd01::/48").ipVersion(6).networkId(networkId).build(),
-                  Subnet.createBuilder("jclouds-live-test-2", 
"a3:bd02::/48").ipVersion(6).networkId(networkId).build(),
-                  Subnet.createBuilder("jclouds-live-test-3", 
"a3:bd03::/48").ipVersion(6).networkId(networkId).build()
-               )
-         ).toSet();
-         Set<Subnet> existingSubnets = subnetApi.list().concat().toSet();
-
-         assertNotNull(subnets);
-         assertTrue(!subnets.isEmpty());
-         assertEquals(subnets.size(), 3);
-
-         for (Subnet net : subnets) {
-            Predicate<Subnet> idEqualsPredicate = 
PredicateUtil.createIdEqualsPredicate(net.getId());
-            assertEquals(1, Sets.filter(existingSubnets, 
idEqualsPredicate).size());
-            assertTrue(subnetApi.delete(net.getId()));
-         }
-         assertTrue(networkApi.delete(networkId));
-      }
-   }
-}

Reply via email to