You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2015/08/21 09:09:38 UTC
[25/52] [abbrv] [partial] stratos git commit: Merging jclouds GCE fix
with upstream - resolving conflicts
http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiLiveTest.java b/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiLiveTest.java
deleted file mode 100644
index a7ef1a6..0000000
--- a/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiLiveTest.java
+++ /dev/null
@@ -1,99 +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 org.jclouds.openstack.neutron.v2.domain.Rule;
-import org.jclouds.openstack.neutron.v2.domain.RuleDirection;
-import org.jclouds.openstack.neutron.v2.domain.RuleEthertype;
-import org.jclouds.openstack.neutron.v2.domain.RuleProtocol;
-import org.jclouds.openstack.neutron.v2.domain.SecurityGroup;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests parsing and Guice wiring of RouterApi
- */
-@Test(groups = "live", testName = "SecurityGroupApiLiveTest")
-public class SecurityGroupApiLiveTest extends BaseNeutronApiLiveTest {
-
- /**
- * Smoke test for the Security Group extension for Neutron
- */
- public void testCreateUpdateAndDeleteSecurityGroup() {
- for (String region : api.getConfiguredRegions()) {
- SecurityGroupApi sgApi = null;
- Rule rule = null;
- SecurityGroup securityGroup = null;
-
- try {
- sgApi = api.getSecurityGroupApi(region).get();
-
- securityGroup = sgApi.create(
- SecurityGroup.createBuilder().name("jclouds-test").description("jclouds test security group")
- .build());
- assertNotNull(securityGroup);
-
- rule = sgApi.create(
- Rule.createBuilder(RuleDirection.EGRESS, securityGroup.getId())
- .ethertype(RuleEthertype.IPV6)
- .portRangeMax(90)
- .portRangeMin(80)
- .protocol(RuleProtocol.TCP)
- .build());
-
- assertNotNull(rule);
-
- // Refresh
- securityGroup = sgApi.getSecurityGroup(securityGroup.getId());
-
- assertEquals(securityGroup.getName(), "jclouds-test");
- assertEquals(securityGroup.getDescription(), "jclouds test security group");
-
- assertEquals(securityGroup.getRules().size(), 3);
-
- Rule newSecGroupRule = null;
-
- for (Rule sgr : securityGroup.getRules()) {
- if (sgr.getId().equals(rule.getId())) {
- newSecGroupRule = sgr;
- break;
- }
- }
- assertNotNull(newSecGroupRule, "Did not find the new rule in the group.");
-
- assertEquals(rule, newSecGroupRule);
-
- assertEquals(rule.getEthertype(), RuleEthertype.IPV6);
- assertEquals(rule.getProtocol(), RuleProtocol.TCP);
- assertEquals(rule.getPortRangeMax().intValue(), 90);
- assertEquals(rule.getPortRangeMin().intValue(), 80);
- assertEquals(rule.getDirection(), RuleDirection.EGRESS);
- } finally {
- try {
- assertTrue(sgApi.deleteRule(rule.getId()));
- } finally {
- assertTrue(sgApi.deleteSecurityGroup(securityGroup.getId()));
- }
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java b/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java
deleted file mode 100644
index dfe6a80..0000000
--- a/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/SecurityGroupApiMockTest.java
+++ /dev/null
@@ -1,659 +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.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.Rule;
-import org.jclouds.openstack.neutron.v2.domain.RuleDirection;
-import org.jclouds.openstack.neutron.v2.domain.RuleEthertype;
-import org.jclouds.openstack.neutron.v2.domain.RuleProtocol;
-import org.jclouds.openstack.neutron.v2.domain.Rules;
-import org.jclouds.openstack.neutron.v2.domain.SecurityGroup;
-import org.jclouds.openstack.neutron.v2.domain.SecurityGroups;
-import org.jclouds.openstack.neutron.v2.internal.BaseNeutronApiMockTest;
-import org.jclouds.openstack.v2_0.options.PaginationOptions;
-import org.jclouds.rest.ResourceNotFoundException;
-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 SecurityGroupApiMockTest extends BaseNeutronApiMockTest {
-
- public void testCreateSecurityGroup() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_create_response.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- SecurityGroup.CreateSecurityGroup createSecurityGroup = SecurityGroup.createBuilder().name("new-webservers")
- .description("security group for webservers")
- .build();
-
- SecurityGroup securityGroup = api.create(createSecurityGroup);
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "POST", "/v2.0/security-groups", "/security_group_create_request.json");
-
- /*
- * Check response
- */
- assertNotNull(securityGroup);
- assertEquals(securityGroup.getId(), "2076db17-a522-4506-91de-c6dd8e837028");
- assertEquals(securityGroup.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
- assertEquals(securityGroup.getName(), "new-webservers");
- assertEquals(securityGroup.getDescription(), "security group for webservers");
-
- Rule sgr0 = securityGroup.getRules().get(0);
- Rule sgr1 = securityGroup.getRules().get(1);
-
- assertEquals(sgr0.getId(), "38ce2d8e-e8f1-48bd-83c2-d33cb9f50c3d");
- assertEquals(sgr1.getId(), "565b9502-12de-4ffd-91e9-68885cff6ae1");
- } finally {
- server.shutdown();
- }
- }
-
- @Test(expectedExceptions = ResourceNotFoundException.class)
- public void testCreateSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- SecurityGroup.CreateSecurityGroup createSecurityGroup = SecurityGroup.createBuilder().name("new-webservers")
- .description("security group for webservers")
- .build();
-
- SecurityGroup securityGroup = api.create(createSecurityGroup);
- } finally {
- server.shutdown();
- }
- }
-
- public void testCreateSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_rule_create_response.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- Rule.CreateRule createSecurityGroupRule = Rule.createBuilder(
- RuleDirection.INGRESS, "a7734e61-b545-452d-a3cd-0189cbd9747a")
- .portRangeMin(80)
- .portRangeMax(80)
- .ethertype(RuleEthertype.IPV4)
- .protocol(RuleProtocol.TCP)
- .remoteGroupId("85cc3048-abc3-43cc-89b3-377341426ac5")
- .build();
-
- Rule rule = api.create(createSecurityGroupRule);
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "POST", "/v2.0/security-group-rules", "/security_group_rule_create_request.json");
-
- /*
- * Check response
- */
- assertNotNull(rule);
- assertEquals(rule.getId(), "2bc0accf-312e-429a-956e-e4407625eb62");
- assertEquals(rule.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
- assertEquals(rule.getDirection(), RuleDirection.INGRESS);
- assertEquals(rule.getPortRangeMax().intValue(), 80);
- assertEquals(rule.getPortRangeMin().intValue(), 80);
- assertEquals(rule.getEthertype(), RuleEthertype.IPV4);
- assertEquals(rule.getProtocol(), RuleProtocol.TCP);
- assertEquals(rule.getRemoteGroupId(), "85cc3048-abc3-43cc-89b3-377341426ac5");
- assertEquals(rule.getSecurityGroupId(), "a7734e61-b545-452d-a3cd-0189cbd9747a");
-
- } finally {
- server.shutdown();
- }
- }
-
- @Test(expectedExceptions = ResourceNotFoundException.class)
- public void testCreateSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- Rule.CreateRule createSecurityGroupRule = Rule.createBuilder(
- RuleDirection.INGRESS, "a7734e61-b545-452d-a3cd-0189cbd9747a")
- .portRangeMin(80)
- .portRangeMax(80)
- .ethertype(RuleEthertype.IPV4)
- .protocol(RuleProtocol.TCP)
- .remoteGroupId("85cc3048-abc3-43cc-89b3-377341426ac5")
- .build();
-
- Rule rule = api.create(createSecurityGroupRule);
- } finally {
- server.shutdown();
- }
- }
-
- public void testListSpecificPageSecurityGroup() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- SecurityGroups securityGroups = api.listSecurityGroups(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups?limit=2&marker=abcdefg");
-
- /*
- * Check response
- */
- assertNotNull(securityGroups);
- assertEquals(securityGroups.size(), 2);
- // Ensures the full collection is parsed and ordering is preserved.
- assertEquals(securityGroups.first().get().getId(), "85cc3048-abc3-43cc-89b3-377341426ac5");
- assertEquals(securityGroups.get(1).getId(), "85cc3048-abc3-43cc-89b3-377341426ac52");
- } finally {
- server.shutdown();
- }
- }
-
- public void testListSpecificPageSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- SecurityGroups securityGroups = api.listSecurityGroups(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups?limit=2&marker=abcdefg");
-
- /*
- * Check response
- */
- assertNotNull(securityGroups);
- assertTrue(securityGroups.isEmpty());
- } finally {
- server.shutdown();
- }
- }
-
- public void testListSpecificPageSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged1.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- Rules rules = api.listRules(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules?limit=2&marker=abcdefg");
-
- /*
- * Check response
- */
- assertNotNull(rules);
- assertEquals(rules.size(), 4);
- // Ensures the full collection is parsed and ordering is preserved.
- assertEquals(rules.first().get().getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
- assertEquals(rules.get(3).getId(), "f7d45c89-008e-4bab-88ad-d6811724c51c");
- } finally {
- server.shutdown();
- }
- }
-
- public void testListSpecificPageSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- Rules rules = api.listRules(PaginationOptions.Builder.limit(2).marker("abcdefg"));
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules?limit=2&marker=abcdefg");
-
- /*
- * Check response
- */
- assertNotNull(rules);
- assertTrue(rules.isEmpty());
- } finally {
- server.shutdown();
- }
- }
-
- public void testListPagedSecurityGroups() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged2.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- // Note: Lazy! Have to actually look at the collection.
- List<SecurityGroup> securityGroups = api.listSecurityGroups().concat().toList();
-
- /*
- * Check request
- */
- assertEquals(server.getRequestCount(), 3);
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups");
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718");
-
- /*
- * Check response
- */
- assertNotNull(securityGroups);
- assertEquals(securityGroups.size(), 4);
- // Ensures ordering is preserved and both pages are parsed.
- assertEquals(securityGroups.get(0).getId(), "85cc3048-abc3-43cc-89b3-377341426ac5");
- assertEquals(securityGroups.get(3).getId(), "85cc3048-abc3-43cc-89b3-377341426ac524");
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testListPagedSecurityGroupsFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- // Note: Lazy! Have to actually look at the collection.
- List<SecurityGroup> securityGroups = api.listSecurityGroups().concat().toList();
-
- /*
- * Check request
- */
- assertEquals(server.getRequestCount(), 2);
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups");
-
- /*
- * Check response
- */
- assertNotNull(securityGroups);
- assertTrue(securityGroups.isEmpty());
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testListPagedSecurityGroupRules() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged1.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_rule_list_response_paged2.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- // Note: Lazy! Have to actually look at the collection.
- List<Rule> rules = api.listRules().concat().toList();
-
- /*
- * Check request
- */
- assertEquals(server.getRequestCount(), 3);
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules");
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718");
-
- /*
- * Check response
- */
- assertNotNull(rules);
- assertEquals(rules.size(), 8);
- // Ensures both pages are tested and ordering is preserved.
- assertEquals(rules.get(0).getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
- assertEquals(rules.get(7).getId(), "f7d45c89-008e-4bab-88ad-d6811724c51c2");
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testListPagedSecurityGroupRulesFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- // Note: Lazy! Have to actually look at the collection.
- List<Rule> rules = api.listRules().concat().toList();
-
- /*
- * Check request
- */
- assertEquals(server.getRequestCount(), 2);
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules");
-
- /*
- * Check response
- */
- assertNotNull(rules);
- assertTrue(rules.isEmpty());
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testGetSecurityGroup() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_get_response.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- SecurityGroup securityGroup = api.getSecurityGroup("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups/12345");
-
- /*
- * Check response
- */
- assertNotNull(securityGroup);
- assertEquals(securityGroup.getName(), "default");
- assertEquals(securityGroup.getDescription(), "default");
- assertEquals(securityGroup.getId(), "85cc3048-abc3-43cc-89b3-377341426ac5");
- assertEquals(securityGroup.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
- Rule sgr = securityGroup.getRules().get(0);
- assertEquals(sgr.getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
- } finally {
- server.shutdown();
- }
- }
-
- public void testGetSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- SecurityGroup securityGroup = api.getSecurityGroup("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-groups/12345");
-
- /*
- * Check response
- */
- assertNull(securityGroup);
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testGetSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_rule_get_response.json"))));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- Rule rule = api.get("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules/12345");
-
- /*
- * Check response
- */
- assertNotNull(rule);
- assertEquals(rule.getDirection(), RuleDirection.EGRESS);
- assertEquals(rule.getEthertype(), RuleEthertype.IPV6);
- assertEquals(rule.getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
- assertEquals(rule.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
- assertEquals(rule.getSecurityGroupId(), "85cc3048-abc3-43cc-89b3-377341426ac5");
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testGetSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- Rule rule = api.get("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "GET", "/v2.0/security-group-rules/12345");
-
- /*
- * Check response
- */
- assertNull(rule);
-
- } finally {
- server.shutdown();
- }
- }
-
- public void testDeleteSecurityGroup() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(201)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- boolean result = api.deleteSecurityGroup("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-groups/12345");
-
- /*
- * Check response
- */
- assertTrue(result);
- } finally {
- server.shutdown();
- }
- }
-
- public void testDeleteSecurityGroupFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- boolean result = api.deleteSecurityGroup("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-groups/12345");
-
- /*
- * Check response
- */
- assertFalse(result);
- } finally {
- server.shutdown();
- }
- }
-
- public void testDeleteSecurityGroupRule() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(201)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- boolean result = api.deleteRule("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-group-rules/12345");
-
- /*
- * Check response
- */
- assertTrue(result);
- } finally {
- server.shutdown();
- }
- }
-
- public void testDeleteSecurityGroupRuleFail() throws IOException, InterruptedException, URISyntaxException {
- MockWebServer server = mockOpenStackServer();
- server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
- server.enqueue(addCommonHeaders(
- new MockResponse().setResponseCode(404)));
-
- try {
- NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
- SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne").get();
-
- boolean result = api.deleteRule("12345");
-
- /*
- * Check request
- */
- assertAuthentication(server);
- assertRequest(server.takeRequest(), "DELETE", "/v2.0/security-group-rules/12345");
-
- /*
- * Check response
- */
- assertFalse(result);
- } finally {
- server.shutdown();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApiLiveTest.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApiLiveTest.java b/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApiLiveTest.java
deleted file mode 100644
index 0665906..0000000
--- a/dependencies/jclouds/apis/openstack-neutron/1.8.1-stratos/src/test/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApiLiveTest.java
+++ /dev/null
@@ -1,637 +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.lbaas.v1;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jclouds.logging.Logger;
-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.domain.lbaas.v1.HealthMonitor;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.HealthMonitors;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.HttpMethod;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.LBaaSStatus;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.Member;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.Members;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.Pool;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.Pools;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.ProbeType;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.Protocol;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.SessionPersistence;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.VIP;
-import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.VIPs;
-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.jclouds.openstack.v2_0.options.PaginationOptions;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Tests parsing and Guice wiring of RouterApi
- */
-@Test(groups = "live", testName = "LBaaSApiLiveTest")
-public class LBaaSApiLiveTest extends BaseNeutronApiLiveTest {
-
- private Logger logger = getLoggingModule().createLoggerFactory().getLogger(LBaaSApiLiveTest.class.getName());
-
- private Map<String, Network> networks;
- private Map<String, Subnet> subnets;
-
- public void testLBaaSPresence() throws Exception {
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lBaaSv1Api = api.getLBaaSApi(region);
-
- /*
- * Check response
- */
- assertNotNull(lBaaSv1Api);
- if (lBaaSv1Api.isPresent()) {
- logger.info("LBaaS API Version 1 is available");
- } else {
- logger.info("LBaaS API Version 1 is unavailable");
- }
- }
- }
-
- @BeforeClass
- public void createSubnets() {
- networks = new HashMap<String, Network>();
- subnets = new HashMap<String, Subnet>();
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region);
- if (!lbaasApiExtension.isPresent()) {
- continue;
- }
- NetworkApi networkApi = api.getNetworkApi(region);
- SubnetApi subnetApi = api.getSubnetApi(region);
-
- Network network = networkApi.create(Network.createBuilder("jclouds-lbaas-test-network").networkType(NetworkType.LOCAL).build());
- assertNotNull(network);
- networks.put(region, network);
-
- Subnet subnet = subnetApi.create(Subnet.createBuilder(network.getId(), "10.0.0.0/24").ipVersion(4).name("jclouds-lbaas-test-subnet").build());
- assertNotNull(subnet);
- subnets.put(region, subnet);
- }
- }
-
- @AfterClass
- public void deleteSubnets() {
- for (String region : api.getConfiguredRegions()) {
- NetworkApi networkApi = api.getNetworkApi(region);
- SubnetApi subnetApi = api.getSubnetApi(region);
-
- try {
- Subnet subnet = subnets.get(region);
- if (subnet != null) {
- assertTrue(subnetApi.delete(subnet.getId()));
- }
- } finally {
- Network network = networks.get(region);
- if (network != null) {
- assertTrue(networkApi.delete(network.getId()));
- }
- }
- }
- networks = null;
- subnets = null;
- }
-
- public void testCreateUpdateAndDeletePool() {
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region);
- if (!lbaasApiExtension.isPresent()) {
- continue;
- }
- LBaaSApi lbaasApi = lbaasApiExtension.get();
-
- Subnet subnet = subnets.get(region);
- Pool pool = null;
-
- try {
- // Create
- Pool.CreatePool createPool = Pool.createBuilder(subnet.getId(), Protocol.HTTP, Pool.ROUND_ROBIN)
- .name("jclouds-lbaas-test-pool").description(null).healthMonitors(null).provider(null).adminStateUp(null).build();
- pool = lbaasApi.createPool(createPool);
- assertNotNull(pool);
- assertNotNull(pool.getId());
- assertEquals(pool.getTenantId(), subnet.getTenantId());
- assertNull(pool.getVIPId());
- assertEquals(pool.getName(), "jclouds-lbaas-test-pool");
- assertEquals(pool.getDescription(), "");
- assertEquals(pool.getSubnetId(), subnet.getId());
- assertEquals(pool.getProtocol(), Protocol.HTTP);
- assertNotNull(pool.getProvider());
- assertEquals(pool.getLBMethod(), Pool.ROUND_ROBIN);
- assertNotNull(pool.getHealthMonitors());
- assertTrue(pool.getHealthMonitors().isEmpty());
- assertNotNull(pool.getHealthMonitorsStatus());
- assertTrue(pool.getHealthMonitorsStatus().isEmpty());
- assertNotNull(pool.getMembers());
- assertTrue(pool.getMembers().isEmpty());
- assertEquals(pool.getAdminStateUp(), Boolean.TRUE);
- assertTrue(pool.getStatus() == LBaaSStatus.PENDING_CREATE || pool.getStatus() == LBaaSStatus.ACTIVE);
- assertNull(pool.getStatusDescription());
-
- // List and Get
- Pools pools = lbaasApi.listPools(PaginationOptions.Builder.queryParameters(ImmutableMap.of("name", "jclouds-lbaas-test-pool").asMultimap()));
- assertNotNull(pools);
- assertFalse(pools.isEmpty());
- Pool poolList = pools.first().get();
- Pool poolGet = lbaasApi.getPool(poolList.getId());
- assertNotNull(poolGet);
- assertEquals(poolGet, poolList);
-
- poolGet = lbaasApi.getPool(pool.getId());
- assertNotNull(poolGet);
- assertEquals(poolGet.getName(), pool.getName());
- assertEquals(poolGet.getId(), pool.getId());
-
- // Update
- Pool.UpdatePool updatePool = Pool.updateBuilder().name("jclouds-lbaas-test-pool-renamed").description("new description").lbMethod(Pool.ROUND_ROBIN)
- .healthMonitors(null).adminStateUp(Boolean.FALSE).build();
- Pool poolUpdate = lbaasApi.updatePool(pool.getId(), updatePool);
- assertNotNull(poolUpdate);
- assertEquals(poolUpdate.getName(), "jclouds-lbaas-test-pool-renamed");
- assertEquals(poolUpdate.getLBMethod(), Pool.ROUND_ROBIN);
- assertNotNull(poolUpdate.getHealthMonitors());
- assertTrue(poolUpdate.getHealthMonitors().isEmpty());
- assertNotNull(poolUpdate.getHealthMonitorsStatus());
- assertTrue(poolUpdate.getHealthMonitorsStatus().isEmpty());
- assertEquals(poolUpdate.getAdminStateUp(), Boolean.FALSE);
-
- poolGet = lbaasApi.getPool(pool.getId());
- assertNotNull(poolGet);
- assertEquals(poolGet.getId(), pool.getId());
- assertEquals(poolGet.getTenantId(), subnet.getTenantId());
- assertNull(poolGet.getVIPId());
- assertEquals(poolGet.getName(), "jclouds-lbaas-test-pool-renamed");
- assertEquals(poolGet.getDescription(), "new description");
- assertEquals(poolGet.getSubnetId(), subnet.getId());
- assertEquals(poolGet.getProtocol(), Protocol.HTTP);
- assertNotNull(poolGet.getProvider());
- assertEquals(poolGet.getLBMethod(), Pool.ROUND_ROBIN);
- assertNotNull(poolGet.getHealthMonitors());
- assertTrue(poolGet.getHealthMonitors().isEmpty());
- assertNotNull(poolGet.getHealthMonitorsStatus());
- assertTrue(poolGet.getHealthMonitorsStatus().isEmpty());
- assertNotNull(poolGet.getMembers());
- assertTrue(poolGet.getMembers().isEmpty());
- assertEquals(poolGet.getAdminStateUp(), Boolean.FALSE);
- assertTrue(poolGet.getStatus() == LBaaSStatus.PENDING_UPDATE || poolGet.getStatus() == LBaaSStatus.ACTIVE);
- assertNull(poolGet.getStatusDescription());
- } finally {
- if (pool != null) {
- // Delete
- assertTrue(lbaasApi.deletePool(pool.getId()));
- Pool poolGet = lbaasApi.getPool(pool.getId());
- assertNull(poolGet);
- }
- }
- }
- }
-
- public void testCreateUpdateAndDeleteMember() {
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region);
- if (!lbaasApiExtension.isPresent()) {
- continue;
- }
- LBaaSApi lbaasApi = lbaasApiExtension.get();
-
- Subnet subnet = subnets.get(region);
- Pool pool1 = null;
- Pool pool2 = null;
- Member member = null;
-
- try {
- // Create pools
- Pool.CreateBuilder createBuilder = Pool.createBuilder(subnet.getId(), Protocol.HTTP, Pool.ROUND_ROBIN)
- .name("jclouds-lbaas-test-member-pool-1").description(null).healthMonitors(null).provider(null).adminStateUp(null);
- pool1 = lbaasApi.createPool(createBuilder.build());
- assertNotNull(pool1);
- createBuilder.name("jclouds-lbaas-test-member-pool-2");
- pool2 = lbaasApi.createPool(createBuilder.build());
- assertNotNull(pool2);
-
- // Create
- Member.CreateMember createMember = Member.createBuilder(pool1.getId(), "10.0.0.100", 80)
- .weight(null).adminStateUp(null).build();
- member = lbaasApi.createMember(createMember);
- assertNotNull(member);
- assertNotNull(member.getId());
- assertEquals(member.getTenantId(), subnet.getTenantId());
- assertEquals(member.getPoolId(), pool1.getId());
- assertEquals(member.getAddress(), "10.0.0.100");
- assertEquals(member.getProtocolPort(), Integer.valueOf(80));
- assertEquals(member.getWeight(), Integer.valueOf(1));
- assertEquals(member.getAdminStateUp(), Boolean.TRUE);
- assertTrue(member.getStatus() == LBaaSStatus.PENDING_CREATE || member.getStatus() == LBaaSStatus.ACTIVE);
- assertNull(member.getStatusDescription());
-
- // List and Get
- Members members = lbaasApi.listMembers(PaginationOptions.Builder.queryParameters(ImmutableMap.of("tenant_id", subnet.getTenantId()).asMultimap()));
- assertNotNull(members);
- assertFalse(members.isEmpty());
- Member memberList = members.first().get();
- Member memberGet = lbaasApi.getMember(memberList.getId());
- assertNotNull(memberGet);
- assertEquals(memberGet, memberList);
-
- memberGet = lbaasApi.getMember(member.getId());
- assertNotNull(memberGet);
- assertEquals(memberGet.getId(), member.getId());
-
- // Verify member appears in pool1 and not in pool2
- Pool pool1Get = lbaasApi.getPool(pool1.getId());
- assertNotNull(pool1Get);
- assertNotNull(pool1Get.getMembers());
- assertFalse(pool1Get.getMembers().isEmpty());
- assertEquals(pool1Get.getMembers().iterator().next(), member.getId());
- Pool pool2Get = lbaasApi.getPool(pool2.getId());
- assertNotNull(pool2Get);
- assertNotNull(pool2Get.getMembers());
- assertTrue(pool2Get.getMembers().isEmpty());
-
- // Update
- Member.UpdateMember updateMember = Member.updateBuilder()
- .poolId(pool2.getId()).weight(2).adminStateUp(Boolean.FALSE).build();
- Member memberUpdate = lbaasApi.updateMember(member.getId(), updateMember);
- assertNotNull(memberUpdate);
- assertEquals(memberUpdate.getPoolId(), pool2.getId());
- assertEquals(memberUpdate.getWeight(), Integer.valueOf(2));
- assertEquals(memberUpdate.getAdminStateUp(), Boolean.FALSE);
-
- memberGet = lbaasApi.getMember(member.getId());
- assertNotNull(memberGet);
- assertNotNull(memberGet.getId());
- assertEquals(memberGet.getTenantId(), subnet.getTenantId());
- assertEquals(memberGet.getPoolId(), pool2.getId());
- assertEquals(member.getAddress(), "10.0.0.100");
- assertEquals(memberGet.getProtocolPort(), Integer.valueOf(80));
- assertEquals(memberGet.getWeight(), Integer.valueOf(2));
- assertEquals(memberGet.getAdminStateUp(), Boolean.FALSE);
- assertTrue(memberGet.getStatus() == LBaaSStatus.PENDING_UPDATE || memberGet.getStatus() == LBaaSStatus.ACTIVE);
- assertNull(memberGet.getStatusDescription());
-
- // Verify member appears in pool2 and not in pool1
- pool1Get = lbaasApi.getPool(pool1.getId());
- assertNotNull(pool1Get);
- assertNotNull(pool1Get.getMembers());
- assertTrue(pool1Get.getMembers().isEmpty());
- pool2Get = lbaasApi.getPool(pool2.getId());
- assertNotNull(pool2Get);
- assertNotNull(pool2Get.getMembers());
- assertFalse(pool2Get.getMembers().isEmpty());
- assertEquals(pool2Get.getMembers().iterator().next(), member.getId());
- } finally {
- if (member != null) {
- // Delete
- assertTrue(lbaasApi.deleteMember(member.getId()));
- Member memberGet = lbaasApi.getMember(member.getId());
- assertNull(memberGet);
-
- // Verify member does not appear in pool1 and in pool2
- Pool pool1Get = lbaasApi.getPool(pool1.getId());
- assertNotNull(pool1Get);
- assertNotNull(pool1Get.getMembers());
- assertTrue(pool1Get.getMembers().isEmpty());
- Pool pool2Get = lbaasApi.getPool(pool2.getId());
- assertNotNull(pool2Get);
- assertNotNull(pool2Get.getMembers());
- assertTrue(pool2Get.getMembers().isEmpty());
- }
- if (pool2 != null) {
- assertTrue(lbaasApi.deletePool(pool2.getId()));
- }
- if (pool1 != null) {
- assertTrue(lbaasApi.deletePool(pool1.getId()));
- }
- }
- }
- }
-
- public void testCreateUpdateAndDeleteVIP() {
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region);
- if (!lbaasApiExtension.isPresent()) {
- continue;
- }
- LBaaSApi lbaasApi = lbaasApiExtension.get();
-
- Subnet subnet = subnets.get(region);
- Pool pool1 = null;
- Pool pool2 = null;
- VIP vip = null;
-
- try {
- // Create pools
- Pool.CreateBuilder createBuilder = Pool.createBuilder(subnet.getId(), Protocol.HTTP, Pool.ROUND_ROBIN)
- .name("jclouds-lbaas-test-vip-pool-1").description(null).healthMonitors(null).provider(null).adminStateUp(null);
- pool1 = lbaasApi.createPool(createBuilder.build());
- assertNotNull(pool1);
- createBuilder.name("jclouds-lbaas-test-vip-pool-2");
- pool2 = lbaasApi.createPool(createBuilder.build());
- assertNotNull(pool2);
-
- // Create
- VIP.CreateVIP createVIP = VIP.createBuilder(subnet.getId(), Protocol.HTTP, 80, pool1.getId())
- .name("jclouds-lbaas-test-vip").description(null).address(null).sessionPersistence(null).connectionLimit(null).build();
- vip = lbaasApi.createVIP(createVIP);
- assertNotNull(vip);
- assertNotNull(vip.getId());
- assertEquals(vip.getTenantId(), subnet.getTenantId());
- assertEquals(vip.getName(), "jclouds-lbaas-test-vip");
- assertEquals(vip.getDescription(), "");
- assertEquals(vip.getSubnetId(), subnet.getId());
- assertNotNull(vip.getAddress());
- assertNotNull(vip.getPortId());
- assertEquals(vip.getProtocol(), Protocol.HTTP);
- assertEquals(vip.getProtocolPort(), Integer.valueOf(80));
- assertEquals(vip.getPoolId(), pool1.getId());
- assertNull(vip.getSessionPersistence());
- assertEquals(vip.getConnectionLimit(), Integer.valueOf(-1));
- assertEquals(vip.getAdminStateUp(), Boolean.TRUE);
- assertTrue(vip.getStatus() == LBaaSStatus.PENDING_CREATE || vip.getStatus() == LBaaSStatus.ACTIVE);
- assertNull(vip.getStatusDescription());
-
- // List and Get
- VIPs vips = lbaasApi.listVIPs(PaginationOptions.Builder.queryParameters(ImmutableMap.of("tenant_id", subnet.getTenantId()).asMultimap()));
- assertNotNull(vips);
- assertFalse(vips.isEmpty());
- VIP vipList = vips.first().get();
- VIP vipGet = lbaasApi.getVIP(vipList.getId());
- assertNotNull(vipGet);
- assertEquals(vipGet, vipList);
-
- vipGet = lbaasApi.getVIP(vip.getId());
- assertNotNull(vipGet);
- assertEquals(vipGet.getId(), vip.getId());
-
- // Verify VIP appears in pool1 and not in pool2
- Pool pool1Get = lbaasApi.getPool(pool1.getId());
- assertNotNull(pool1Get);
- assertEquals(pool1Get.getVIPId(), vip.getId());
- Pool pool2Get = lbaasApi.getPool(pool2.getId());
- assertNotNull(pool2Get);
- assertNotEquals(pool2Get.getVIPId(), vip.getId());
-
- // Update
- SessionPersistence sessionPersistence = SessionPersistence.builder().type(SessionPersistence.Type.HTTP_COOKIE).cookieName(null).build();
- VIP.UpdateVIP updateVIP = VIP.updateBuilder()
- .name("jclouds-lbaas-test-vip-renamed").description("new description").poolId(pool2.getId())
- .sessionPersistence(sessionPersistence).connectionLimit(2).adminStateUp(Boolean.FALSE).build();
- VIP vipUpdate = lbaasApi.updateVIP(vip.getId(), updateVIP);
- assertNotNull(vipUpdate);
- assertEquals(vipUpdate.getName(), "jclouds-lbaas-test-vip-renamed");
- assertEquals(vipUpdate.getDescription(), "new description");
- assertEquals(vipUpdate.getPoolId(), pool2.getId());
- assertEquals(vipUpdate.getSessionPersistence(), sessionPersistence);
- assertEquals(vipUpdate.getConnectionLimit(), Integer.valueOf(2));
- assertEquals(vipUpdate.getAdminStateUp(), Boolean.FALSE);
-
- vipGet = lbaasApi.getVIP(vip.getId());
- assertNotNull(vipGet);
- assertNotNull(vipGet.getId());
- assertEquals(vipGet.getTenantId(), subnet.getTenantId());
- assertEquals(vipGet.getName(), "jclouds-lbaas-test-vip-renamed");
- assertEquals(vipGet.getDescription(), "new description");
- assertEquals(vipGet.getSubnetId(), subnet.getId());
- assertNotNull(vipGet.getAddress());
- assertNotNull(vipGet.getPortId());
- assertEquals(vipGet.getProtocol(), Protocol.HTTP);
- assertEquals(vipGet.getProtocolPort(), Integer.valueOf(80));
- assertEquals(vipGet.getPoolId(), pool2.getId());
- assertEquals(vipGet.getSessionPersistence(), sessionPersistence);
- assertEquals(vipGet.getConnectionLimit(), Integer.valueOf(2));
- assertEquals(vipGet.getAdminStateUp(), Boolean.FALSE);
- assertTrue(vipGet.getStatus() == LBaaSStatus.PENDING_UPDATE || vipGet.getStatus() == LBaaSStatus.ACTIVE);
- assertNull(vipGet.getStatusDescription());
-
- // Verify VIP appears in pool2 and not in pool1
- pool1Get = lbaasApi.getPool(pool1.getId());
- assertNotNull(pool1Get);
- assertNotEquals(pool1Get.getVIPId(), vip.getId());
- pool2Get = lbaasApi.getPool(pool2.getId());
- assertNotNull(pool2Get);
- assertEquals(pool2Get.getVIPId(), vip.getId());
- } finally {
- if (vip != null) {
- // Delete
- assertTrue(lbaasApi.deleteVIP(vip.getId()));
- VIP vipGet = lbaasApi.getVIP(vip.getId());
- assertNull(vipGet);
-
- // Verify VIP does not appear in pool1 and in pool2
- Pool pool1Get = lbaasApi.getPool(pool1.getId());
- assertNotNull(pool1Get);
- assertNotEquals(pool1Get.getVIPId(), vip.getId());
- Pool pool2Get = lbaasApi.getPool(pool2.getId());
- assertNotNull(pool2Get);
- assertNotEquals(pool2Get.getVIPId(), vip.getId());
- }
- if (pool2 != null) {
- assertTrue(lbaasApi.deletePool(pool2.getId()));
- }
- if (pool1 != null) {
- assertTrue(lbaasApi.deletePool(pool1.getId()));
- }
- }
- }
- }
-
- public void testCreateUpdateAndDeleteHealthMonitor() {
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region);
- if (!lbaasApiExtension.isPresent()) {
- continue;
- }
- LBaaSApi lbaasApi = lbaasApiExtension.get();
-
- Subnet subnet = subnets.get(region);
- HealthMonitor healthMonitor = null;
-
- try {
- // Create
- HealthMonitor.CreateHealthMonitor createHealthMonitor = HealthMonitor.createBuilder(ProbeType.HTTP, Integer.valueOf(1), Integer.valueOf(1), Integer.valueOf(1))
- .httpMethod(null).urlPath(null).expectedCodes(null).adminStateUp(null).build();
- healthMonitor = lbaasApi.createHealthMonitor(createHealthMonitor);
- assertNotNull(healthMonitor);
- assertNotNull(healthMonitor.getId());
- assertEquals(healthMonitor.getTenantId(), subnet.getTenantId());
- assertEquals(healthMonitor.getType(), ProbeType.HTTP);
- assertEquals(healthMonitor.getDelay(), Integer.valueOf(1));
- assertEquals(healthMonitor.getTimeout(), Integer.valueOf(1));
- assertEquals(healthMonitor.getMaxRetries(), Integer.valueOf(1));
- assertEquals(healthMonitor.getHttpMethod(), HttpMethod.GET);
- assertEquals(healthMonitor.getUrlPath(), "/");
- assertEquals(healthMonitor.getExpectedCodes(), "200");
- assertNotNull(healthMonitor.getPools());
- assertTrue(healthMonitor.getPools().isEmpty());
- assertEquals(healthMonitor.getAdminStateUp(), Boolean.TRUE);
- //assertEquals(healthMonitor.getStatus(), LBaaSStatus.PENDING_CREATE);
- assertNull(healthMonitor.getStatus());
- assertNull(healthMonitor.getStatusDescription());
-
- // List and Get
- HealthMonitors healthMonitors = lbaasApi.listHealthMonitors(PaginationOptions.Builder.queryParameters(ImmutableMap.of("tenant_id", subnet.getTenantId()).asMultimap()));
- assertNotNull(healthMonitors);
- assertFalse(healthMonitors.isEmpty());
- HealthMonitor healthMonitorList = healthMonitors.first().get();
- HealthMonitor healthMonitorGet = lbaasApi.getHealthMonitor(healthMonitorList.getId());
- assertNotNull(healthMonitorGet);
- assertEquals(healthMonitorGet, healthMonitorList);
-
- healthMonitorGet = lbaasApi.getHealthMonitor(healthMonitor.getId());
- assertNotNull(healthMonitorGet);
- assertEquals(healthMonitorGet.getId(), healthMonitor.getId());
-
- // Update
- HealthMonitor.UpdateHealthMonitor updateHealthMonitor = HealthMonitor.updateBuilder().delay(Integer.valueOf(2)).timeout(Integer.valueOf(2)).maxRetries(Integer.valueOf(2))
- .httpMethod(HttpMethod.HEAD).urlPath("/index.html").expectedCodes("201").adminStateUp(Boolean.FALSE).build();
- HealthMonitor healthMonitorUpdate = lbaasApi.updateHealthMonitor(healthMonitor.getId(), updateHealthMonitor);
- assertNotNull(healthMonitorUpdate);
- assertEquals(healthMonitorUpdate.getDelay(), Integer.valueOf(2));
- assertEquals(healthMonitorUpdate.getTimeout(), Integer.valueOf(2));
- assertEquals(healthMonitorUpdate.getMaxRetries(), Integer.valueOf(2));
- assertEquals(healthMonitorUpdate.getHttpMethod(), HttpMethod.HEAD);
- assertEquals(healthMonitorUpdate.getUrlPath(), "/index.html");
- assertEquals(healthMonitorUpdate.getExpectedCodes(), "201");
- assertEquals(healthMonitorUpdate.getAdminStateUp(), Boolean.FALSE);
-
- healthMonitorGet = lbaasApi.getHealthMonitor(healthMonitor.getId());
- assertNotNull(healthMonitorGet);
- assertNotNull(healthMonitorGet.getId());
- assertEquals(healthMonitorGet.getTenantId(), subnet.getTenantId());
- assertEquals(healthMonitorGet.getType(), ProbeType.HTTP);
- assertEquals(healthMonitorGet.getDelay(), Integer.valueOf(2));
- assertEquals(healthMonitorGet.getTimeout(), Integer.valueOf(2));
- assertEquals(healthMonitorGet.getMaxRetries(), Integer.valueOf(2));
- assertEquals(healthMonitorGet.getHttpMethod(), HttpMethod.HEAD);
- assertEquals(healthMonitorGet.getUrlPath(), "/index.html");
- assertEquals(healthMonitorGet.getExpectedCodes(), "201");
- assertNotNull(healthMonitorGet.getPools());
- assertTrue(healthMonitorGet.getPools().isEmpty());
- assertEquals(healthMonitorGet.getAdminStateUp(), Boolean.FALSE);
- //assertEquals(healthMonitorGet.getStatus(), LBaaSStatus.PENDING_UPDATE);
- assertNull(healthMonitorGet.getStatus());
- assertNull(healthMonitorGet.getStatusDescription());
- } finally {
- if (healthMonitor != null) {
- // Delete
- assertTrue(lbaasApi.deleteHealthMonitor(healthMonitor.getId()));
- HealthMonitor healthMonitorGet = lbaasApi.getHealthMonitor(healthMonitor.getId());
- assertNull(healthMonitorGet);
- }
- }
- }
- }
-
- public void testAssociateAndDisassociateHealthMonitorWithPool() {
- for (String region : api.getConfiguredRegions()) {
- Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region);
- if (!lbaasApiExtension.isPresent()) {
- continue;
- }
- LBaaSApi lbaasApi = lbaasApiExtension.get();
-
- Subnet subnet = subnets.get(region);
- Pool pool = null;
- HealthMonitor healthMonitor = null;
-
- try {
- // Create pool
- Pool.CreatePool poolCreateOptions = Pool.createBuilder(subnet.getId(), Protocol.TCP, Pool.ROUND_ROBIN)
- .name("jclouds-lbaas-test-pool-association").build();
- pool = lbaasApi.createPool(poolCreateOptions);
- assertNotNull(pool);
- assertNotNull(pool.getId());
- assertNotNull(pool.getHealthMonitors());
- assertTrue(pool.getHealthMonitors().isEmpty());
- assertNotNull(pool.getHealthMonitorsStatus());
- assertTrue(pool.getHealthMonitorsStatus().isEmpty());
-
- // Create health monitor
- HealthMonitor.CreateHealthMonitor healthMonitorCreateOptions = HealthMonitor.createBuilder(ProbeType.HTTP, Integer.valueOf(1), Integer.valueOf(1), Integer.valueOf(1)).build();
- healthMonitor = lbaasApi.createHealthMonitor(healthMonitorCreateOptions);
- assertNotNull(healthMonitor);
- assertNotNull(healthMonitor.getId());
- assertNotNull(healthMonitor.getPools());
- assertTrue(healthMonitor.getPools().isEmpty());
-
- // Associate health monitor with pool
- HealthMonitor healthMonitorAssociated = lbaasApi.associateHealthMonitor(pool.getId(), healthMonitor.getId());
- assertNotNull(healthMonitorAssociated);
-
- // Verify health monitor is associated with pool
- Pool poolGet = lbaasApi.getPool(pool.getId());
- assertNotNull(poolGet);
- assertNotNull(poolGet.getHealthMonitors());
- assertEquals(poolGet.getHealthMonitors().size(), 1);
- assertEquals(poolGet.getHealthMonitors().iterator().next(), healthMonitor.getId());
- assertNotNull(poolGet.getHealthMonitorsStatus());
- assertEquals(poolGet.getHealthMonitorsStatus().size(), 1);
- assertEquals(poolGet.getHealthMonitorsStatus().iterator().next().getId(), healthMonitor.getId());
-
- HealthMonitor healthMonitorGet = lbaasApi.getHealthMonitor(healthMonitor.getId());
- assertNotNull(healthMonitorGet);
- assertNotNull(healthMonitorGet.getPools());
- assertEquals(healthMonitorGet.getPools().size(), 1);
- assertEquals(healthMonitorGet.getPools().iterator().next().getId(), pool.getId());
-
- // Disassociate health monitor from pool
- assertTrue(lbaasApi.disassociateHealthMonitor(pool.getId(), healthMonitor.getId()));
-
- // Verify health monitor is disassociated from pool
- poolGet = lbaasApi.getPool(pool.getId());
- assertNotNull(poolGet);
- assertNotNull(poolGet.getHealthMonitors());
- assertTrue(poolGet.getHealthMonitors().isEmpty());
- assertNotNull(poolGet.getHealthMonitorsStatus());
- assertTrue(poolGet.getHealthMonitorsStatus().isEmpty());
-
- healthMonitorGet = lbaasApi.getHealthMonitor(healthMonitor.getId());
- assertNotNull(healthMonitorGet);
- assertNotNull(healthMonitorGet.getPools());
- assertTrue(healthMonitorGet.getPools().isEmpty());
- } finally {
- if (healthMonitor != null) {
- assertTrue(lbaasApi.deleteHealthMonitor(healthMonitor.getId()));
- }
- if (pool != null) {
- assertTrue(lbaasApi.deletePool(pool.getId()));
- }
- }
- }
- }
-
-}