http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LimitApiTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LimitApiTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LimitApiTest.java deleted file mode 100644 index ea432f0..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LimitApiTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; -import static org.jclouds.reflect.Reflection2.method; - -import java.io.IOException; - -import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404; -import org.jclouds.cloudstack.internal.BaseCloudStackApiTest; -import org.jclouds.cloudstack.options.ListResourceLimitsOptions; -import org.jclouds.http.functions.ParseFirstJsonValueNamed; -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.reflect.Invokable; - -/** - * Tests behavior of {@code LimitApi} - */ -@Test(groups = "unit", testName = "LimitApiTest") -public class LimitApiTest extends BaseCloudStackApiTest<LimitApi> { - - public void testListResourceLimits() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LimitApi.class, "listResourceLimits", ListResourceLimitsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listResourceLimits&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListResourceLimitsOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LimitApi.class, "listResourceLimits", ListResourceLimitsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(ListResourceLimitsOptions.Builder.account("jclouds" , "23"))); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listResourceLimits&listAll=true&account=jclouds&domainid=23 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } -}
http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiLiveTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiLiveTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiLiveTest.java deleted file mode 100644 index 82d3a62..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiLiveTest.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static com.google.common.collect.Iterables.find; -import static java.util.concurrent.TimeUnit.SECONDS; -import static org.jclouds.cloudstack.predicates.NetworkPredicates.hasLoadBalancerService; -import static org.jclouds.cloudstack.predicates.NetworkPredicates.isVirtualNetwork; -import static org.jclouds.util.Predicates2.retry; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertTrue; - -import java.io.IOException; -import java.util.NoSuchElementException; -import java.util.Set; - -import org.jclouds.cloudstack.domain.AsyncJob; -import org.jclouds.cloudstack.domain.JobResult; -import org.jclouds.cloudstack.domain.LoadBalancerRule; -import org.jclouds.cloudstack.domain.LoadBalancerRule.Algorithm; -import org.jclouds.cloudstack.domain.LoadBalancerRule.State; -import org.jclouds.cloudstack.domain.Network; -import org.jclouds.cloudstack.domain.PublicIPAddress; -import org.jclouds.cloudstack.domain.VirtualMachine; -import org.jclouds.cloudstack.internal.BaseCloudStackApiLiveTest; -import org.jclouds.cloudstack.predicates.LoadBalancerRuleActive; -import org.jclouds.ssh.SshException; -import org.testng.annotations.AfterGroups; -import org.testng.annotations.BeforeGroups; -import org.testng.annotations.Test; - -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.net.HostAndPort; - -/** - * Tests behavior of {@code LoadBalancerApiLiveTest} - */ -@Test(groups = "live", singleThreaded = true, testName = "LoadBalancerApiLiveTest") -public class LoadBalancerApiLiveTest extends BaseCloudStackApiLiveTest { - private PublicIPAddress ip = null; - private VirtualMachine vm; - private LoadBalancerRule rule; - private Predicate<LoadBalancerRule> loadBalancerRuleActive; - private Network network; - private boolean networksDisabled; - - @BeforeGroups(groups = "live") - public void setupContext() { - super.setupContext(); - loadBalancerRuleActive = retry(new LoadBalancerRuleActive(client), 60, 1, 1, SECONDS); - prefix += "rule"; - try { - network = find(client.getNetworkApi().listNetworks(), - Predicates.and(hasLoadBalancerService(), isVirtualNetwork(), - new Predicate<Network>() { - @Override - public boolean apply(Network network) { - return network.isDefault() - && !network.isSecurityGroupEnabled() - && !network.isSystem() - && network.getAccount().equals(user.getName()); - } - })); - } catch (NoSuchElementException e) { - networksDisabled = true; - } - } - - public void testCreateVm() { - if (networksDisabled) - return; - String defaultTemplate = template != null ? template.getImageId() : null; - vm = VirtualMachineApiLiveTest.createVirtualMachineInNetwork(network, - defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), - client, jobComplete, virtualMachineRunning); - if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) - loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); - } - - @Test(dependsOnMethods = "testCreateVm") - public void testCreateLoadBalancerRule() throws Exception { - if (networksDisabled) - return; - int attempts = 0; - while (rule == null && attempts < 10) { - ip = reuseOrAssociate.apply(network); - try { - String jobId = client.getLoadBalancerApi().createLoadBalancerRuleForPublicIP(ip.getId(), - Algorithm.LEASTCONN, prefix, 22, 22); - assertTrue(jobComplete.apply(jobId)); - AsyncJob<LoadBalancerRule> asyncJob = client.getAsyncJobApi().getAsyncJob(jobId); - LoadBalancerRule result = asyncJob.getResult(); - rule = result; - } catch (IllegalStateException e) { - // very likely an ip conflict, so retry; - attempts++; - } - } - assertNotNull(rule, "Failed to get a load balancer rule after " + attempts + " attempts"); - assert rule.getPublicIPId() == ip.getId() : rule; - assertEquals(rule.getPublicPort(), 22); - assertEquals(rule.getPrivatePort(), 22); - assertEquals(rule.getAlgorithm(), Algorithm.LEASTCONN); - assertEquals(rule.getName(), prefix); - assertEquals(rule.getState(), State.ADD); - assertEquals(client.getLoadBalancerApi().listVirtualMachinesAssignedToLoadBalancerRule(rule.getId()).size(), 0); - checkRule(rule); - - } - - @Test(dependsOnMethods = "testCreateLoadBalancerRule") - public void testAssignToLoadBalancerRule() throws Exception { - if (networksDisabled) - return; - String jobId = client.getLoadBalancerApi().assignVirtualMachinesToLoadBalancerRule(rule.getId(), vm.getId()); - assertTrue(jobComplete.apply(jobId)); - AsyncJob<JobResult> result = client.getAsyncJobApi().getAsyncJob(jobId); - assertTrue(result.hasSucceed()); - Set<VirtualMachine> machines = client.getLoadBalancerApi().listVirtualMachinesAssignedToLoadBalancerRule( - rule.getId()); - assertEquals(machines.size(), 1); - assertTrue(loadBalancerRuleActive.apply(rule), rule.toString()); - } - - @Test(dependsOnMethods = "testAssignToLoadBalancerRule") - public void testCanSshInThroughNewLoadBalancerRule() throws Exception { - loopAndCheckSSH(); - } - - // note that when in LB mode, there's a chance you'll have a connection - // failure - private void loopAndCheckSSH() throws IOException { - for (int i = 0; i < 5; i++) {// retry loop TODO replace with predicate. - try { - checkSSH(HostAndPort.fromParts(ip.getIPAddress(), 22)); - return; - } catch (SshException e) { - e.printStackTrace(); - try { - Thread.sleep(10 * 1000); - } catch (InterruptedException e1) { - } - continue; - } - } - } - - @Test(dependsOnMethods = "testAssignToLoadBalancerRule", expectedExceptions = SshException.class) - public void testRemoveFromLoadBalancerRule() throws Exception { - if (networksDisabled) - throw new SshException(); - assertTrue(jobComplete.apply(client.getLoadBalancerApi().removeVirtualMachinesFromLoadBalancerRule( - rule.getId(), vm.getId()))); - assertEquals(client.getLoadBalancerApi().listVirtualMachinesAssignedToLoadBalancerRule(rule.getId()).size(), 0); - assertEquals(rule.getState(), State.ADD); - checkSSH(HostAndPort.fromParts(ip.getIPAddress(), 22)); - } - - @AfterGroups(groups = "live") - @Override - protected void tearDownContext() { - if (rule != null) { - assertTrue(jobComplete.apply(client.getLoadBalancerApi().deleteLoadBalancerRule(rule.getId()))); - } - if (vm != null) { - assertTrue(jobComplete.apply(client.getVirtualMachineApi().destroyVirtualMachine(vm.getId()))); - } - if (ip != null) { - client.getAddressApi().disassociateIPAddress(ip.getId()); - } - super.tearDownContext(); - } - - public void testListLoadBalancerRules() throws Exception { - Set<LoadBalancerRule> response = client.getLoadBalancerApi().listLoadBalancerRules(); - assert null != response; - assertTrue(response.size() >= 0); - for (LoadBalancerRule rule : response) { - LoadBalancerRule newDetails = findRuleWithId(rule.getId()); - assertEquals(rule.getId(), newDetails.getId()); - checkRule(rule); - } - } - - private LoadBalancerRule findRuleWithId(final String id) { - return find(client.getLoadBalancerApi().listLoadBalancerRules(), new Predicate<LoadBalancerRule>() { - - @Override - public boolean apply(LoadBalancerRule arg0) { - return arg0.getId() == id; - } - - }); - } - - protected void checkRule(LoadBalancerRule rule) { - assertEquals(rule.getId(), findRuleWithId(rule.getId()).getId()); - assert rule.getId() != null : rule; - assert rule.getAccount() != null : rule; - assert rule.getAlgorithm() != null : rule; - assert rule.getPrivatePort() > 0 : rule; - assert rule.getPublicPort() > 0 : rule; - assert rule.getDomain() != null : rule; - assert rule.getDomainId() != null : rule; - assert rule.getState() != null : rule; - assert rule.getName() != null : rule; - assert rule.getPublicIP() != null : rule; - assert rule.getPublicIPId() != null : rule; - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiTest.java deleted file mode 100644 index 5656072..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/LoadBalancerApiTest.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.jclouds.reflect.Reflection2.method; - -import java.io.IOException; - -import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.cloudstack.domain.LoadBalancerRule.Algorithm; -import org.jclouds.cloudstack.internal.BaseCloudStackApiTest; -import org.jclouds.cloudstack.options.CreateLoadBalancerRuleOptions; -import org.jclouds.cloudstack.options.ListLoadBalancerRulesOptions; -import org.jclouds.cloudstack.options.UpdateLoadBalancerRuleOptions; -import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.functions.ParseFirstJsonValueNamed; -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.reflect.Invokable; -/** - * Tests behavior of {@code LoadBalancerApi} - */ -// NOTE:without testName, this will not call @Before* and fail w/NPE during -// surefire -@Test(groups = "unit", testName = "LoadBalancerApiTest") -public class LoadBalancerApiTest extends BaseCloudStackApiTest<LoadBalancerApi> { - public void testListLoadBalancerRules() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LoadBalancerApi.class, "listLoadBalancerRules", - ListLoadBalancerRulesOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listLoadBalancerRules&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListLoadBalancerRulesOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LoadBalancerApi.class, "listLoadBalancerRules", - ListLoadBalancerRulesOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(ListLoadBalancerRulesOptions.Builder.publicIPId("3"))); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listLoadBalancerRules&listAll=true&publicipid=3 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - HttpRequest createLoadBalancerRule = HttpRequest.builder().method("GET") - .endpoint("http://localhost:8080/client/api") - .addQueryParam("response", "json") - .addQueryParam("command", "createLoadBalancerRule") - .addQueryParam("publicipid", "6") - .addQueryParam("algorithm", "leastconn") - .addQueryParam("name", "tcp") - .addQueryParam("privateport", "22") - .addQueryParam("publicport", "22").build(); - - public void testCreateLoadBalancerRuleForPublicIP() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LoadBalancerApi.class, "createLoadBalancerRuleForPublicIP", String.class, - Algorithm.class, String.class, int.class, int.class, CreateLoadBalancerRuleOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(6, Algorithm.LEASTCONN, "tcp", 22, 22)); - - assertRequestLineEquals(httpRequest, createLoadBalancerRule.getRequestLine()); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - public void testUpdateLoadBalancerRule() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LoadBalancerApi.class, "updateLoadBalancerRule", String.class, UpdateLoadBalancerRuleOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=updateLoadBalancerRule&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testDeleteLoadBalancerRule() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(LoadBalancerApi.class, "deleteLoadBalancerRule", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=deleteLoadBalancerRule&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListVirtualMachinesAssignedToLoadBalancerRule() throws SecurityException, NoSuchMethodException, - IOException { - Invokable<?, ?> method = method(LoadBalancerApi.class, "listVirtualMachinesAssignedToLoadBalancerRule", - String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listLoadBalancerRuleInstances&listAll=true&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiLiveTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiLiveTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiLiveTest.java deleted file mode 100644 index 2ecd4b6..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiLiveTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static com.google.common.collect.Iterables.getOnlyElement; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertTrue; - -import java.util.Set; - -import org.jclouds.cloudstack.domain.IPForwardingRule; -import org.jclouds.cloudstack.internal.BaseCloudStackApiLiveTest; -import org.jclouds.cloudstack.options.ListIPForwardingRulesOptions; -import org.testng.annotations.Test; - -/** - * Tests behavior of {@code NATApiLiveTest} - */ -@Test(groups = "live", singleThreaded = true, testName = "NATApiLiveTest") -public class NATApiLiveTest extends BaseCloudStackApiLiveTest { - - @Test(enabled = false) - // takes too long - public void testListIPForwardingRules() throws Exception { - Set<IPForwardingRule> response = client.getNATApi().listIPForwardingRules(); - assert null != response; - assertTrue(response.size() >= 0); - for (IPForwardingRule rule : response) { - IPForwardingRule newDetails = getOnlyElement(client.getNATApi().listIPForwardingRules( - ListIPForwardingRulesOptions.Builder.id(rule.getId()))); - assertEquals(rule.getId(), newDetails.getId()); - checkRule(rule); - } - } - - protected void checkRule(IPForwardingRule rule) { - assertEquals(rule.getId(), client.getNATApi().getIPForwardingRule(rule.getId()).getId()); - assert rule.getId() != null : rule; - assert rule.getIPAddress() != null : rule; - assert rule.getIPAddressId() != null : rule; - assert rule.getStartPort() > 0 : rule; - assert rule.getProtocol() != null : rule; - assert rule.getEndPort() > 0 : rule; - assert rule.getState() != null : rule; - assert rule.getVirtualMachineId() != null : rule; - assert rule.getVirtualMachineName() != null : rule; - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiTest.java deleted file mode 100644 index 2308e01..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NATApiTest.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.jclouds.reflect.Reflection2.method; - -import java.io.IOException; - -import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.cloudstack.internal.BaseCloudStackApiTest; -import org.jclouds.cloudstack.options.CreateIPForwardingRuleOptions; -import org.jclouds.cloudstack.options.ListIPForwardingRulesOptions; -import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.functions.ParseFirstJsonValueNamed; -import org.jclouds.http.functions.ReleasePayloadAndReturn; -import org.jclouds.http.functions.UnwrapOnlyJsonValue; -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.reflect.Invokable; -/** - * Tests behavior of {@code NATApi} - */ -// NOTE:without testName, this will not call @Before* and fail w/NPE during -// surefire -@Test(groups = "unit", testName = "NATApiTest") -public class NATApiTest extends BaseCloudStackApiTest<NATApi> { - public void testListIPForwardingRules() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NATApi.class, "listIPForwardingRules", ListIPForwardingRulesOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listIpForwardingRules&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListIPForwardingRulesOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NATApi.class, "listIPForwardingRules", ListIPForwardingRulesOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of( - ListIPForwardingRulesOptions.Builder.virtualMachineId("3"))); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listIpForwardingRules&listAll=true&virtualmachineid=3 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testGetIPForwardingRule() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NATApi.class, "getIPForwardingRule", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listIpForwardingRules&listAll=true&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - HttpRequest createIpForwardingRule = HttpRequest.builder().method("GET") - .endpoint("http://localhost:8080/client/api") - .addQueryParam("response", "json") - .addQueryParam("command", "createIpForwardingRule") - .addQueryParam("ipaddressid", "7") - .addQueryParam("protocol", "tcp") - .addQueryParam("startport", "22").build(); - - public void testCreateIPForwardingRuleForVirtualMachine() throws SecurityException, NoSuchMethodException, - IOException { - Invokable<?, ?> method = method(NATApi.class, "createIPForwardingRule", String.class, String.class, int.class, - CreateIPForwardingRuleOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(7, "tcp", 22)); - - assertRequestLineEquals(httpRequest, createIpForwardingRule.getRequestLine()); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - HttpRequest createIpForwardingRuleOptions = HttpRequest.builder().method("GET") - .endpoint("http://localhost:8080/client/api") - .addQueryParam("response", "json") - .addQueryParam("command", "createIpForwardingRule") - .addQueryParam("ipaddressid", "7") - .addQueryParam("protocol", "tcp") - .addQueryParam("startport", "22") - .addQueryParam("endport", "22").build(); - - public void testCreateIPForwardingRuleForVirtualMachineOptions() throws SecurityException, NoSuchMethodException, - IOException { - Invokable<?, ?> method = method(NATApi.class, "createIPForwardingRule", String.class, String.class, int.class, - CreateIPForwardingRuleOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(7, "tcp", 22, - CreateIPForwardingRuleOptions.Builder.endPort(22))); - - assertRequestLineEquals(httpRequest, createIpForwardingRuleOptions.getRequestLine()); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - public void testEnableStaticNATForVirtualMachine() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NATApi.class, "enableStaticNATForVirtualMachine", String.class, String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5, 6)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=enableStaticNat&virtualmachineid=5&ipaddressid=6 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - public void testDisableStaticNATOnPublicIP() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NATApi.class, "disableStaticNATOnPublicIP", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=disableStaticNat&ipaddressid=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - public void testDeleteIPForwardingRule() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NATApi.class, "deleteIPForwardingRule", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=deleteIpForwardingRule&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiLiveTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiLiveTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiLiveTest.java deleted file mode 100644 index 23978c9..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiLiveTest.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static com.google.common.collect.Iterables.find; -import static com.google.common.collect.Iterables.get; -import static com.google.common.collect.Iterables.getOnlyElement; -import static org.jclouds.cloudstack.options.CreateNetworkOptions.Builder.vlan; -import static org.jclouds.cloudstack.options.ListNetworkOfferingsOptions.Builder.specifyVLAN; -import static org.jclouds.cloudstack.options.ListNetworksOptions.Builder.accountInDomain; -import static org.jclouds.cloudstack.options.ListNetworksOptions.Builder.id; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertTrue; - -import java.net.URI; -import java.util.NoSuchElementException; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.jclouds.cloudstack.domain.GuestIPType; -import org.jclouds.cloudstack.domain.Network; -import org.jclouds.cloudstack.domain.NetworkOffering; -import org.jclouds.cloudstack.domain.Zone; -import org.jclouds.cloudstack.internal.BaseCloudStackApiLiveTest; -import org.jclouds.cloudstack.predicates.NetworkOfferingPredicates; -import org.jclouds.cloudstack.predicates.ZonePredicates; -import org.testng.annotations.BeforeGroups; -import org.testng.annotations.Test; - -/** - * Tests behavior of {@code NetworkApiLiveTest} - */ -@Test(groups = "live", singleThreaded = true, testName = "NetworkApiLiveTest") -public class NetworkApiLiveTest extends BaseCloudStackApiLiveTest { - - private boolean networksSupported; - private Zone zone; - - @BeforeGroups(groups = "live") - public void setupContext() { - super.setupContext(); - - try { - zone = find(client.getZoneApi().listZones(), ZonePredicates.supportsAdvancedNetworks()); - networksSupported = true; - } catch (NoSuchElementException e) { - } - } - - @Test - public void testCreateGuestVirtualNetwork() { - if (!networksSupported) - return; - final NetworkOffering offering; - try { - offering = find(client.getOfferingApi().listNetworkOfferings(), - NetworkOfferingPredicates.supportsGuestVirtualNetworks()); - - } catch (NoSuchElementException e) { - Logger.getAnonymousLogger().log(Level.SEVERE, "guest networks not supported, skipping test"); - return; - } - String name = prefix + "-virtual"; - - Network network = null; - try { - network = client.getNetworkApi().createNetworkInZone(zone.getId(), offering.getId(), name, name); - checkNetwork(network); - } catch (IllegalStateException e) { - Logger.getAnonymousLogger().log(Level.SEVERE, "couldn't create a network, skipping test", e); - } finally { - if (network != null) { - String jobId = client.getNetworkApi().deleteNetwork(network.getId()); - if (jobId != null) - jobComplete.apply(jobId); - } - } - } - - @Test - public void testCreateVLANNetwork() { - skipIfNotDomainAdmin(); - if (!networksSupported) - return; - - final NetworkOffering offering; - try { - offering = get( - cloudStackContext.getApi().getOfferingApi().listNetworkOfferings(specifyVLAN(true).zoneId(zone.getId())), 0); - } catch (NoSuchElementException e) { - Logger.getAnonymousLogger().log(Level.SEVERE, "VLAN networks not supported, skipping test"); - return; - } - String name = prefix + "-vlan"; - - Network network = null; - try { - network = domainAdminClient - .getNetworkApi() - // startIP/endIP/netmask/gateway must be specified together - .createNetworkInZone(zone.getId(), offering.getId(), name, name, - vlan("65").startIP("192.168.1.2").netmask("255.255.255.0").gateway("192.168.1.1")); - checkNetwork(network); - } catch (IllegalStateException e) { - Logger.getAnonymousLogger().log(Level.SEVERE, "couldn't create a network, skipping test", e); - } finally { - if (network != null) { - String jobId = adminClient.getNetworkApi().deleteNetwork(network.getId()); - if (jobId != null) - adminJobComplete.apply(jobId); - } - } - } - - @Test - public void testListNetworks() throws Exception { - if (!networksSupported) - return; - Set<Network> response = client.getNetworkApi().listNetworks( - accountInDomain(user.getAccount(), user.getDomainId())); - assert null != response; - long networkCount = response.size(); - assertTrue(networkCount >= 0); - for (Network network : response) { - Network newDetails = getOnlyElement(client.getNetworkApi().listNetworks(id(network.getId()))); - assertEquals(network, newDetails); - assertEquals(network, client.getNetworkApi().getNetwork(network.getId())); - checkNetwork(network); - } - } - - private void checkNetwork(Network network) { - assert network.getId() != null : network; - assert network.getName() != null : network; - assert network.getDNS().size() != 0 : network; - assert network.getGuestIPType() != null && network.getGuestIPType() != GuestIPType.UNRECOGNIZED : network; - assert network.getBroadcastDomainType() != null : network; - assert network.getDisplayText() != null : network; - // Network domain can be null sometimes - // assert network.getNetworkDomain() != null : network; - assert network.getNetworkOfferingAvailability() != null : network; - assert network.getNetworkOfferingDisplayText() != null : network; - assert network.getNetworkOfferingId() != null : network; - assert network.getNetworkOfferingName() != null : network; - assert network.getRelated() != null : network; - assert network.getServices().size() != 0 : network; - assert network.getState() != null : network; - assert network.getTrafficType() != null : network; - assert network.getZoneId() != null : network; - assert network.getDomain() != null : network; - switch (network.getGuestIPType()) { - case VIRTUAL: - assert network.getNetmask() == null : network; - assert network.getGateway() == null : network; - assert network.getVLAN() == null : network; - assert network.getStartIP() == null : network; - assert network.getEndIP() == null : network; - break; - case DIRECT: - // TODO: I've found a network that doesn't have a netmask associated - assert network.getNetmask() != null : network; - assert network.getGateway() != null : network; - assert network.getVLAN() != null : network; - assertEquals(network.getBroadcastURI(), URI.create("vlan://" + network.getVLAN())); - assert network.getStartIP() != null : network; - assert network.getEndIP() != null : network; - break; - } - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiTest.java deleted file mode 100644 index b53fc5f..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/NetworkApiTest.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.jclouds.reflect.Reflection2.method; - -import java.io.IOException; - -import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.cloudstack.domain.NetworkType; -import org.jclouds.cloudstack.internal.BaseCloudStackApiTest; -import org.jclouds.cloudstack.options.CreateNetworkOptions; -import org.jclouds.cloudstack.options.ListNetworksOptions; -import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions; -import org.jclouds.functions.IdentityFunction; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.functions.ParseFirstJsonValueNamed; -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.testng.annotations.Test; - -import com.google.common.base.Functions; -import com.google.common.collect.ImmutableList; -import com.google.common.reflect.Invokable; -/** - * Tests behavior of {@code NetworkApi} - */ -// NOTE:without testName, this will not call @Before* and fail w/NPE during -// surefire -@Test(groups = "unit", testName = "NetworkApiTest") -public class NetworkApiTest extends BaseCloudStackApiTest<NetworkApi> { - public void testListNetworks() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NetworkApi.class, "listNetworks", ListNetworksOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listNetworks&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListNetworksOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NetworkApi.class, "listNetworks", ListNetworksOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(ListNetworksOptions.Builder.type(NetworkType.ADVANCED) - .domainId("6").id("5"))); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listNetworks&listAll=true&type=Advanced&domainid=6&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testGetNetwork() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NetworkApi.class, "getNetwork", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("id")); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listNetworks&listAll=true&id=id HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, - Functions.compose(IdentityFunction.INSTANCE, IdentityFunction.INSTANCE).getClass()); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - HttpRequest createNetwork = HttpRequest.builder().method("GET") - .endpoint("http://localhost:8080/client/api") - .addQueryParam("response", "json") - .addQueryParam("command", "createNetwork") - .addQueryParam("zoneid", "1") - .addQueryParam("networkofferingid", "2") - .addQueryParam("name", "named") - .addQueryParam("displaytext", "lovely").build(); - - public void testCreateNetworkInZone() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NetworkApi.class, "createNetworkInZone", String.class, String.class, String.class, - String.class, CreateNetworkOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(1, 2, "named", "lovely")); - - assertRequestLineEquals(httpRequest, createNetwork.getRequestLine()); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - HttpRequest createNetworkOptions = HttpRequest.builder().method("GET") - .endpoint("http://localhost:8080/client/api") - .addQueryParam("response", "json") - .addQueryParam("command", "createNetwork") - .addQueryParam("zoneid", "1") - .addQueryParam("networkofferingid", "2") - .addQueryParam("name", "named") - .addQueryParam("displaytext", "lovely") - .addQueryParam("netmask", "255.255.255.0") - .addQueryParam("domainid", "6").build(); - - public void testCreateNetworkInZoneOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NetworkApi.class, "createNetworkInZone", String.class, String.class, String.class, - String.class, CreateNetworkOptions[].class); - - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(1, 2, "named", "lovely", CreateNetworkOptions.Builder - .netmask("255.255.255.0").domainId("6"))); - - assertRequestLineEquals(httpRequest, createNetworkOptions.getRequestLine()); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class); - - checkFilters(httpRequest); - - } - - public void testDeleteNetwork() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(NetworkApi.class, "deleteNetwork", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(5)); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=deleteNetwork&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiLiveTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiLiveTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiLiveTest.java deleted file mode 100644 index 2bbdf20..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiLiveTest.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertTrue; - -import java.util.NoSuchElementException; -import java.util.Set; - -import org.jclouds.cloudstack.domain.DiskOffering; -import org.jclouds.cloudstack.domain.NetworkOffering; -import org.jclouds.cloudstack.domain.ServiceOffering; -import org.jclouds.cloudstack.domain.StorageType; -import org.jclouds.cloudstack.domain.TrafficType; -import org.jclouds.cloudstack.internal.BaseCloudStackApiLiveTest; -import org.jclouds.cloudstack.options.ListDiskOfferingsOptions; -import org.jclouds.cloudstack.options.ListNetworkOfferingsOptions; -import org.jclouds.cloudstack.options.ListServiceOfferingsOptions; -import org.testng.annotations.Test; - -import com.google.common.base.Predicates; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; - -/** - * Tests behavior of {@code OfferingApi} - */ -@Test(groups = "live", singleThreaded = true, testName = "OfferingApiLiveTest") -public class OfferingApiLiveTest extends BaseCloudStackApiLiveTest { - - public void testListDiskOfferings() throws Exception { - Set<DiskOffering> response = client.getOfferingApi().listDiskOfferings(); - assert null != response; - long offeringCount = response.size(); - assertTrue(offeringCount >= 0); - for (DiskOffering offering : response) { - try { - DiskOffering newDetails = Iterables.getOnlyElement(client.getOfferingApi().listDiskOfferings( - ListDiskOfferingsOptions.Builder.id(offering.getId()))); - assertEquals(offering, newDetails); - assertEquals(offering, client.getOfferingApi().getDiskOffering(offering.getId())); - assert offering.getId() != null : offering; - assert offering.getName() != null : offering; - assert offering.getCreated() != null : offering; - assert offering.getDisplayText() != null : offering; - assert offering.getDiskSize() > 0 || (offering.getDiskSize() == 0 && offering.isCustomized()) : offering; - assert offering.getTags() != null : offering; - - } catch (NoSuchElementException e) { - // This bug is present both in 2.2.8 and 2.2.12 - assertTrue(Predicates.in(ImmutableSet.of("2.2.8", "2.2.12")).apply(apiVersion)); - } - } - } - - public void testListServiceOfferings() throws Exception { - Set<ServiceOffering> response = client.getOfferingApi().listServiceOfferings(); - assert null != response; - long offeringCount = response.size(); - assertTrue(offeringCount >= 0); - for (ServiceOffering offering : response) { - ServiceOffering newDetails = Iterables.getOnlyElement(client.getOfferingApi().listServiceOfferings( - ListServiceOfferingsOptions.Builder.id(offering.getId()))); - assertEquals(offering, newDetails); - - assert offering.getId() != null : offering; - assert offering.getName() != null : offering; - assert offering.getDisplayText() != null : offering; - assert offering.getCpuNumber() > 0 : offering; - assert offering.getCpuSpeed() > 0 : offering; - assert offering.getMemory() > 0 : offering; - assert offering.getStorageType() != null && StorageType.UNRECOGNIZED != offering.getStorageType() : offering; - assert offering.getTags() != null : offering; - } - } - - public void testListNetworkOfferings() throws Exception { - Set<NetworkOffering> response = client.getOfferingApi().listNetworkOfferings(); - assert null != response; - long offeringCount = response.size(); - assertTrue(offeringCount >= 0); - for (NetworkOffering offering : response) { - NetworkOffering newDetails = Iterables.getOnlyElement(client.getOfferingApi().listNetworkOfferings( - ListNetworkOfferingsOptions.Builder.id(offering.getId()))); - assertEquals(offering, newDetails); - assertEquals(offering, client.getOfferingApi().getNetworkOffering(offering.getId())); - assert offering.getId() != null : offering; - assert offering.getName() != null : offering; - assert offering.getDisplayText() != null : offering; - assert offering.getMaxConnections() == null || offering.getMaxConnections() > 0 : offering; - assert offering.getTrafficType() != null && TrafficType.UNRECOGNIZED != offering.getTrafficType() : offering; - assert offering.getTags() != null : offering; - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiTest.java deleted file mode 100644 index 6315fea..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/OfferingApiTest.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.jclouds.cloudstack.domain.NetworkOfferingAvailabilityType.DEFAULT; -import static org.jclouds.reflect.Reflection2.method; - -import java.io.IOException; - -import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.cloudstack.internal.BaseCloudStackApiTest; -import org.jclouds.cloudstack.options.ListDiskOfferingsOptions; -import org.jclouds.cloudstack.options.ListNetworkOfferingsOptions; -import org.jclouds.cloudstack.options.ListServiceOfferingsOptions; -import org.jclouds.functions.IdentityFunction; -import org.jclouds.http.functions.ParseFirstJsonValueNamed; -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.testng.annotations.Test; - -import com.google.common.base.Functions; -import com.google.common.collect.ImmutableList; -import com.google.common.reflect.Invokable; -/** - * Tests behavior of {@code OfferingApi} - */ -// NOTE:without testName, this will not call @Before* and fail w/NPE during -// surefire -@Test(groups = "unit", testName = "OfferingApiTest") -public class OfferingApiTest extends BaseCloudStackApiTest<OfferingApi> { - public void testListDiskOfferings() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "listDiskOfferings", ListDiskOfferingsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listDiskOfferings&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListDiskOfferingsOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "listDiskOfferings", ListDiskOfferingsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(ListDiskOfferingsOptions.Builder.domainId("6").id("5"))); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listDiskOfferings&listAll=true&domainid=6&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testGetDiskOffering() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "getDiskOffering", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("5")); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listDiskOfferings&listAll=true&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, - Functions.compose(IdentityFunction.INSTANCE, IdentityFunction.INSTANCE).getClass()); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListNetworkOfferings() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "listNetworkOfferings", ListNetworkOfferingsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listNetworkOfferings&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListNetworkOfferingsOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "listNetworkOfferings", ListNetworkOfferingsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of( - ListNetworkOfferingsOptions.Builder.availability(DEFAULT).isShared(true).id("6"))); - - assertRequestLineEquals( - httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listNetworkOfferings&listAll=true&availability=Default&isshared=true&id=6 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testGetNetworkOffering() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "getNetworkOffering", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("5")); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listNetworkOfferings&listAll=true&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, - Functions.compose(IdentityFunction.INSTANCE, IdentityFunction.INSTANCE).getClass()); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListServiceOfferings() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "listServiceOfferings", ListServiceOfferingsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listServiceOfferings&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListServiceOfferingsOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "listServiceOfferings", ListServiceOfferingsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(ListServiceOfferingsOptions.Builder.virtualMachineId("4") - .domainId("5").id("6"))); - - assertRequestLineEquals( - httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listServiceOfferings&listAll=true&virtualmachineid=4&domainid=5&id=6 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testGetServiceOffering() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(OfferingApi.class, "getServiceOffering", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("5")); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listServiceOfferings&listAll=true&id=5 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, - Functions.compose(IdentityFunction.INSTANCE, IdentityFunction.INSTANCE).getClass()); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiExpectTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiExpectTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiExpectTest.java deleted file mode 100644 index b7665be..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiExpectTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.testng.Assert.assertEquals; - -import java.util.Set; - -import org.jclouds.cloudstack.CloudStackContext; -import org.jclouds.cloudstack.domain.Project; -import org.jclouds.cloudstack.internal.BaseCloudStackExpectTest; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpResponse; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableSet; - -/** - * Test the CloudStack ProjectApi - */ -@Test(groups = "unit", testName = "ProjectApiExpectTest") -public class ProjectApiExpectTest extends BaseCloudStackExpectTest<ProjectApi> { - - - public void testListProjectsWhenResponseIs2xx() { - - ProjectApi client = requestSendsResponse( - HttpRequest.builder() - .method("GET") - .endpoint("http://localhost:8080/client/api?response=json&command=listProjects&listAll=true&apiKey=identity&signature=vtCqaYXfXttr6mD18Es0e22QBIQ%3D") - .addHeader("Accept", "application/json") - .build(), - HttpResponse.builder() - .statusCode(200) - .payload(payloadFromResource("/listprojectsresponse.json")) - .build()); - - Set<Project> projects = ImmutableSet.of( - Project.builder() - .id("489da162-0b77-489d-b044-ce39aa018b1f") - .account("thyde") - .displayText("") - .domain("ROOT") - .domainId("41a4917b-7952-499d-ba7f-4c57464d3dc8") - .name("NN-HA-T1") - .state(Project.State.ACTIVE).build(), - Project.builder() - .id("1c11f22c-15ac-4fa7-b833-4d748df317b7") - .account("prasadm") - .displayText("Hive") - .domain("ROOT") - .domainId("41a4917b-7952-499d-ba7f-4c57464d3dc8") - .name("hive") - .state(Project.State.ACTIVE).build()); - - assertEquals(client.listProjects(), projects); - } - - @Override - protected ProjectApi clientFrom(CloudStackContext context) { - return context.getApi().getProjectApi(); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiLiveTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiLiveTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiLiveTest.java deleted file mode 100644 index 071c9d9..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiLiveTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotEquals; -import static org.testng.Assert.assertNotNull; - -import org.jclouds.cloudstack.domain.Project; -import org.jclouds.cloudstack.internal.BaseCloudStackApiLiveTest; -import org.testng.annotations.Test; - -/** - * Tests behavior of {@code ProjectApi} - */ -@Test(groups = "live", singleThreaded = true, testName = "ProjectApiLiveTest") -public class ProjectApiLiveTest extends BaseCloudStackApiLiveTest { - - @Test - public void testListAccounts() throws Exception { - for (Project project : client.getProjectApi().listProjects()) - checkProject(project); - } - - protected void checkProject(Project project) { - assertNotNull(project.getId()); - assertEquals(project.toString(), client.getProjectApi().getProject(project.getId()).toString()); - assertNotNull(project.getState()); - assertNotEquals(project.getState(), Project.State.UNRECOGNIZED); - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiTest.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiTest.java deleted file mode 100644 index 6b06c93..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/test/java/org/jclouds/cloudstack/features/ProjectApiTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.cloudstack.features; -import static org.jclouds.reflect.Reflection2.method; - -import java.io.IOException; - -import org.jclouds.Fallbacks.EmptySetOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.cloudstack.internal.BaseCloudStackApiTest; -import org.jclouds.cloudstack.options.ListProjectsOptions; -import org.jclouds.functions.IdentityFunction; -import org.jclouds.http.functions.ParseFirstJsonValueNamed; -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.testng.annotations.Test; - -import com.google.common.base.Functions; -import com.google.common.collect.ImmutableList; -import com.google.common.reflect.Invokable; - -/** - * Tests behavior of {@code ProjectApi} - */ -// NOTE:without testName, this will not call @Before* and fail w/NPE during -// surefire -@Test(groups = "unit", testName = "ProjectApiTest") -public class ProjectApiTest extends BaseCloudStackApiTest<ProjectApi> { - - public void testListProjects() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(ProjectApi.class, "listProjects", ListProjectsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of()); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listProjects&listAll=true HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testListProjectsOptions() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(ProjectApi.class, "listProjects", ListProjectsOptions[].class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of( - ListProjectsOptions.Builder.accountInDomain("jclouds", "123"))); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listProjects&listAll=true&account=jclouds&domainid=123 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, EmptySetOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - - public void testGetAccount() throws SecurityException, NoSuchMethodException, IOException { - Invokable<?, ?> method = method(ProjectApi.class, "getProject", String.class); - GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("3")); - - assertRequestLineEquals(httpRequest, - "GET http://localhost:8080/client/api?response=json&command=listProjects&listAll=true&id=3 HTTP/1.1"); - assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n"); - assertPayloadEquals(httpRequest, null, null, false); - - assertResponseParserClassEquals(method, httpRequest, - Functions.compose(IdentityFunction.INSTANCE, IdentityFunction.INSTANCE).getClass()); - assertSaxResponseParserClassEquals(method, null); - assertFallbackClassEquals(method, NullOnNotFoundOr404.class); - - checkFilters(httpRequest); - - } - -}
