http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiLiveTest.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiLiveTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiLiveTest.java deleted file mode 100644 index 62f09fb..0000000 --- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiLiveTest.java +++ /dev/null @@ -1,199 +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.extensions; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertTrue; - -import org.jclouds.openstack.neutron.v2.domain.CreateFirewall; -import org.jclouds.openstack.neutron.v2.domain.CreateFirewallPolicy; -import org.jclouds.openstack.neutron.v2.domain.CreateFirewallRule; -import org.jclouds.openstack.neutron.v2.domain.Firewall; -import org.jclouds.openstack.neutron.v2.domain.FirewallPolicy; -import org.jclouds.openstack.neutron.v2.domain.FirewallRule; -import org.jclouds.openstack.neutron.v2.domain.UpdateFirewall; -import org.jclouds.openstack.neutron.v2.domain.UpdateFirewallPolicy; -import org.jclouds.openstack.neutron.v2.domain.UpdateFirewallRule; -import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest; -import org.jclouds.openstack.v2_0.options.PaginationOptions; -import org.testng.Assert; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import com.google.common.base.Optional; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; - -/** - * Tests parsing and Guice wiring of FWaaSApi - */ -@Test(groups = "live", testName = "FWaaSApiLiveTest") -public class FWaaSApiLiveTest extends BaseNeutronApiLiveTest { - - private FWaaSApi fWaaSApi; - - @BeforeMethod - void setUp() { - Optional<String> optionalRegion = Iterables.tryFind(api.getConfiguredRegions(), Predicates.notNull()); - if (!optionalRegion.isPresent()) Assert.fail(); - fWaaSApi = api.getFWaaSApi(optionalRegion.get()).get(); - } - /** - * Smoke test for the Firewall extension for Neutron - */ - public void testCreateUpdateAndDeleteFirewallRule() { - - String inboundPort = "22"; - FirewallRule firewallRule = null; - - try { - // methods under test - firewallRule = fWaaSApi.createFirewallRule(CreateFirewallRule.builder() - .name(String.format("jclouds-test-%s-fw-rule-%s", this.getClass().getCanonicalName().toLowerCase(), inboundPort)) - .description("jclouds test fw rule") - .destinationIpAddress("192.168.0.1") - .destinationPort(inboundPort) - .enabled(true) - .action("allow") - .protocol("tcp") - .build()); - - assertFalse(fWaaSApi.listFirewallRules().concat().toList().isEmpty()); - assertNotNull(fWaaSApi.listFirewallRules(PaginationOptions.Builder.limit(1))); - - // get - firewallRule = fWaaSApi.getFirewallRule(firewallRule.getId()); - assertEquals(firewallRule.getName(), String.format("jclouds-test-%s-fw-rule-%s", this.getClass().getCanonicalName().toLowerCase(), inboundPort)); - assertEquals(firewallRule.getDescription(), "jclouds test fw rule"); - - // update - FirewallRule updatedFirewallRule = fWaaSApi.updateFirewallRule(firewallRule.getId(), UpdateFirewallRule.builder().name(firewallRule.getName() + "-updated").build()); - firewallRule = fWaaSApi.getFirewallRule(firewallRule.getId()); - assertEquals(updatedFirewallRule, firewallRule); - } finally { - // delete - if (fWaaSApi != null) { - assertTrue(fWaaSApi.deleteFirewallRule(firewallRule.getId())); - } - } - } - - public void testCreateUpdateAndDeleteFirewallPolicy() { - - String inboundPort = "80"; - FirewallRule firewallRule = fWaaSApi.createFirewallRule(CreateFirewallRule.builder() - .name(String.format("jclouds-test-%s-fw-rule-%s", this.getClass().getCanonicalName().toLowerCase(), inboundPort)) - .description("jclouds test fw rule") - .destinationIpAddress("192.168.0.1") - .destinationPort(inboundPort) - .enabled(true) - .action("allow") - .protocol("tcp") - .build()); - FirewallPolicy firewallPolicy = null; - - try { - // methods under test - firewallPolicy = fWaaSApi.createFirewallPolicy(CreateFirewallPolicy.builder() - .name(String.format("jclouds-test-%s-fw-policy", this.getClass().getCanonicalName().toLowerCase())) - .description("jclouds test fw policy") - .build()); - - assertFalse(fWaaSApi.listFirewallPolicies().concat().toList().isEmpty()); - assertNotNull(fWaaSApi.listFirewallPolicies(PaginationOptions.Builder.limit(1))); - - // get - firewallPolicy = fWaaSApi.getFirewallPolicy(firewallPolicy.getId()); - assertEquals(firewallPolicy.getName(), String.format("jclouds-test-%s-fw-policy", this.getClass().getCanonicalName().toLowerCase())); - assertEquals(firewallPolicy.getDescription(), "jclouds test fw policy"); - - // update - FirewallPolicy updatedFirewallPolicy = fWaaSApi.updateFirewallPolicy(firewallPolicy.getId(), UpdateFirewallPolicy.builder() - .name(String.format("jclouds-test-%s-fw-policy-update", this.getClass().getCanonicalName().toLowerCase())).build()); - firewallPolicy = fWaaSApi.getFirewallPolicy(firewallPolicy.getId()); - assertEquals(updatedFirewallPolicy, firewallPolicy); - - firewallPolicy = fWaaSApi.insertFirewallRuleToPolicy(firewallPolicy.getId(), firewallRule.getId()); - assertNotNull(firewallPolicy); - assertFalse(firewallPolicy.getFirewallRules().isEmpty()); - - firewallPolicy = fWaaSApi.removeFirewallRuleFromPolicy(firewallPolicy.getId(), firewallRule.getId()); - assertNotNull(firewallPolicy); - assertTrue(firewallPolicy.getFirewallRules().isEmpty()); - } finally { - // delete - if (fWaaSApi != null) { - try { - if (firewallPolicy != null) { - assertTrue(fWaaSApi.deleteFirewallPolicy(firewallPolicy.getId())); - } - } finally { - assertTrue(fWaaSApi.deleteFirewallRule(firewallRule.getId())); - } - } - } - } - - public void testCreateUpdateAndDeleteFirewall() { - - FirewallPolicy firewallPolicy = fWaaSApi.createFirewallPolicy(CreateFirewallPolicy.builder() - .name(String.format("jclouds-test-%s-fw-policy", this.getClass().getCanonicalName().toLowerCase())) - .description("jclouds test fw policy") - .build()); - - Firewall firewall = null; - - try { - // methods under test - firewall = fWaaSApi.create(CreateFirewall.builder().name(String.format("jclouds-test-%s-fw", this.getClass().getCanonicalName().toLowerCase())) - .description("jclouds test firewall") - .firewallPolicyId(firewallPolicy.getId()) - .build()); - - assertFalse(fWaaSApi.list().concat().toList().isEmpty()); - assertNotNull(fWaaSApi.list(PaginationOptions.Builder.limit(1))); - - // get - firewall = fWaaSApi.get(firewall.getId()); - assertEquals(firewall.getName(), String.format("jclouds-test-%s-fw", this.getClass().getCanonicalName().toLowerCase())); - assertEquals(firewall.getDescription(), "jclouds test firewall"); - - // update - Firewall updatedFirewall = fWaaSApi.update(firewall.getId(), UpdateFirewall.builder().name(String.format("jclouds-test-%s-fw_updated", this.getClass() - .getCanonicalName().toLowerCase())).build()); - firewall = fWaaSApi.get(firewall.getId()); - assertEquals(updatedFirewall, firewall); - - } finally { - // delete - if (fWaaSApi != null) { - try { - if (firewallPolicy != null) { - assertTrue(fWaaSApi.deleteFirewallPolicy(firewallPolicy.getId())); - } - } finally { - if (firewall != null) { - assertTrue(fWaaSApi.delete(firewall.getId())); - } } - } - } - } - -}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiMockTest.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiMockTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiMockTest.java deleted file mode 100644 index ae84c36..0000000 --- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApiMockTest.java +++ /dev/null @@ -1,568 +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.extensions; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertTrue; - -import java.io.IOException; -import java.net.URISyntaxException; -import java.util.List; - -import org.jclouds.openstack.neutron.v2.NeutronApi; -import org.jclouds.openstack.neutron.v2.domain.CreateFirewall; -import org.jclouds.openstack.neutron.v2.domain.CreateFirewallPolicy; -import org.jclouds.openstack.neutron.v2.domain.CreateFirewallRule; -import org.jclouds.openstack.neutron.v2.domain.Firewall; -import org.jclouds.openstack.neutron.v2.domain.FirewallPolicy; -import org.jclouds.openstack.neutron.v2.domain.FirewallRule; -import org.jclouds.openstack.neutron.v2.domain.FloatingIP; -import org.jclouds.openstack.neutron.v2.domain.UpdateFirewall; -import org.jclouds.openstack.neutron.v2.domain.UpdateFirewallPolicy; -import org.jclouds.openstack.neutron.v2.domain.UpdateFirewallRule; -import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiMockTest; -import org.jclouds.openstack.v2_0.domain.PaginatedCollection; -import org.jclouds.openstack.v2_0.options.PaginationOptions; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.squareup.okhttp.mockwebserver.MockResponse; -import com.squareup.okhttp.mockwebserver.MockWebServer; - -/** - * Tests Floating Api Guice wiring and parsing - * - */ -@Test -public class FWaaSApiMockTest extends BaseNeutronApiMockTest { - - public void testCreateFirewall() 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("/firewall_create_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - CreateFirewall firewallRequest = CreateFirewall.builder() - .firewallPolicyId("c69933c1-b472-44f9-8226-30dc4ffd454c") - .adminStateUp(Boolean.TRUE) - .build(); - - Firewall firewall = api.create(firewallRequest); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "POST", uriApiVersion + "/fw/firewalls", "/firewall_create_request.json"); - - /* - * Check response - */ - assertNotNull(firewall); - assertEquals(firewall.getName(), ""); - assertEquals(firewall.getTenantId(), "45977fa2dbd7482098dd68d0d8970117"); - assertEquals(firewall.getDescription(), ""); - assertEquals(firewall.getId(), "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977"); - assertEquals(firewall.getStatus(), "PENDING_CREATE"); - assertTrue(firewall.isAdminStateUp()); - assertEquals(firewall.getFirewallPolicyId(), "c69933c1-b472-44f9-8226-30dc4ffd454c"); - } finally { - server.shutdown(); - } - } - - public void testListSpecificPageFirewall() 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("/firewall_list_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - PaginatedCollection<Firewall> firewalls = api.list(PaginationOptions.Builder.limit(2).marker("abcdefg")); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/fw/firewalls?limit=2&marker=abcdefg"); - - /* - * Check response - */ - assertNotNull(firewalls); - assertEquals(firewalls.size(), 1); - assertEquals(Iterables.getFirst(firewalls, null).getId(), "5eb708e7-3856-449a-99ac-fec27cd745f9"); - assertEquals(firewalls.get(0).getId(), "5eb708e7-3856-449a-99ac-fec27cd745f9"); - } finally { - server.shutdown(); - } - } - - public void testListPagedFirewall() 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - // Note: Lazy! Have to actually look at the collection. - List<FloatingIP> floatingIPs = api.list().concat().toList(); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 4); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/floatingips"); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/floatingips?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); - - /* - * Check response - */ - assertNotNull(floatingIPs); - assertEquals(floatingIPs.size(), 4); - assertEquals(floatingIPs.get(0).getId(), "2f245a7b-796b-4f26-9cf9-9e82d248fda7"); - assertEquals(floatingIPs.get(3).getId(), "61cea855-49cb-4846-997d-801b70c71bdd2"); - } finally { - server.shutdown(); - } - } - - public void testGetFirewall() 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("/firewall_get_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - Firewall firewall = api.get("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/fw/firewalls/12345"); - - /* - * Check response - */ - assertNotNull(firewall); - assertEquals(firewall.getId(), "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977"); - assertEquals(firewall.getTenantId(), "45977fa2dbd7482098dd68d0d8970117"); - assertEquals(firewall.getDescription(), ""); - assertEquals(firewall.getName(), ""); - assertEquals(firewall.getStatus(), "ACTIVE"); - assertEquals(firewall.getFirewallPolicyId(), "c69933c1-b472-44f9-8226-30dc4ffd454c"); - - } finally { - server.shutdown(); - } - } - - public void testUpdateFirewall() 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("/firewall_update_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - UpdateFirewall updateFirewall = UpdateFirewall.builder() - .adminStateUp(false) - .build(); - - Firewall firewall = api.update("12345", updateFirewall); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/fw/firewalls/12345", "/firewall_update_request.json"); - - /* - * Check response - */ - assertNotNull(firewall); - assertFalse(firewall.isAdminStateUp()); - - } finally { - server.shutdown(); - } - } - - public void testDeleteFirewall() 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))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - boolean result = api.delete("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "DELETE", uriApiVersion + "/fw/firewalls/12345"); - - /* - * Check response - */ - assertTrue(result); - } finally { - server.shutdown(); - } - } - - public void testCreateFirewallPolicy() 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("/firewall_policy_create_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - CreateFirewallPolicy firewallPolicyRequest = CreateFirewallPolicy.builder() - .name("jclouds-fw-policy_group-52-e8b") - .build(); - - FirewallPolicy firewallPolicy = api.createFirewallPolicy(firewallPolicyRequest); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "POST", uriApiVersion + "/fw/firewall_policies", "/firewall_policy_create_request.json"); - - /* - * Check response - */ - assertNotNull(firewallPolicy); - assertEquals(firewallPolicy.getName(), "jclouds-fw-policy_group-52-e8b"); - assertEquals(firewallPolicy.getTenantId(), "3e00d5716204446c8d3c47a466eec25a"); - assertEquals(firewallPolicy.getDescription(), ""); - assertEquals(firewallPolicy.getId(), "12971159-95cf-4ca1-9baa-c82298ae0918"); - assertEquals(firewallPolicy.isShared(), false); - assertEquals(firewallPolicy.getFirewallRules(), ImmutableList.of()); - assertEquals(firewallPolicy.isAudited(), false); - } finally { - server.shutdown(); - } - } - - public void testGetFirewallPolicy() 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("/firewall_policy_get_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - FirewallPolicy firewallPolicy = api.getFirewallPolicy("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/fw/firewall_policies/12345"); - - /* - * Check response - */ - assertNotNull(firewallPolicy); - assertEquals(firewallPolicy.getId(), "18d2f4e5-afdd-4c10-87ea-d35f38faf98c"); - assertEquals(firewallPolicy.getTenantId(), "e1defcdd823741c89afd5824040deed2"); - assertEquals(firewallPolicy.getDescription(), ""); - assertEquals(firewallPolicy.getName(), "myfirewallrule"); - assertEquals(firewallPolicy.isAudited(), false); - assertEquals(firewallPolicy.isShared(), true); - - } finally { - server.shutdown(); - } - } - - public void testUpdateFirewallPolicy() 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("/firewall_policy_get_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - UpdateFirewallPolicy updateFirewallPolicy = UpdateFirewallPolicy.builder() - .shared(true) - .build(); - - FirewallPolicy firewallPolicy = api.updateFirewallPolicy("12345", updateFirewallPolicy); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/fw/firewall_policies/12345"); - - /* - * Check response - */ - assertNotNull(firewallPolicy); - assertEquals(firewallPolicy.getId(), "18d2f4e5-afdd-4c10-87ea-d35f38faf98c"); - assertEquals(firewallPolicy.getTenantId(), "e1defcdd823741c89afd5824040deed2"); - assertEquals(firewallPolicy.getDescription(), ""); - assertEquals(firewallPolicy.getName(), "myfirewallrule"); - assertEquals(firewallPolicy.isAudited(), false); - assertEquals(firewallPolicy.isShared(), true); - - } finally { - server.shutdown(); - } - } - - public void testInsertFirewallRuleIntoFirewallPolicy() 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("/firewall_policy_insert_rule_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - FirewallPolicy updatedFirewallPolicy = api.insertFirewallRuleToPolicy("12345", "59585143-e819-48c9-944d-f03e0f049dba"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/fw/firewall_policies/12345/insert_rule", "/firewall_policy_insert_rule_request.json"); - - /* - * Check response - */ - assertNotNull(updatedFirewallPolicy); - - } finally { - server.shutdown(); - } - } - - public void testCreateFirewallRule() 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("/firewall_rule_create_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - CreateFirewallRule firewallRuleRequest = CreateFirewallRule.builder() - .name("jclouds-fw-rule_group-52-e8b_port-22") - .tenantId("3e00d5716204446c8d3c47a466eec25a") - .protocol("tcp") - .destinationIpAddress("192.168.0.117") - .destinationPort("22") - .action("allow") - .shared(false) - .enabled(true) - .build(); - - FirewallRule firewallRule = api.createFirewallRule(firewallRuleRequest); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "POST", uriApiVersion + "/fw/firewall_rules", "/firewall_rule_create_request.json"); - - /* - * Check response - */ - assertNotNull(firewallRule); - assertEquals(firewallRule.getName(), "jclouds-fw-rule_group-52-e8b_port-22"); - assertEquals(firewallRule.getTenantId(), "3e00d5716204446c8d3c47a466eec25a"); - assertEquals(firewallRule.getDescription(), ""); - assertEquals(firewallRule.getId(), "59585143-e819-48c9-944d-f03e0f049dba"); - assertEquals(firewallRule.isShared(), false); - assertEquals(firewallRule.isEnabled(), true); - } finally { - server.shutdown(); - } - } - - public void testGetFirewallRule() 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("/firewall_rule_get_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - FirewallRule firewallRule = api.getFirewallRule("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/fw/firewall_rules/12345"); - - /* - * Check response - */ - assertNotNull(firewallRule); - assertEquals(firewallRule.getId(), "736b1686-3301-4a3d-9eaf-15e3c2682edc"); - assertEquals(firewallRule.getTenantId(), "3e00d5716204446c8d3c47a466eec25a"); - assertEquals(firewallRule.getDescription(), "jclouds test fw rule"); - assertEquals(firewallRule.getName(), "jclouds-test-org.jclouds.openstack.neutron.v2.extensions.fwaasapilivetest-fw-rule-22"); - assertEquals(firewallRule.getAction(), "allow"); - assertEquals(firewallRule.isEnabled(), true); - assertEquals(firewallRule.getIpVersion().version(), 4); - assertEquals(firewallRule.isShared(), false); - - } finally { - server.shutdown(); - } - } - - public void testUpdateFirewallRule() 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("/firewall_rule_update_response.json")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - UpdateFirewallRule updateFirewallRule = UpdateFirewallRule.builder() - .build(); - - FirewallRule firewallRule = api.updateFirewallRule("12345", updateFirewallRule); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/fw/firewall_rules/12345", "/firewall_rule_update_request.json"); - - /* - * Check response - */ - assertNotNull(firewallRule); - - } finally { - server.shutdown(); - } - } - - public void testDeleteFirewallRule() 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))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FWaaSApi api = neutronApi.getFWaaSApi("RegionOne").get(); - - boolean result = api.deleteFirewallRule("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "DELETE", uriApiVersion + "/fw/firewall_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/extensions/FloatingIPApiLiveTest.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiLiveTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiLiveTest.java deleted file mode 100644 index a3d5f3d..0000000 --- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiLiveTest.java +++ /dev/null @@ -1,92 +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.extensions; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertTrue; - -import java.util.Set; - -import org.jclouds.openstack.neutron.v2.domain.FloatingIP; -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.Subnet; -import org.jclouds.openstack.neutron.v2.features.NetworkApi; -import org.jclouds.openstack.neutron.v2.features.SubnetApi; -import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableSet; - -/** - * Tests parsing and Guice wiring of RouterApi - */ -@Test(groups = "live", testName = "FloatingIPApiLiveTest") -public class FloatingIPApiLiveTest extends BaseNeutronApiLiveTest { - - public void testCreateUpdateAndDeleteFloatingIP() { - for (String region : api.getConfiguredRegions()) { - - SubnetApi subnetApi = api.getSubnetApi(region); - FloatingIPApi floatingIPApi = api.getFloatingIPApi(region).get(); - NetworkApi networkApi = api.getNetworkApi(region); - - FloatingIP floatingIPGet = null; - String ipv4SubnetId = null; - Network network = null; - - try { - network = networkApi.create( - Network.createBuilder("jclouds-network-test").external(true).networkType(NetworkType.LOCAL).build()); - assertNotNull(network); - - ipv4SubnetId = subnetApi.create(Subnet.createBuilder(network.getId(), "198.51.100.0/24").ipVersion(4) - .name("JClouds-Live-IPv4-Subnet").build()).getId(); - - floatingIPApi.create(FloatingIP.createBuilder(network.getId()).build()); - - /* List and Get test */ - Set<FloatingIP> floatingIPs = floatingIPApi.list().concat().toSet(); - FloatingIP floatingIPList = floatingIPs.iterator().next(); - floatingIPGet = floatingIPApi.get(floatingIPList.getId()); - - assertNotNull(floatingIPGet); - assertEquals(floatingIPGet, floatingIPList); - } - finally { - try { - assertTrue(floatingIPApi.delete(floatingIPGet.getId())); - } - finally { - try { - assertTrue(subnetApi.delete(ipv4SubnetId)); - } - finally { - assertTrue(networkApi.delete(network.getId())); - } - } - } - } - } - - 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/extensions/FloatingIPApiMockTest.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java deleted file mode 100644 index ea368ee..0000000 --- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApiMockTest.java +++ /dev/null @@ -1,292 +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.extensions; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertNull; -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.FloatingIP; -import org.jclouds.openstack.neutron.v2.domain.FloatingIPs; -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 Floating Api Guice wiring and parsing - * - */ -@Test -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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - FloatingIP.CreateFloatingIP createFip = FloatingIP.createBuilder("376da547-b977-4cfe-9cba-275c80debf57") - .portId("ce705c24-c1ef-408a-bda3-7bbd946164ab") - .build(); - - FloatingIP floatingIP = api.create(createFip); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "POST", uriApiVersion + "/floatingips", "/floatingip_create_request.json"); - - /* - * Check response - */ - assertNotNull(floatingIP); - assertEquals(floatingIP.getRouterId(), "d23abc8d-2991-4a55-ba98-2aaea84cc72f"); - assertEquals(floatingIP.getTenantId(), "4969c491a3c74ee4af974e6d800c62de"); - assertEquals(floatingIP.getFloatingNetworkId(), "376da547-b977-4cfe-9cba-275c80debf57"); - assertEquals(floatingIP.getFixedIpAddress(), "10.0.0.3"); - assertEquals(floatingIP.getFloatingIpAddress(), "172.24.4.228"); - assertEquals(floatingIP.getPortId(), "ce705c24-c1ef-408a-bda3-7bbd946164ab"); - assertEquals(floatingIP.getId(), "2f245a7b-796b-4f26-9cf9-9e82d248fda7"); - - } finally { - server.shutdown(); - } - } - - 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 { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - FloatingIPs floatingIPs = api.list(PaginationOptions.Builder.limit(2).marker("abcdefg")); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/floatingips?limit=2&marker=abcdefg"); - - /* - * Check response - */ - assertNotNull(floatingIPs); - assertEquals(floatingIPs.size(), 2); - assertEquals(floatingIPs.first().get().getId(), "2f245a7b-796b-4f26-9cf9-9e82d248fda7"); - assertEquals(floatingIPs.get(1).getId(), "61cea855-49cb-4846-997d-801b70c71bdd"); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - // Note: Lazy! Have to actually look at the collection. - List<FloatingIP> floatingIPs = api.list().concat().toList(); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 4); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/floatingips"); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/floatingips?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); - - /* - * Check response - */ - assertNotNull(floatingIPs); - assertEquals(floatingIPs.size(), 4); - assertEquals(floatingIPs.get(0).getId(), "2f245a7b-796b-4f26-9cf9-9e82d248fda7"); - assertEquals(floatingIPs.get(3).getId(), "61cea855-49cb-4846-997d-801b70c71bdd2"); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - FloatingIP floatingIP = api.get("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/floatingips/12345"); - - /* - * Check response - */ - assertNotNull(floatingIP); - assertEquals(floatingIP.getId(), "2f245a7b-796b-4f26-9cf9-9e82d248fda7"); - assertEquals(floatingIP.getPortId(), "ce705c24-c1ef-408a-bda3-7bbd946164ab"); - assertEquals(floatingIP.getFloatingIpAddress(), "172.24.4.228"); - assertEquals(floatingIP.getFixedIpAddress(), "10.0.0.3"); - assertEquals(floatingIP.getFloatingNetworkId(), "376da547-b977-4cfe-9cba-275c80debf57"); - assertEquals(floatingIP.getRouterId(), "d23abc8d-2991-4a55-ba98-2aaea84cc72f"); - assertEquals(floatingIP.getTenantId(), "4969c491a3c74ee4af974e6d800c62de"); - - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - FloatingIP.UpdateFloatingIP updateFloatingIP = FloatingIP.updateBuilder() - .portId("fc861431-0e6c-4842-a0ed-e2363f9bc3a8") - .build(); - - FloatingIP floatingIP = api.update("12345", updateFloatingIP); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/floatingips/12345", "/floatingip_update_request.json"); - - /* - * Check response - */ - assertNotNull(floatingIP); - assertEquals(floatingIP.getPortId(), "fc861431-0e6c-4842-a0ed-e2363f9bc3a8"); - - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - FloatingIP.UpdateFloatingIP updateFloatingIP = FloatingIP.updateBuilder().build(); - - FloatingIP floatingIP = api.update("12345", updateFloatingIP); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/floatingips/12345", "/floatingip_update_dissociate_request.json"); - - /* - * Check response - */ - assertNotNull(floatingIP); - assertNull(floatingIP.getPortId()); - - } finally { - server.shutdown(); - } - } - - 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))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - FloatingIPApi api = neutronApi.getFloatingIPApi("RegionOne").get(); - - boolean result = api.delete("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "DELETE", uriApiVersion + "/floatingips/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/extensions/RouterApiLiveTest.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiLiveTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiLiveTest.java deleted file mode 100644 index 046aec7..0000000 --- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiLiveTest.java +++ /dev/null @@ -1,173 +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.extensions; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertTrue; - -import java.util.Set; - -import org.jclouds.openstack.neutron.v2.domain.ExternalGatewayInfo; -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.Router; -import org.jclouds.openstack.neutron.v2.domain.RouterInterface; -import org.jclouds.openstack.neutron.v2.domain.Subnet; -import org.jclouds.openstack.neutron.v2.features.NetworkApi; -import org.jclouds.openstack.neutron.v2.features.PortApi; -import org.jclouds.openstack.neutron.v2.features.SubnetApi; -import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest; -import org.testng.annotations.Test; - -/** - * Tests parsing and Guice wiring of RouterApi - */ -@Test(groups = "live", testName = "RouterApiLiveTest") -public class RouterApiLiveTest extends BaseNeutronApiLiveTest { - - public void testCreateUpdateAndDeleteRouter() { - for (String region : api.getConfiguredRegions()) { - RouterApi routerApi = api.getRouterApi(region).get(); - NetworkApi networkApi = api.getNetworkApi(region); - SubnetApi subnetApi = api.getSubnetApi(region); - - Network network = networkApi.create( - Network.createBuilder("jclouds-network-test").external(true).networkType(NetworkType.LOCAL).build()); - assertNotNull(network); - - Subnet subnet = subnetApi.create(Subnet.createBuilder(network.getId(), "192.168.0.0/16").ipVersion(4).build()); - assertNotNull(subnet); - - Router router = routerApi.create(Router.createBuilder().name("jclouds-router-test") - .externalGatewayInfo(ExternalGatewayInfo.builder().networkId(network.getId()).enableSnat(true).build()).build()); - assertNotNull(router); - - /* List and Get test */ - Set<Router> routers = api.getRouterApi(region).get().list().concat().toSet(); - Router routerList = routers.iterator().next(); - Router routerGet = api.getRouterApi(region).get().get(routerList.getId()); - - assertNotNull(routerGet); - assertEquals(routerGet, routerList); - /***/ - - routerGet = routerApi.get(router.getId()); - - assertEquals(routerGet.getName(), router.getName()); - assertEquals(routerGet.getId(), router.getId()); - assertEquals(routerGet.getExternalGatewayInfo().getNetworkId(), router.getExternalGatewayInfo().getNetworkId()); - - Router routerUpdate = routerApi.update(router.getId(), Router.updateBuilder().name("jclouds-router-test-rename").build()); - assertNotNull(routerUpdate); - assertEquals(routerUpdate.getName(), "jclouds-router-test-rename"); - - routerGet = routerApi.get(router.getId()); - - assertEquals(routerGet.getId(), router.getId()); - assertEquals(routerGet.getName(), "jclouds-router-test-rename"); - - assertTrue(routerApi.delete(router.getId())); - assertTrue(subnetApi.delete(subnet.getId())); - assertTrue(networkApi.delete(network.getId())); - } - } - - public void testCreateAndDeleteRouterInterfaceForSubnet() { - for (String region : api.getConfiguredRegions()) { - RouterApi routerApi = api.getRouterApi(region).get(); - NetworkApi networkApi = api.getNetworkApi(region); - SubnetApi subnetApi = api.getSubnetApi(region); - - Network network = networkApi.create(Network.createBuilder("jclouds-network-test").external(true).networkType(NetworkType.LOCAL).build()); - assertNotNull(network); - - Subnet subnet = subnetApi.create(Subnet.createBuilder(network.getId(), "192.168.0.0/16").ipVersion(4).build()); - assertNotNull(subnet); - - Network network2 = networkApi.create(Network.createBuilder("jclouds-network-test2").external(true).networkType(NetworkType.LOCAL).build()); - assertNotNull(network2); - - Subnet subnet2 = subnetApi.create(Subnet.createBuilder(network2.getId(), "192.169.0.0/16").ipVersion(4).build()); - assertNotNull(subnet2); - - Router router = routerApi.create(Router.createBuilder().name("jclouds-router-test").build()); - assertNotNull(router); - - RouterInterface routerInterface = routerApi.addInterfaceForSubnet(router.getId(), subnet.getId()); - assertNotNull(routerInterface); - - RouterInterface routerInterface2 = routerApi.addInterfaceForSubnet(router.getId(), subnet2.getId()); - assertNotNull(routerInterface2); - - assertTrue(routerApi.removeInterfaceForSubnet(router.getId(), subnet.getId())); - assertTrue(routerApi.removeInterfaceForSubnet(router.getId(), subnet2.getId())); - assertTrue(routerApi.delete(router.getId())); - assertTrue(subnetApi.delete(subnet.getId())); - assertTrue(networkApi.delete(network.getId())); - assertTrue(subnetApi.delete(subnet2.getId())); - assertTrue(networkApi.delete(network2.getId())); - } - } - - public void testCreateAndDeleteRouterInterfaceForPort() { - for (String region : api.getConfiguredRegions()) { - RouterApi routerApi = api.getRouterApi(region).get(); - NetworkApi networkApi = api.getNetworkApi(region); - SubnetApi subnetApi = api.getSubnetApi(region); - PortApi portApi = api.getPortApi(region); - - Network network = networkApi.create(Network.createBuilder("jclouds-network-test").external(true).networkType(NetworkType.LOCAL).build()); - assertNotNull(network); - - Subnet subnet = subnetApi.create(Subnet.createBuilder(network.getId(), "192.168.0.0/16").ipVersion(4).build()); - assertNotNull(subnet); - - Network network2 = networkApi.create(Network.createBuilder("jclouds-network-test2").external(true).networkType(NetworkType.LOCAL).build()); - assertNotNull(network2); - - Subnet subnet2 = subnetApi.create(Subnet.createBuilder(network2.getId(), "192.169.0.0/16").ipVersion(4).build()); - assertNotNull(subnet2); - - Port port = portApi.create(Port.createBuilder(network.getId()).build()); - assertNotNull(port); - - Port port2 = portApi.create(Port.createBuilder(network2.getId()).build()); - assertNotNull(port2); - - Router router = routerApi.create(Router.createBuilder().name("jclouds-router-test").build()); - assertNotNull(router); - - RouterInterface routerInterface = routerApi.addInterfaceForPort(router.getId(), port.getId()); - assertNotNull(routerInterface); - - RouterInterface routerInterface2 = routerApi.addInterfaceForPort(router.getId(), port2.getId()); - assertNotNull(routerInterface2); - - assertTrue(routerApi.removeInterfaceForPort(router.getId(), port.getId())); - assertTrue(routerApi.removeInterfaceForPort(router.getId(), port2.getId())); - assertTrue(routerApi.delete(router.getId())); - assertTrue(subnetApi.delete(subnet.getId())); - assertTrue(networkApi.delete(network.getId())); - assertTrue(subnetApi.delete(subnet2.getId())); - assertTrue(networkApi.delete(network2.getId())); - } - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java ---------------------------------------------------------------------- diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java deleted file mode 100644 index 16859f4..0000000 --- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/extensions/RouterApiMockTest.java +++ /dev/null @@ -1,387 +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.extensions; - -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.ExternalGatewayInfo; -import org.jclouds.openstack.neutron.v2.domain.NetworkStatus; -import org.jclouds.openstack.neutron.v2.domain.Router; -import org.jclouds.openstack.neutron.v2.domain.RouterInterface; -import org.jclouds.openstack.neutron.v2.domain.Routers; -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 NetworkApi Guice wiring and parsing - * - */ -@Test -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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - Router.CreateRouter createRouter = Router.createBuilder().name("another_router").adminStateUp(Boolean.TRUE) - .externalGatewayInfo(ExternalGatewayInfo.builder() - .networkId("8ca37218-28ff-41cb-9b10-039601ea7e6b") - .enableSnat(true) - .build()) - .build(); - - Router router = api.create(createRouter); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "POST", uriApiVersion + "/routers", "/router_create_request.json"); - - /* - * Check response - */ - assertNotNull(router); - assertEquals(router.getName(), "another_router"); - assertEquals(router.getExternalGatewayInfo().getNetworkId(), "8ca37218-28ff-41cb-9b10-039601ea7e6b"); - assertEquals(router.getExternalGatewayInfo().getEnableSnat().booleanValue(), true); - assertEquals(router.getStatus(), NetworkStatus.ACTIVE); - assertEquals(router.getAdminStateUp(), Boolean.TRUE); - assertEquals(router.getId(), "8604a0de-7f6b-409a-a47c-a1cc7bc77b2e"); - assertEquals(router.getTenantId(), "6b96ff0cb17a4b859e1e575d221683d3"); - } finally { - server.shutdown(); - } - } - - 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 { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - Routers routers = api.list(PaginationOptions.Builder.limit(2).marker("abcdefg")); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/routers?limit=2&marker=abcdefg"); - - /* - * Check response - */ - assertNotNull(routers); - assertEquals(routers.size(), 2); - assertEquals(routers.first().get().getId(), "a9254bdb-2613-4a13-ac4c-adc581fba50d"); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - // Note: Lazy! Have to actually look at the collection. - List<Router> routers = api.list().concat().toList(); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 4); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/routers"); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/routers?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); - - /* - * Check response - */ - assertNotNull(routers); - assertEquals(routers.size(), 4); - assertEquals(routers.get(0).getId(), "a9254bdb-2613-4a13-ac4c-adc581fba50d"); - assertEquals(routers.get(3).getId(), "a9254bdb-2613-4a13-ac4c-adc581fba50d_4"); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - Router router = api.get("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "GET", uriApiVersion + "/routers/12345"); - - /* - * Check response - */ - assertNotNull(router); - assertEquals(router.getName(), "router1"); - assertEquals(router.getExternalGatewayInfo().getNetworkId(), "3c5bcddd-6af9-4e6b-9c3e-c153e521cab8"); - assertEquals(router.getStatus(), NetworkStatus.ACTIVE); - assertEquals(router.getAdminStateUp(), Boolean.TRUE); - assertEquals(router.getId(), "a9254bdb-2613-4a13-ac4c-adc581fba50d"); - assertEquals(router.getTenantId(), "33a40233088643acb66ff6eb0ebea679"); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - Router.UpdateRouter updateRouter = Router.updateBuilder() - .externalGatewayInfo( - ExternalGatewayInfo.builder().networkId("8ca37218-28ff-41cb-9b10-039601ea7e6b").build()) - .build(); - - Router router = api.update("12345", updateRouter); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/routers/12345", "/router_update_request.json"); - - /* - * Check response - */ - assertNotNull(router); - assertEquals(router.getName(), "another_router"); - assertEquals(router.getExternalGatewayInfo().getNetworkId(), "8ca37218-28ff-41cb-9b10-039601ea7e6b"); - assertEquals(router.getStatus(), NetworkStatus.ACTIVE); - assertEquals(router.getAdminStateUp(), Boolean.TRUE); - assertEquals(router.getId(), "8604a0de-7f6b-409a-a47c-a1cc7bc77b2e"); - assertEquals(router.getTenantId(), "6b96ff0cb17a4b859e1e575d221683d3"); - } finally { - server.shutdown(); - } - } - - 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))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - boolean result = api.delete("12345"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "DELETE", uriApiVersion + "/routers/12345"); - - /* - * Check response - */ - assertTrue(result); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - RouterInterface routerInterface = api.addInterfaceForSubnet("12345", "a2f1f29d-571b-4533-907f-5803ab96ead1"); - - /* - * Check request - */ - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/routers/12345/add_router_interface", "/router_add_interface_request.json"); - - /* - * Check response - */ - assertNotNull(routerInterface); - assertEquals(routerInterface.getSubnetId(), "a2f1f29d-571b-4533-907f-5803ab96ead1"); - assertEquals(routerInterface.getPortId(), "3a44f4e5-1694-493a-a1fb-393881c673a4"); - } finally { - server.shutdown(); - } - } - - 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")))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - RouterInterface routerInterface = api.addInterfaceForPort("12345", "portid"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/routers/12345/add_router_interface", "/router_add_interface_port_request.json"); - - /* - * Check response - */ - assertNotNull(routerInterface); - assertEquals(routerInterface.getSubnetId(), "a2f1f29d-571b-4533-907f-5803ab96ead1"); - assertEquals(routerInterface.getPortId(), "3a44f4e5-1694-493a-a1fb-393881c673a4"); - } finally { - server.shutdown(); - } - } - - 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))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - boolean result = api.removeInterfaceForSubnet("12345", "a2f1f29d-571b-4533-907f-5803ab96ead1"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/routers/12345/remove_router_interface", "/router_remove_interface_subnet_request.json"); - - /* - * Check response - */ - assertTrue(result); - } finally { - server.shutdown(); - } - } - - 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))); - - try { - NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); - RouterApi api = neutronApi.getRouterApi("RegionOne").get(); - - boolean result = api.removeInterfaceForPort("12345", "portid"); - - /* - * Check request - */ - assertEquals(server.getRequestCount(), 3); - assertAuthentication(server); - assertExtensions(server, uriApiVersion + ""); - assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/routers/12345/remove_router_interface", "/router_remove_interface_port_request.json"); - - /* - * Check response - */ - assertTrue(result); - } finally { - server.shutdown(); - } - } - -}
