Added extension namespace support to Neutron
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/388ad724 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/388ad724 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/388ad724 Branch: refs/heads/master Commit: 388ad724c41790f2eb722a228e45228f3bd4b27d Parents: 6cd16ff Author: Jeremy Daggett <[email protected]> Authored: Thu Sep 11 11:12:47 2014 -0700 Committer: Jeremy Daggett <[email protected]> Committed: Tue Sep 16 07:51:59 2014 -0700 ---------------------------------------------------------------------- .../neutron/v2/config/NeutronHttpApiModule.java | 29 ++++++---- .../v2/extensions/ExtensionNamespaces.java | 35 ++++++++++++ .../neutron/v2/extensions/FloatingIPApi.java | 3 + .../neutron/v2/extensions/RouterApi.java | 3 + .../neutron/v2/extensions/SecurityGroupApi.java | 4 ++ .../v2/extensions/FloatingIPApiMockTest.java | 39 ++++++++++++- .../v2/extensions/RouterApiMockTest.java | 59 ++++++++++++++++++- .../v2/extensions/SecurityGroupApiMockTest.java | 60 ++++++++++++++++++-- 8 files changed, 213 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/config/NeutronHttpApiModule.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/config/NeutronHttpApiModule.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/config/NeutronHttpApiModule.java index 545e7e4..f05439a 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/config/NeutronHttpApiModule.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/config/NeutronHttpApiModule.java @@ -16,12 +16,13 @@ */ package org.jclouds.openstack.neutron.v2.config; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.Multimap; -import com.google.inject.Provides; +import java.net.URI; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +import javax.inject.Provider; +import javax.inject.Singleton; + import org.jclouds.http.HttpErrorHandler; import org.jclouds.http.annotation.ClientError; import org.jclouds.http.annotation.Redirection; @@ -29,6 +30,7 @@ import org.jclouds.http.annotation.ServerError; import org.jclouds.json.config.GsonModule.DateAdapter; import org.jclouds.json.config.GsonModule.Iso8601DateAdapter; import org.jclouds.openstack.neutron.v2.NeutronApi; +import org.jclouds.openstack.neutron.v2.extensions.ExtensionNamespaces; import org.jclouds.openstack.neutron.v2.handlers.NeutronErrorHandler; import org.jclouds.openstack.v2_0.domain.Extension; import org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet; @@ -36,11 +38,12 @@ import org.jclouds.rest.ConfiguresHttpApi; import org.jclouds.rest.config.HttpApiModule; import org.jclouds.rest.functions.ImplicitOptionalConverter; -import javax.inject.Provider; -import javax.inject.Singleton; -import java.net.URI; -import java.util.Set; -import java.util.concurrent.TimeUnit; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.Multimap; +import com.google.inject.Provides; /** * Configures the Neutron connection. @@ -60,6 +63,10 @@ public class NeutronHttpApiModule extends HttpApiModule<NeutronApi> { @Singleton public Multimap<URI, URI> aliases() { return ImmutableMultimap.<URI, URI>builder() + .put(URI.create(ExtensionNamespaces.L3_ROUTER), + URI.create("http://docs.openstack.org/ext/neutron/router/api/v1.0")) + .put(URI.create(ExtensionNamespaces.SECURITY_GROUPS), + URI.create("http://docs.openstack.org/ext/securitygroups/api/v2.0")) .build(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/ExtensionNamespaces.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/ExtensionNamespaces.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/ExtensionNamespaces.java new file mode 100644 index 0000000..00af74d --- /dev/null +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/ExtensionNamespaces.java @@ -0,0 +1,35 @@ +/* + * 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.extensions; + +/** + * Extension Namespaces for OpenStack Networking (Neutron). + */ +public final class ExtensionNamespaces { + /** + * Neutron Layer-3 Router Extension + */ + public static final String L3_ROUTER = "http://docs.openstack.org/ext/neutron/router/api/v1.0"; + /** + * Neutron Security Groups Extension + */ + public static final String SECURITY_GROUPS = "http://docs.openstack.org/ext/securitygroups/api/v2.0"; + + private ExtensionNamespaces() { + throw new AssertionError("intentionally unimplemented"); + } +} http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java index 9a65543..9f0164a 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java @@ -37,7 +37,9 @@ import org.jclouds.openstack.neutron.v2.domain.FloatingIPs; import org.jclouds.openstack.neutron.v2.fallbacks.EmptyFloatingIPsFallback; import org.jclouds.openstack.neutron.v2.functions.FloatingIPsToPagedIterable; import org.jclouds.openstack.neutron.v2.functions.ParseFloatingIPs; +import org.jclouds.openstack.v2_0.ServiceType; import org.jclouds.openstack.v2_0.options.PaginationOptions; +import org.jclouds.openstack.v2_0.services.Extension; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.ResponseParser; @@ -59,6 +61,7 @@ import com.google.common.annotations.Beta; @Path("/floatingips") @RequestFilters(AuthenticateRequest.class) @Consumes(MediaType.APPLICATION_JSON) +@Extension(of = ServiceType.NETWORK, namespace = ExtensionNamespaces.L3_ROUTER) public interface FloatingIPApi { /** http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java index e259d69..b4668aa 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java @@ -39,7 +39,9 @@ import org.jclouds.openstack.neutron.v2.fallbacks.EmptyRoutersFallback; import org.jclouds.openstack.neutron.v2.functions.ParseRouters; import org.jclouds.openstack.neutron.v2.functions.RouterToPagedIterable; import org.jclouds.openstack.neutron.v2.options.EmptyOptions; +import org.jclouds.openstack.v2_0.ServiceType; import org.jclouds.openstack.v2_0.options.PaginationOptions; +import org.jclouds.openstack.v2_0.services.Extension; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.MapBinder; import org.jclouds.rest.annotations.PayloadParam; @@ -64,6 +66,7 @@ import com.google.common.annotations.Beta; @Path("/routers") @RequestFilters(AuthenticateRequest.class) @Consumes(MediaType.APPLICATION_JSON) +@Extension(of = ServiceType.NETWORK, namespace = ExtensionNamespaces.L3_ROUTER) public interface RouterApi { /** http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApi.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApi.java b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApi.java index 0832d4c..6e049c0 100644 --- a/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApi.java +++ b/apis/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApi.java @@ -41,13 +41,16 @@ import org.jclouds.openstack.neutron.v2.functions.ParseRules; import org.jclouds.openstack.neutron.v2.functions.ParseSecurityGroups; import org.jclouds.openstack.neutron.v2.functions.RulesToPagedIterable; import org.jclouds.openstack.neutron.v2.functions.SecurityGroupsToPagedIterable; +import org.jclouds.openstack.v2_0.ServiceType; import org.jclouds.openstack.v2_0.options.PaginationOptions; +import org.jclouds.openstack.v2_0.services.Extension; import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.ResponseParser; import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.Transform; import org.jclouds.rest.annotations.WrapWith; + import com.google.common.annotations.Beta; /** @@ -61,6 +64,7 @@ import com.google.common.annotations.Beta; @RequestFilters(AuthenticateRequest.class) @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) +@Extension(of = ServiceType.NETWORK, namespace = ExtensionNamespaces.SECURITY_GROUPS) public interface SecurityGroupApi { /** * Groups http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java index c28b1c8..576d6d3 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java @@ -47,6 +47,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testCreateFloatingIP() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/floatingip_create_response.json")))); @@ -63,7 +64,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "POST", "/v2.0/floatingips", "/floatingip_create_request.json"); /* @@ -87,6 +90,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testCreateFloatingIPFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -107,6 +111,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageFloatingIP() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/floatingip_list_response_paged1.json")))); try { @@ -118,7 +123,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips?limit=2&marker=abcdefg"); /* @@ -136,6 +143,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageFloatingIPFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -147,7 +155,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips?limit=2&marker=abcdefg"); /* @@ -163,6 +173,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testListPagedFloatingIP() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/floatingip_list_response_paged1.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/floatingip_list_response_paged2.json")))); @@ -176,8 +187,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 3); + assertEquals(server.getRequestCount(), 4); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); @@ -196,6 +208,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testListPagedFloatingIPFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -208,8 +221,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 2); + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips"); /* @@ -225,6 +239,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testGetFloatingIP() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/floatingip_get_response.json")))); @@ -237,7 +252,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips/12345"); /* @@ -260,6 +277,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testGetFloatingIPFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -272,7 +290,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/floatingips/12345"); /* @@ -288,6 +308,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testUpdateFloatingIP() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/floatingip_update_response.json")))); @@ -304,7 +325,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/floatingips/12345", "/floatingip_update_request.json"); /* @@ -321,6 +344,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testUpdateFloatingIPDissociate() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/floatingip_update_dissociate_response.json")))); @@ -335,7 +359,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/floatingips/12345", "/floatingip_update_dissociate_request.json"); /* @@ -352,6 +378,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testUpdateFloatingIPFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -368,7 +395,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/floatingips/12345", "/floatingip_update_request.json"); /* @@ -383,6 +412,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testDeleteFloatingIP() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201))); @@ -395,7 +425,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/floatingips/12345"); /* @@ -410,6 +442,7 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { public void testDeleteFloatingIPFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -422,7 +455,9 @@ public class FloatingIPApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/floatingips/12345"); /* http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java index 346e820..cbd2204 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java @@ -51,6 +51,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testCreateRouter() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/router_create_response.json")))); @@ -67,7 +68,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "POST", "/v2.0/routers", "/router_create_request.json"); /* @@ -89,6 +92,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testCreateRouterFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -111,6 +115,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageRouter() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/router_list_response_paged1.json")))); try { @@ -122,7 +127,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers?limit=2&marker=abcdefg"); /* @@ -139,6 +146,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageRouterFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -150,7 +158,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers?limit=2&marker=abcdefg"); /* @@ -166,6 +176,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testListPagedRouter() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/router_list_response_paged1.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/router_list_response_paged2.json")))); @@ -179,8 +190,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 3); + assertEquals(server.getRequestCount(), 4); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); @@ -199,6 +211,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testListPagedRouterFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -211,8 +224,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 2); + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers"); /* @@ -228,6 +242,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testGetRouter() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/router_get_response.json")))); @@ -240,7 +255,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers/12345"); /* @@ -261,6 +278,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testGetRouterFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -273,7 +291,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/routers/12345"); /* @@ -288,6 +308,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testUpdateRouter() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/router_update_response.json")))); @@ -305,7 +326,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345", "/router_update_request.json"); /* @@ -326,6 +349,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testUpdateRouterFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -343,7 +367,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345", "/router_update_request.json"); /* @@ -358,6 +384,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testDeleteRouter() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201))); @@ -370,7 +397,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/routers/12345"); /* @@ -385,6 +414,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testDeleteRouterFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -397,7 +427,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/routers/12345"); /* @@ -412,6 +444,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testAddRouterInterfaceForSubnet() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/router_add_interface_response.json")))); @@ -425,6 +458,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { * Check request */ assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/add_router_interface", "/router_add_interface_request.json"); /* @@ -441,6 +475,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testAddRouterInterfaceForSubnetFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -453,7 +488,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/add_router_interface", "/router_add_interface_request.json"); /* @@ -468,6 +505,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testAddRouterInterfaceForPort() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/router_add_interface_response.json")))); @@ -480,7 +518,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/add_router_interface", "/router_add_interface_port_request.json"); /* @@ -497,6 +537,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testAddRouterInterfaceForPortFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -509,7 +550,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/add_router_interface", "/router_add_interface_port_request.json"); /* @@ -524,6 +567,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testRemoveRouterInterfaceForSubnet() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201))); @@ -536,7 +580,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/remove_router_interface", "/router_remove_interface_subnet_request.json"); /* @@ -551,6 +597,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testRemoveRouterInterfaceForSubnetFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -563,7 +610,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/remove_router_interface", "/router_remove_interface_subnet_request.json"); /* @@ -578,6 +627,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testRemoveRouterInterfaceForPort() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201))); @@ -590,7 +640,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/remove_router_interface", "/router_remove_interface_port_request.json"); /* @@ -605,6 +657,7 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { public void testRemoveRouterInterfaceForPortFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -617,7 +670,9 @@ public class RouterApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "PUT", "/v2.0/routers/12345/remove_router_interface", "/router_remove_interface_port_request.json"); /* http://git-wip-us.apache.org/repos/asf/jclouds/blob/388ad724/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java index dfe6a80..e766b6d 100644 --- a/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java +++ b/apis/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java @@ -52,6 +52,7 @@ 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().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_create_response.json")))); @@ -68,7 +69,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "POST", "/v2.0/security-groups", "/security_group_create_request.json"); /* @@ -94,6 +97,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testCreateSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -114,6 +118,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testCreateSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_rule_create_response.json")))); @@ -135,7 +140,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "POST", "/v2.0/security-group-rules", "/security_group_rule_create_request.json"); /* @@ -161,6 +168,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testCreateSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -186,6 +194,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageSecurityGroup() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json")))); try { @@ -197,7 +206,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups?limit=2&marker=abcdefg"); /* @@ -216,6 +227,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -227,7 +239,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups?limit=2&marker=abcdefg"); /* @@ -243,6 +257,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged1.json")))); try { @@ -254,7 +269,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules?limit=2&marker=abcdefg"); /* @@ -273,6 +290,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListSpecificPageSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -284,7 +302,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules?limit=2&marker=abcdefg"); /* @@ -300,6 +320,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListPagedSecurityGroups() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.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")))); @@ -313,8 +334,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 3); + assertEquals(server.getRequestCount(), 4); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); @@ -335,6 +357,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListPagedSecurityGroupsFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -347,8 +370,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 2); + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups"); /* @@ -365,6 +389,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListPagedSecurityGroupRules() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.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")))); @@ -378,8 +403,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 3); + assertEquals(server.getRequestCount(), 4); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); @@ -400,6 +426,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testListPagedSecurityGroupRulesFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404))); try { @@ -412,8 +439,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ - assertEquals(server.getRequestCount(), 2); + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules"); /* @@ -430,6 +458,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testGetSecurityGroup() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_get_response.json")))); @@ -442,7 +471,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups/12345"); /* @@ -463,6 +494,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testGetSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -475,7 +507,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups/12345"); /* @@ -491,6 +525,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testGetSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_rule_get_response.json")))); @@ -503,7 +538,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules/12345"); /* @@ -524,6 +561,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testGetSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -536,7 +574,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules/12345"); /* @@ -552,6 +592,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testDeleteSecurityGroup() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201))); @@ -564,7 +605,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-groups/12345"); /* @@ -579,6 +622,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testDeleteSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -591,7 +635,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-groups/12345"); /* @@ -606,6 +652,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testDeleteSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201))); @@ -618,7 +665,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-group-rules/12345"); /* @@ -633,6 +682,7 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { public void testDeleteSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); + server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/extension_list.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(404))); @@ -645,7 +695,9 @@ public class SecurityGroupApiMockTest extends BaseNeutronApiMockTest { /* * Check request */ + assertEquals(server.getRequestCount(), 3); assertAuthentication(server); + assertExtensions(server, "/v2.0"); assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-group-rules/12345"); /*
