http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppParamsToXmlPayloadTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppParamsToXmlPayloadTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppParamsToXmlPayloadTest.java deleted file mode 100644 index 8d6042d..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppParamsToXmlPayloadTest.java +++ /dev/null @@ -1,79 +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.vcloud.binders; - -import static org.testng.Assert.assertEquals; - -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.jclouds.util.Strings2; -import org.jclouds.vcloud.internal.BasePayloadTest; -import org.jclouds.vcloud.options.CloneVAppOptions; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableMap.Builder; - -/** - * Tests behavior of {@code BindCloneVAppParamsToXmlPayload} - */ -@Test(groups = "unit") -public class BindCloneVAppParamsToXmlPayloadTest extends BasePayloadTest { - - public void testWithDescriptionDeployOn() throws Exception { - String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/copyVApp.xml")); - - CloneVAppOptions options = new CloneVAppOptions().deploy().powerOn().description( - "The description of the new vApp"); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(options)); - - BindCloneVAppParamsToXmlPayload binder = injector.getInstance(BindCloneVAppParamsToXmlPayload.class); - - Builder<String, Object> map = ImmutableMap.builder(); - map.put("name", "new-linux-server"); - map.put("Source", "https://vcenterprise.bluelock.com/api/v1.0/vapp/201"); - assertEquals(binder.bindToRequest(request, map.build()).getPayload().getRawContent(), expected); - } - - public void testWithDescriptionDeployOnSourceDelete() throws Exception { - String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/moveVApp.xml")); - - CloneVAppOptions options = new CloneVAppOptions().deploy().powerOn().description( - "The description of the new vApp"); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(options)); - - BindCloneVAppParamsToXmlPayload binder = injector.getInstance(BindCloneVAppParamsToXmlPayload.class); - - Builder<String, Object> map = ImmutableMap.builder(); - map.put("name", "new-linux-server"); - map.put("Source", "https://vcenterprise.bluelock.com/api/v1.0/vapp/201"); - map.put("IsSourceDelete", "true"); - assertEquals(binder.bindToRequest(request, map.build()).getPayload().getRawContent(), expected); - } - - public void testDefault() throws Exception { - String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/copyVApp-default.xml")); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindCloneVAppParamsToXmlPayload binder = injector.getInstance(BindCloneVAppParamsToXmlPayload.class); - - Builder<String, Object> map = ImmutableMap.builder(); - map.put("name", "my-vapp"); - map.put("Source", "https://vcenterprise.bluelock.com/api/v1.0/vapp/4181"); - assertEquals(binder.bindToRequest(request, map.build()).getPayload().getRawContent(), expected); - } -}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppTemplateParamsToXmlPayloadTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppTemplateParamsToXmlPayloadTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppTemplateParamsToXmlPayloadTest.java deleted file mode 100644 index 73d6342..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindCloneVAppTemplateParamsToXmlPayloadTest.java +++ /dev/null @@ -1,87 +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.vcloud.binders; - -import static org.jclouds.util.Strings2.toStringAndClose; -import static org.testng.Assert.assertEquals; - -import java.io.IOException; - -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.jclouds.vcloud.internal.BasePayloadTest; -import org.jclouds.vcloud.options.CloneVAppTemplateOptions; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableMap.Builder; - -/** - * Tests behavior of {@code BindCloneVAppTemplateParamsToXmlPayload} - */ -@Test(groups = "unit") -public class BindCloneVAppTemplateParamsToXmlPayloadTest extends BasePayloadTest { - public void testWithDescription() throws IOException { - String expected = toStringAndClose(getClass().getResourceAsStream("/copyVAppTemplate.xml")); - - CloneVAppTemplateOptions options = new CloneVAppTemplateOptions() - .description("The description of the new vAppTemplate"); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(options)); - - BindCloneVAppTemplateParamsToXmlPayload binder = injector - .getInstance(BindCloneVAppTemplateParamsToXmlPayload.class); - - Builder<String, Object> map = ImmutableMap.builder(); - map.put("name", "new-linux-server"); - map.put("Source", "https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/201"); - - assertEquals(binder.bindToRequest(request, map.build()).getPayload().getRawContent(), expected); - } - - public void testWithDescriptionSourceDelete() throws IOException { - String expected = toStringAndClose(getClass().getResourceAsStream("/moveVAppTemplate.xml")); - - CloneVAppTemplateOptions options = new CloneVAppTemplateOptions() - .description("The description of the new vAppTemplate"); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(options)); - - BindCloneVAppTemplateParamsToXmlPayload binder = injector - .getInstance(BindCloneVAppTemplateParamsToXmlPayload.class); - - Builder<String, Object> map = ImmutableMap.builder(); - map.put("name", "new-linux-server"); - map.put("Source", "https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/201"); - map.put("IsSourceDelete", "true"); - - assertEquals(binder.bindToRequest(request, map.build()).getPayload().getRawContent(), expected); - } - - public void testDefault() throws IOException { - String expected = toStringAndClose(getClass().getResourceAsStream("/copyVAppTemplate-default.xml")); - - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindCloneVAppTemplateParamsToXmlPayload binder = injector - .getInstance(BindCloneVAppTemplateParamsToXmlPayload.class); - - Builder<String, Object> map = ImmutableMap.builder(); - map.put("name", "my-vapptemplate"); - map.put("Source", "https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/4181"); - - assertEquals(binder.bindToRequest(request, map.build()).getPayload().getRawContent(), expected); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindDeployVAppParamsToXmlPayloadTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindDeployVAppParamsToXmlPayloadTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindDeployVAppParamsToXmlPayloadTest.java deleted file mode 100644 index f145e97..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindDeployVAppParamsToXmlPayloadTest.java +++ /dev/null @@ -1,59 +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.vcloud.binders; - -import static org.testng.Assert.assertEquals; - -import java.io.IOException; -import java.util.Map; - -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.jclouds.vcloud.internal.BasePayloadTest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Maps; - -/** - * Tests behavior of {@code BindDeployVAppParamsToXmlPayload} - */ -@Test(groups = "unit") -public class BindDeployVAppParamsToXmlPayloadTest extends BasePayloadTest { - - public void testPowerOnTrue() throws IOException { - String expected = "<DeployVAppParams xmlns=\"http://www.vmware.com/vcloud/v1\" powerOn=\"true\"/>"; - - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindDeployVAppParamsToXmlPayload binder = injector.getInstance(BindDeployVAppParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - map.put("powerOn", "true"); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } - - public void testDefault() throws IOException { - String expected = "<DeployVAppParams xmlns=\"http://www.vmware.com/vcloud/v1\"/>"; - - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindDeployVAppParamsToXmlPayload binder = injector.getInstance(BindDeployVAppParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java deleted file mode 100644 index ead0bad..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayloadTest.java +++ /dev/null @@ -1,177 +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.vcloud.binders; - -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.replay; -import static org.jclouds.vcloud.options.InstantiateVAppTemplateOptions.Builder.addNetworkConfig; -import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_FENCEMODE; -import static org.testng.Assert.assertEquals; - -import java.io.IOException; -import java.net.URI; -import java.util.Map; - -import javax.inject.Named; -import javax.inject.Singleton; - -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.jclouds.util.Strings2; -import org.jclouds.vcloud.VCloudApiMetadata; -import org.jclouds.vcloud.domain.ReferenceType; -import org.jclouds.vcloud.domain.VAppTemplate; -import org.jclouds.vcloud.domain.internal.ReferenceTypeImpl; -import org.jclouds.vcloud.domain.network.FenceMode; -import org.jclouds.vcloud.domain.network.NetworkConfig; -import org.jclouds.vcloud.endpoints.Network; -import org.jclouds.vcloud.internal.BasePayloadTest; -import org.jclouds.vcloud.options.InstantiateVAppTemplateOptions; -import org.nnsoft.guice.rocoto.Rocoto; -import org.nnsoft.guice.rocoto.configuration.ConfigurationModule; -import org.testng.annotations.Test; - -import com.google.common.base.Function; -import com.google.common.base.Functions; -import com.google.common.base.Supplier; -import com.google.common.base.Suppliers; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.Provides; - -/** - * Tests behavior of {@code BindInstantiateVAppTemplateParamsToXmlPayload} - */ -@Test(groups = "unit") -public class BindInstantiateVAppTemplateParamsToXmlPayloadTest extends BasePayloadTest { - Injector createInjector(final URI vAppTemplate, final VAppTemplate value) { - - return Guice.createInjector(Rocoto.expandVariables(new ConfigurationModule() { - - @Provides - @Singleton - @Network - protected Function<VAppTemplate, String> templateToDefaultNetworkName() { - return Functions.forMap(ImmutableMap.of(value, "vAppNet-vApp Internal")); - } - - @Provides - @Singleton - protected LoadingCache<URI, VAppTemplate> templateIdToVAppTemplate() { - return CacheBuilder.newBuilder().build( - CacheLoader.from(Functions.forMap(ImmutableMap.of(vAppTemplate, value)))); - } - - @Override - protected void bindConfigurations() { - bindProperties(new VCloudApiMetadata().getDefaultProperties()); - } - - @Provides - @Singleton - public FenceMode defaultFenceMode(@Named(PROPERTY_VCLOUD_DEFAULT_FENCEMODE) String fenceMode) { - return FenceMode.fromValue(fenceMode); - } - - @Network - @Provides - @Singleton - Supplier<ReferenceType> provideNetwork() { - return Suppliers.<ReferenceType>ofInstance(new ReferenceTypeImpl(null, null, URI - .create("https://vcenterprise.bluelock.com/api/v1.0/network/1990"))); - } - })); - } - - public void testDefault() throws IOException { - URI templateUri = URI.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/3"); - VAppTemplate template = createMock(VAppTemplate.class); - replay(template); - - String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/instantiationparams.xml")); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(new InstantiateVAppTemplateOptions())); - - BindInstantiateVAppTemplateParamsToXmlPayload binder = createInjector(templateUri, template).getInstance( - BindInstantiateVAppTemplateParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - map.put("name", "my-vapp"); - map.put("template", templateUri.toASCIIString()); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } - - public void testDescription() throws IOException { - URI templateUri = URI.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/3"); - VAppTemplate template = createMock(VAppTemplate.class); - replay(template); - - String expected = Strings2.toStringAndClose(getClass() - .getResourceAsStream("/instantiationparams-description.xml")); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(new InstantiateVAppTemplateOptions().description("my foo"))); - - BindInstantiateVAppTemplateParamsToXmlPayload binder = createInjector(templateUri, template).getInstance( - BindInstantiateVAppTemplateParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - map.put("name", "my-vapp"); - map.put("template", templateUri.toASCIIString()); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } - - public void testWhenTemplateDoesntExist() throws IOException { - URI templateUri = URI.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/3"); - VAppTemplate template = createMock(VAppTemplate.class); - replay(template); - - String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/instantiationparams.xml")); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindInstantiateVAppTemplateParamsToXmlPayload binder = createInjector(templateUri, template).getInstance( - BindInstantiateVAppTemplateParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - map.put("name", "my-vapp"); - map.put("template", templateUri.toASCIIString()); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } - - public void testWithNetworkNameFenceMode() throws IOException { - URI templateUri = URI.create("https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/3"); - VAppTemplate template = createMock(VAppTemplate.class); - replay(template); - - InstantiateVAppTemplateOptions options = addNetworkConfig(new NetworkConfig("aloha", URI - .create("https://vcenterprise.bluelock.com/api/v1.0/network/1991"), FenceMode.NAT_ROUTED)); - - String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/instantiationparams-network.xml")); - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(options)); - - BindInstantiateVAppTemplateParamsToXmlPayload binder = createInjector(templateUri, template).getInstance( - BindInstantiateVAppTemplateParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - map.put("name", "my-vapp"); - map.put("template", "https://vcenterprise.bluelock.com/api/v1.0/vAppTemplate/3"); - - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindNetworkConnectionSectionToXmlPayloadTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindNetworkConnectionSectionToXmlPayloadTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindNetworkConnectionSectionToXmlPayloadTest.java deleted file mode 100644 index 77059b0..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindNetworkConnectionSectionToXmlPayloadTest.java +++ /dev/null @@ -1,66 +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.vcloud.binders; - -import static org.testng.Assert.assertEquals; - -import java.io.IOException; -import java.net.URI; - -import org.jclouds.http.HttpRequest; -import org.jclouds.vcloud.domain.NetworkConnection; -import org.jclouds.vcloud.domain.NetworkConnectionSection; -import org.jclouds.vcloud.domain.network.IpAddressAllocationMode; -import org.jclouds.vcloud.internal.BasePayloadTest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableSet; - -/** - * Tests behavior of {@code BindNetworkConnectionSectionToXmlPayload} - */ -@Test(groups = "unit", testName = "BindNetworkConnectionSectionToXmlPayloadTest") -public class BindNetworkConnectionSectionToXmlPayloadTest extends BasePayloadTest { - - public void testWithIpAllocationModeNONE() throws IOException { - - HttpRequest request = HttpRequest.builder().endpoint("http://localhost/key").method("GET") - .build(); - - BindNetworkConnectionSectionToXmlPayload binder = injector - .getInstance(BindNetworkConnectionSectionToXmlPayload.class); - - binder.bindToRequest( - request, - NetworkConnectionSection - .builder() - .type("application/vnd.vmware.vcloud.networkConnectionSection+xml") - .info("Specifies the available VM network connections") - .href(URI.create("https://1.1.1.1/api/v1.0/vApp/vm-1/networkConnectionSection/")) - .connections( - ImmutableSet.<NetworkConnection> of(NetworkConnection.builder().network("none") - .ipAddressAllocationMode(IpAddressAllocationMode.NONE).build())).build()); - assertEquals(request.getPayload().getContentMetadata().getContentType(), - "application/vnd.vmware.vcloud.networkConnectionSection+xml"); - - assertEquals( - request.getPayload().getRawContent(), - "<NetworkConnectionSection xmlns=\"http://www.vmware.com/vcloud/v1\" xmlns:ovf=\"http://schemas.dmtf.org/ovf/envelope/1\" href=\"https://1.1.1.1/api/v1.0/vApp/vm-1/networkConnectionSection/\" ovf:required=\"false\" type=\"application/vnd.vmware.vcloud.networkConnectionSection+xml\"><ovf:Info>Specifies the available VM network connections</ovf:Info><NetworkConnection network=\"none\"><NetworkConnectionIndex>0</NetworkConnectionIndex><IsConnected>false</IsConnected><IpAddressAllocationMode>NONE</IpAddressAllocationMode></NetworkConnection></NetworkConnectionSection>"); - - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindUndeployVAppParamsToXmlPayloadTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindUndeployVAppParamsToXmlPayloadTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindUndeployVAppParamsToXmlPayloadTest.java deleted file mode 100644 index 59a4141..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/binders/BindUndeployVAppParamsToXmlPayloadTest.java +++ /dev/null @@ -1,59 +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.vcloud.binders; - -import static org.testng.Assert.assertEquals; - -import java.io.IOException; -import java.util.Map; - -import org.jclouds.rest.internal.GeneratedHttpRequest; -import org.jclouds.vcloud.internal.BasePayloadTest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Maps; - -/** - * Tests behavior of {@code BindUndeployVAppParamsToXmlPayload} - */ -@Test(groups = "unit") -public class BindUndeployVAppParamsToXmlPayloadTest extends BasePayloadTest { - - public void testSaveStateTrue() throws IOException { - String expected = "<UndeployVAppParams xmlns=\"http://www.vmware.com/vcloud/v1\" saveState=\"true\"/>"; - - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindUndeployVAppParamsToXmlPayload binder = injector.getInstance(BindUndeployVAppParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - map.put("saveState", "true"); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } - - public void testDefault() throws IOException { - String expected = "<UndeployVAppParams xmlns=\"http://www.vmware.com/vcloud/v1\"/>"; - - GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of()); - - BindUndeployVAppParamsToXmlPayload binder = injector.getInstance(BindUndeployVAppParamsToXmlPayload.class); - - Map<String, Object> map = Maps.newHashMap(); - assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/BaseVCloudComputeServiceExpectTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/BaseVCloudComputeServiceExpectTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/BaseVCloudComputeServiceExpectTest.java deleted file mode 100644 index e938600..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/BaseVCloudComputeServiceExpectTest.java +++ /dev/null @@ -1,158 +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.vcloud.compute; - -import java.net.URI; -import java.util.Properties; - -import javax.ws.rs.core.MediaType; - -import org.jclouds.apis.ApiMetadata; -import org.jclouds.compute.ComputeService; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpResponse; -import org.jclouds.rest.internal.BaseRestApiExpectTest; -import org.jclouds.vcloud.VCloudApiMetadata; -import org.jclouds.vcloud.VCloudMediaType; - -import com.google.common.base.Function; -import com.google.common.net.HttpHeaders; -import com.google.inject.Module; - -/** - * Base class for writing VCloud Expect tests for ComputeService operations - */ -public abstract class BaseVCloudComputeServiceExpectTest extends BaseRestApiExpectTest<ComputeService> { - protected static final String ENDPOINT = "https://zone.myvcloud.com/api"; - - protected HttpRequest versionsRequest = HttpRequest.builder().method("GET").endpoint( - URI.create(ENDPOINT + "/versions")).addHeader(HttpHeaders.ACCEPT, "*/*").build(); - - protected HttpResponse versionsResponseFromVCD1_5 = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/versions-vcd15.xml", "text/xml")) - .build(); - - // initial auth is using basic - protected HttpRequest version1_0LoginRequest = HttpRequest.builder().method("POST").endpoint(ENDPOINT + "/v1.0/login") - .addHeader(HttpHeaders.ACCEPT, "application/vnd.vmware.vcloud.session+xml;version=1.0") - .addHeader(HttpHeaders.AUTHORIZATION, "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build(); - - protected String sessionToken = "AtatAgvJMrwOc9pDQq4RRCRLazThpnTKJDxSVH9oB2I="; - - // login response includes a cookie and also a vcloud extended header with the session token in it - // NOTE: vCloud Director 1.5 returns ;version=1.0 on responses to requests made in 1.0 format. - protected HttpResponse successfulVersion1_0LoginResponseFromVCD1_5WithSingleOrg = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/orgList1.0-vcd15.xml", VCloudMediaType.ORGLIST_XML + ";version=1.0")) - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.SET_COOKIE, String.format("vcloud-token=%s; Secure; Path=/", sessionToken)).build(); - - // objects are looked up by id and the format of the id is hex-hyphen - protected String orgId = "c076f90a-397a-49fa-89b8-b294c1599cd0"; - - protected HttpRequest version1_0GetOrgRequest = HttpRequest.builder().method("GET").endpoint(ENDPOINT + "/v1.0/org/" + orgId) - .addHeader(HttpHeaders.ACCEPT, VCloudMediaType.ORG_XML+";version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken).build(); - - protected HttpResponse successfulVersion1_0GetOrgResponseFromVCD1_5WithSingleTasksListVDCAndNetwork = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/org1.0-vcd15.xml", VCloudMediaType.ORG_XML + ";version=1.0")) - .build(); - - protected String catalogId = "3155f393-1e1d-4572-8c9c-d76f72ddb658"; - protected String vdcId = "e9cd3387-ac57-4d27-a481-9bee75e0690f"; - - protected HttpRequest version1_0GetCatalogRequest = HttpRequest.builder().method("GET").endpoint(ENDPOINT + "/v1.0/catalog/" + catalogId) - .addHeader(HttpHeaders.ACCEPT, VCloudMediaType.CATALOG_XML +";version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken).build(); - - protected HttpResponse successfulVersion1_0GetCatalogResponseFromVCD1_5WithSingleTemplate = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/catalog1.0-vcd15.xml", VCloudMediaType.CATALOG_XML + ";version=1.0")) - .build(); - - protected String catalogItemId = "ceb369f7-1d07-4e32-9dbd-ebb5aa6ca55c"; - - protected HttpRequest version1_0GetCatalogItemRequest = HttpRequest.builder().method("GET").endpoint(ENDPOINT + "/v1.0/catalogItem/" + catalogItemId) - .addHeader(HttpHeaders.ACCEPT, VCloudMediaType.CATALOGITEM_XML +";version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken).build(); - - protected HttpResponse successfulVersion1_0GetCatalogItemResponseFromVCD1_5ForTemplate = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/catalogItem1.0-vcd15.xml", VCloudMediaType.CATALOGITEM_XML + ";version=1.0")) - .build(); - - // note vAppTemplate has a prefix in its id - protected String templateId = "vappTemplate-51891b97-c5dd-47dc-a687-aabae354f728"; - - protected HttpRequest version1_0GetVDCRequest = HttpRequest.builder().method("GET").endpoint(ENDPOINT + "/v1.0/vdc/" + vdcId) - .addHeader(HttpHeaders.ACCEPT, VCloudMediaType.VDC_XML +";version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken).build(); - - protected HttpResponse successfulVersion1_0GetVDCResponseFromVCD1_5WithSingleTemplateAndNetwork = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/vdc1.0-vcd15.xml", VCloudMediaType.VDC_XML + ";version=1.0")) - .build(); - - protected String networkId = "b466c0c5-8a5c-4335-b703-a2e2e6b5f3e1"; - - protected HttpRequest version1_0GetVAppTemplateRequest = HttpRequest.builder().method("GET").endpoint(ENDPOINT + "/v1.0/vAppTemplate/" + templateId) - .addHeader(HttpHeaders.ACCEPT, VCloudMediaType.VAPPTEMPLATE_XML +";version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken).build(); - - protected HttpResponse successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithSingleVMAndVDCParent = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/template1.0-vcd15.xml", VCloudMediaType.VAPPTEMPLATE_XML + ";version=1.0")) - .build(); - - protected HttpResponse successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithMultipleVMsAndVDCParent = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/template1.0-vcd15-multi-vm.xml", VCloudMediaType.VAPPTEMPLATE_XML + ";version=1.0")) - .build(); - - protected HttpRequest version1_0GetOVFForVAppTemplateRequest = HttpRequest.builder().method("GET").endpoint(ENDPOINT + "/v1.0/vAppTemplate/" + templateId + "/ovf") - .addHeader(HttpHeaders.ACCEPT, MediaType.TEXT_XML +";version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken).build(); - - protected HttpResponse successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithSingleVM = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/ovf-ubuntu64.xml", MediaType.TEXT_XML + ";version=1.0")) - .build(); - - protected HttpResponse successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithMultipleVMs = HttpResponse.builder().statusCode(200) - .message("HTTP/1.1 200 OK").payload(payloadFromResourceWithContentType("/ovf-multi-vm.xml", MediaType.TEXT_XML + ";version=1.0")) - .build(); - - public BaseVCloudComputeServiceExpectTest() { - provider = "vcloud"; - } - - @Override - public ComputeService createClient(Function<HttpRequest, HttpResponse> fn, Module module, Properties props) { - return createInjector(fn, module, props).getInstance(ComputeService.class); - } - - @Override - protected ApiMetadata createApiMetadata() { - return new VCloudApiMetadata(); - } - - @Override - protected Properties setupProperties() { - Properties props = super.setupProperties(); - props.setProperty(provider + ".endpoint", ENDPOINT); - return props; - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/VCloudComputeServiceLiveTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/VCloudComputeServiceLiveTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/VCloudComputeServiceLiveTest.java deleted file mode 100644 index f5d3ec6..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/VCloudComputeServiceLiveTest.java +++ /dev/null @@ -1,49 +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.vcloud.compute; - -import org.jclouds.compute.internal.BaseComputeServiceLiveTest; -import org.jclouds.sshj.config.SshjSshClientModule; -import org.testng.annotations.Test; - -import com.google.inject.Module; - -@Test(groups = "live", enabled = true, singleThreaded = true) -public class VCloudComputeServiceLiveTest extends BaseComputeServiceLiveTest { - - public VCloudComputeServiceLiveTest() { - provider = "vcloud"; - } - - @Override - public void setServiceDefaults() { - // extremely short names needed so that we don't get errors relating to - // guestCustomization.computerName being too long - group = "vcd"; - } - - @Override - public void testOptionToNotBlock() { - // start call has to block until deploy - } - - @Override - protected Module getSshModule() { - return new SshjSshClientModule(); - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/FindLocationForResourceTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/FindLocationForResourceTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/FindLocationForResourceTest.java deleted file mode 100644 index 65534aa..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/FindLocationForResourceTest.java +++ /dev/null @@ -1,62 +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.vcloud.compute.functions; - -import static org.testng.Assert.assertEquals; - -import java.net.URI; -import java.util.NoSuchElementException; -import java.util.Set; - -import org.jclouds.domain.Location; -import org.jclouds.domain.LocationBuilder; -import org.jclouds.domain.LocationScope; -import org.jclouds.vcloud.domain.internal.ReferenceTypeImpl; -import org.testng.annotations.Test; - -import com.google.common.base.Suppliers; -import com.google.common.collect.ImmutableSet; - -/** - * Tests behavior of {@code FindLocationForResource} - */ -@Test(groups = "unit") -public class FindLocationForResourceTest { - public void testMatchWhenIdIsHref() { - Location location = new LocationBuilder().id("http://foo").description("description") - .scope(LocationScope.PROVIDER).build(); - FindLocationForResource converter = new FindLocationForResource( - Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet.<Location> of(location))); - assertEquals(converter.apply(new ReferenceTypeImpl("name", "type", URI.create("http://foo"))), location); - } - - @Test(expectedExceptions = NoSuchElementException.class) - public void testGracefulWhenHrefIsntLocationId() { - FindLocationForResource converter = new FindLocationForResource( - Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet.<Location> of(new LocationBuilder() - .id("http://bar").description("description").scope(LocationScope.PROVIDER).build()))); - converter.apply(new ReferenceTypeImpl("name", "type", URI.create("http://foo"))); - } - - @Test(expectedExceptions = NoSuchElementException.class) - public void testGracefulWhenLocationIdIsntURI() { - FindLocationForResource converter = new FindLocationForResource( - Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet.<Location> of(new LocationBuilder().id("1") - .description("description").scope(LocationScope.PROVIDER).build()))); - converter.apply(new ReferenceTypeImpl("name", "type", URI.create("http://foo"))); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/ListImagesInVCloudExpectTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/ListImagesInVCloudExpectTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/ListImagesInVCloudExpectTest.java deleted file mode 100644 index 426de42..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/ListImagesInVCloudExpectTest.java +++ /dev/null @@ -1,85 +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.vcloud.compute.functions; - -import static org.testng.Assert.assertEquals; - -import java.net.URI; -import java.util.Set; - -import org.jclouds.cim.OSType; -import org.jclouds.compute.ComputeService; -import org.jclouds.compute.domain.CIMOperatingSystem; -import org.jclouds.compute.domain.Image; -import org.jclouds.compute.domain.ImageBuilder; -import org.jclouds.domain.Location; -import org.jclouds.domain.LocationBuilder; -import org.jclouds.domain.LocationScope; -import org.jclouds.domain.LoginCredentials; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpResponse; -import org.jclouds.location.suppliers.all.JustProvider; -import org.jclouds.vcloud.compute.BaseVCloudComputeServiceExpectTest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; - -@Test(singleThreaded = true, testName = "ListImagesInVCloudExpectTest") -public class ListImagesInVCloudExpectTest extends BaseVCloudComputeServiceExpectTest { - - public void testListImagesUsingVCloud1_0ApiOnServerRunningVCloudDirector1_5ReturnsImageWithLocationForVAppTemplateInVDC() throws Exception { - ComputeService compute = requestsSendResponses(ImmutableMap.<HttpRequest, HttpResponse>builder() - .put(versionsRequest, versionsResponseFromVCD1_5) - .put(version1_0LoginRequest, successfulVersion1_0LoginResponseFromVCD1_5WithSingleOrg) - .put(version1_0GetOrgRequest, successfulVersion1_0GetOrgResponseFromVCD1_5WithSingleTasksListVDCAndNetwork) - .put(version1_0GetCatalogRequest, successfulVersion1_0GetCatalogResponseFromVCD1_5WithSingleTemplate) - .put(version1_0GetCatalogItemRequest, successfulVersion1_0GetCatalogItemResponseFromVCD1_5ForTemplate) - .put(version1_0GetVDCRequest, successfulVersion1_0GetVDCResponseFromVCD1_5WithSingleTemplateAndNetwork) - .put(version1_0GetVAppTemplateRequest, successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithSingleVMAndVDCParent) - .put(version1_0GetOVFForVAppTemplateRequest, successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithSingleVM) - .build()); - - Location provider = Iterables.getOnlyElement(compute.getContext().utils().injector().getInstance(JustProvider.class).get()); - - Location orgLocation = new LocationBuilder().id(ENDPOINT + "/v1.0/org/" + orgId).scope(LocationScope.REGION) - .description("jclouds").parent(provider).build(); - - Location vdcLocation = new LocationBuilder().id(ENDPOINT + "/v1.0/vdc/" + vdcId).scope(LocationScope.ZONE) - .description("orgVDC-jclouds-Tier1-PAYG").parent(orgLocation).build(); - - Set<? extends Image> currentImages = compute.listImages(); - assertEquals(compute.listImages().size(), 1); - Image onlyImage = Iterables.get(currentImages, 0); - - - Image expectedImage = new ImageBuilder() - .ids(ENDPOINT + "/v1.0/vAppTemplate/" + templateId) - .uri(URI.create(ENDPOINT + "/v1.0/vAppTemplate/" + templateId)) - .name("UbuntuServer-x64-2GB") - .operatingSystem(new CIMOperatingSystem(OSType.UBUNTU_64, "", null, "Ubuntu Linux (64-bit)")) - // TODO: this looks like a bug, as it says network interfaces - .description("This is a special place-holder used for disconnected network interfaces.") - .defaultCredentials(LoginCredentials.builder().identity("root").build()) - .status(Image.Status.AVAILABLE) - .location(vdcLocation).build(); - - assertEquals(onlyImage, expectedImage); - assertEquals(onlyImage.getStatus(), Image.Status.AVAILABLE); - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/VAppToNodeMetadataTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/VAppToNodeMetadataTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/VAppToNodeMetadataTest.java deleted file mode 100644 index 3e36be2..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/functions/VAppToNodeMetadataTest.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.vcloud.compute.functions; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; - -import java.io.InputStream; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Set; - -import javax.inject.Singleton; - -import org.jclouds.cim.xml.ResourceAllocationSettingDataHandler; -import org.jclouds.collect.Memoized; -import org.jclouds.compute.domain.Hardware; -import org.jclouds.compute.domain.NodeMetadata; -import org.jclouds.domain.Credentials; -import org.jclouds.domain.Location; -import org.jclouds.domain.LocationBuilder; -import org.jclouds.domain.LocationScope; -import org.jclouds.http.functions.ParseSax; -import org.jclouds.http.functions.ParseSax.Factory; -import org.jclouds.http.functions.config.SaxParserModule; -import org.jclouds.vcloud.VCloudApiMetadata; -import org.jclouds.vcloud.compute.config.VCloudComputeServiceDependenciesModule; -import org.jclouds.vcloud.domain.ReferenceType; -import org.jclouds.vcloud.domain.Status; -import org.jclouds.vcloud.domain.VApp; -import org.jclouds.vcloud.domain.internal.VAppImpl; -import org.jclouds.vcloud.xml.VAppHandler; -import org.jclouds.vcloud.xml.ovf.VCloudResourceAllocationSettingDataHandler; -import org.testng.annotations.Test; - -import com.google.common.base.Function; -import com.google.common.base.Joiner; -import com.google.common.base.Supplier; -import com.google.common.base.Suppliers; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Maps; -import com.google.inject.AbstractModule; -import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.Provides; -import com.google.inject.TypeLiteral; -import com.google.inject.name.Names; - -/** - * Tests behavior of {@code VAppToNodeMetadata} - */ -@Test(groups = "unit") -public class VAppToNodeMetadataTest { - - public Injector createInjectorWithLocation(final Location location) { - return Guice.createInjector(new SaxParserModule(), new AbstractModule() { - - @Override - protected void configure() { - Names.bindProperties(binder(), new VCloudApiMetadata().getDefaultProperties()); - bind(new TypeLiteral<Function<ReferenceType, Location>>() { - }).to(new TypeLiteral<FindLocationForResource>() { - }); - bind(new TypeLiteral<Function<VApp, Hardware>>() { - }).to(new TypeLiteral<HardwareForVApp>() { - }); - bind(ResourceAllocationSettingDataHandler.class).to(VCloudResourceAllocationSettingDataHandler.class); - } - - @Memoized - @Singleton - @Provides - Supplier<Set<? extends Location>> supplyLocations() { - return Suppliers.<Set<? extends Location>> ofInstance(ImmutableSet.<Location> of(location)); - } - - @Singleton - @Provides - Map<String, Credentials> supplyCreds() { - return Maps.newConcurrentMap(); - } - - @Singleton - @Provides - protected Map<Status, NodeMetadata.Status> provideVAppStatusToNodeStatus() { - return VCloudComputeServiceDependenciesModule.toPortableNodeStatus; - } - - }); - } - - public void testWhenVDCIsLocation() { - Location location = new LocationBuilder().id("https://1.1.1.1/api/v1.0/vdc/1").description("description") - .scope(LocationScope.PROVIDER).build(); - Injector injector = createInjectorWithLocation(location); - InputStream is = getClass().getResourceAsStream("/vapp-pool.xml"); - Factory factory = injector.getInstance(ParseSax.Factory.class); - VApp result = factory.create(injector.getInstance(VAppHandler.class)).parse(is); - VAppToNodeMetadata converter = injector.getInstance(VAppToNodeMetadata.class); - NodeMetadata node = converter.apply(result); - assertNotNull(node); - assertEquals(node.getUserMetadata(), ImmutableMap.<String, String>of()); - assertEquals(node.getTags(), ImmutableSet.<String>of()); - assertEquals(node.getLocation(), location); - assertEquals(node.getPrivateAddresses(), ImmutableSet.of("172.16.7.230")); - assertEquals(node.getPublicAddresses(), ImmutableSet.of()); - } - - public void testWithMetadataParseException() { - Location location = new LocationBuilder().id("https://1.1.1.1/api/v1.0/vdc/1").description("description") - .scope(LocationScope.PROVIDER).build(); - Injector injector = createInjectorWithLocation(location); - InputStream is = getClass().getResourceAsStream("/vapp-pool.xml"); - Factory factory = injector.getInstance(ParseSax.Factory.class); - VApp result = factory.create(injector.getInstance(VAppHandler.class)).parse(is); - VAppToNodeMetadata converter = injector.getInstance(VAppToNodeMetadata.class); - ImmutableMap<String, String> metadata = ImmutableMap.<String, String>of(); - ImmutableSet<String> tags = ImmutableSet.<String>of(); - - String description = " user=user_ssoid_1\nuid=3b7bb605-bb30-4e62-a3de-9076b052dee7 label='foo-DEVELOPMENT' date=2013-01-22 17:39:28.252"; - - result = new VAppImpl(result.getName(), result.getType(), result.getHref(), result.getStatus(), result.getVDC(), - description, result.getTasks(), result.isOvfDescriptorUploaded(), result.getChildren(), - result.getNetworkSection()); - - NodeMetadata node = converter.apply(result); - assertNotNull(node); - assertEquals(node.getUserMetadata(), metadata); - assertEquals(node.getTags(), tags); - } - - public void testWithMetadataNoNewLines() { - Location location = new LocationBuilder().id("https://1.1.1.1/api/v1.0/vdc/1").description("description") - .scope(LocationScope.PROVIDER).build(); - Injector injector = createInjectorWithLocation(location); - InputStream is = getClass().getResourceAsStream("/vapp-pool.xml"); - Factory factory = injector.getInstance(ParseSax.Factory.class); - VApp result = factory.create(injector.getInstance(VAppHandler.class)).parse(is); - VAppToNodeMetadata converter = injector.getInstance(VAppToNodeMetadata.class); - ImmutableMap<String, String> metadata = ImmutableMap.<String, String>of(); - ImmutableSet<String> tags = ImmutableSet.<String>of(); - - String description = " user=user_ssoid_1 uid=3b7bb605-bb30-4e62-a3de-9076b052dee7 label='foo-DEVELOPMENT' date=2013-01-22 17:39:28.252"; - - result = new VAppImpl(result.getName(), result.getType(), result.getHref(), result.getStatus(), result.getVDC(), - description, result.getTasks(), result.isOvfDescriptorUploaded(), result.getChildren(), - result.getNetworkSection()); - - NodeMetadata node = converter.apply(result); - assertNotNull(node); - assertEquals(node.getUserMetadata(), metadata); - assertEquals(node.getTags(), tags); - } - - public void testWithEncodedMetadata() { - Location location = new LocationBuilder().id("https://1.1.1.1/api/v1.0/vdc/1").description("description") - .scope(LocationScope.PROVIDER).build(); - Injector injector = createInjectorWithLocation(location); - InputStream is = getClass().getResourceAsStream("/vapp-pool.xml"); - Factory factory = injector.getInstance(ParseSax.Factory.class); - VApp result = factory.create(injector.getInstance(VAppHandler.class)).parse(is); - VAppToNodeMetadata converter = injector.getInstance(VAppToNodeMetadata.class); - ImmutableMap<String, String> metadata = ImmutableMap.<String, String>of("foo", "bar"); - ImmutableSet<String> tags = ImmutableSet.<String>of("tag1", "tag2"); - - String description = Joiner - .on('\n') - .withKeyValueSeparator("=") - .join(ImmutableMap.<String, String> builder().putAll(metadata) - .put("jclouds_tags", Joiner.on(',').join(tags)).build()); - - result = new VAppImpl(result.getName(), result.getType(), result.getHref(), result.getStatus(), result.getVDC(), - description, result.getTasks(), result.isOvfDescriptorUploaded(), result.getChildren(), - result.getNetworkSection()); - - NodeMetadata node = converter.apply(result); - assertNotNull(node); - assertEquals(node.getUserMetadata(), metadata); - assertEquals(node.getTags(), tags); - - } - - public void testGracefulWhenNoIPs() { - Location location = new LocationBuilder().id("https://1.1.1.1/api/v1.0/vdc/1").description("description") - .scope(LocationScope.PROVIDER).build(); - Injector injector = createInjectorWithLocation(location); - InputStream is = getClass().getResourceAsStream("/vapp-none.xml"); - Factory factory = injector.getInstance(ParseSax.Factory.class); - VApp result = factory.create(injector.getInstance(VAppHandler.class)).parse(is); - VAppToNodeMetadata converter = injector.getInstance(VAppToNodeMetadata.class); - NodeMetadata node = converter.apply(result); - assertNotNull(node); - assertEquals(node.getLocation(), location); - assertEquals(node.getPrivateAddresses(), ImmutableSet.of()); - assertEquals(node.getPublicAddresses(), ImmutableSet.of()); - } - - @Test(expectedExceptions = NoSuchElementException.class) - public void testGracefulWhenVDCIsNotLocation() { - Location location = new LocationBuilder().id("https://1.1.1.1/api/v1.0/vdc/11111").description("description") - .scope(LocationScope.PROVIDER).build(); - Injector injector = createInjectorWithLocation(location); - InputStream is = getClass().getResourceAsStream("/vapp-pool.xml"); - Factory factory = injector.getInstance(ParseSax.Factory.class); - VApp result = factory.create(injector.getInstance(VAppHandler.class)).parse(is); - VAppToNodeMetadata converter = injector.getInstance(VAppToNodeMetadata.class); - NodeMetadata node = converter.apply(result); - assertNotNull(node); - assertEquals(node.getLocation(), location); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/options/VCloudTemplateOptionsTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/options/VCloudTemplateOptionsTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/options/VCloudTemplateOptionsTest.java deleted file mode 100644 index f43a0e9..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/options/VCloudTemplateOptionsTest.java +++ /dev/null @@ -1,195 +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.vcloud.compute.options; - -import static org.jclouds.vcloud.compute.options.VCloudTemplateOptions.Builder.blockOnPort; -import static org.jclouds.vcloud.compute.options.VCloudTemplateOptions.Builder.customizationScript; -import static org.jclouds.vcloud.compute.options.VCloudTemplateOptions.Builder.description; -import static org.jclouds.vcloud.compute.options.VCloudTemplateOptions.Builder.inboundPorts; -import static org.jclouds.vcloud.compute.options.VCloudTemplateOptions.Builder.parentNetwork; -import static org.testng.Assert.assertEquals; - -import java.io.IOException; -import java.net.URI; -import java.util.Hashtable; - -import org.jclouds.compute.options.TemplateOptions; -import org.jclouds.vcloud.domain.NetworkConnection; -import org.jclouds.vcloud.domain.network.IpAddressAllocationMode; -import org.jclouds.vcloud.endpoints.Network; -import org.testng.annotations.Test; - -/** - * Tests possible uses of VCloudTemplateOptions and - * VCloudTemplateOptions.Builder.* - */ -public class VCloudTemplateOptionsTest { - @Test - public void testnetworkConnections() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - String netUuid = "https://myfunvcloud.com/api/admin/network/aaaabbbb-cccc-1122-3344-1234567890ab"; - Hashtable<String, NetworkConnection> nets = new Hashtable<String, NetworkConnection>(1); - NetworkConnection nc = new NetworkConnection(netUuid, 0, null, null, true, null, IpAddressAllocationMode.POOL); - nets.put(netUuid, nc); - options.networkConnections(nets); - assertEquals(options.getNetworkConnections().get(netUuid), nc); - } - - public void testAs() { - TemplateOptions options = new VCloudTemplateOptions(); - assertEquals(options.as(VCloudTemplateOptions.class), options); - } - - @Test(expectedExceptions = NullPointerException.class, expectedExceptionsMessageRegExp = "customizationScript must be defined") - public void testcustomizationScriptBadFormat() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.customizationScript(""); - } - - @Test - public void testcustomizationScript() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.customizationScript("mykeypair"); - assertEquals(options.getCustomizationScript(), "mykeypair"); - } - - @Test - public void testcustomizationScriptStatic() { - VCloudTemplateOptions options = customizationScript("mykeypair"); - assertEquals(options.getCustomizationScript(), "mykeypair"); - } - - @Test - public void testNullparentNetwork() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - assertEquals(options.getParentNetwork(), null); - } - - @Test - public void testparentNetwork() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.parentNetwork(URI.create("https://network")); - assertEquals(options.getParentNetwork(), URI.create("https://network")); - } - - @Test - public void testparentNetworkStatic() { - VCloudTemplateOptions options = parentNetwork(URI.create("https://network")); - assertEquals(options.getParentNetwork(), URI.create("https://network")); - } - - @Test - public void testdescription() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.description("mykeypair"); - assertEquals(options.getDescription(), "mykeypair"); - } - - @Test - public void testdescriptionStatic() { - VCloudTemplateOptions options = description("mykeypair"); - assertEquals(options.getDescription(), "mykeypair"); - } - - @Test(expectedExceptions = NullPointerException.class, expectedExceptionsMessageRegExp = "customizationScript must be defined") - public void testcustomizationScriptNPE() { - customizationScript(null); - } - - @Test - public void testinstallPrivateKey() throws IOException { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.installPrivateKey("-----BEGIN RSA PRIVATE KEY-----"); - assertEquals(options.getPrivateKey(), "-----BEGIN RSA PRIVATE KEY-----"); - } - - @Test - public void testNullinstallPrivateKey() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - assertEquals(options.getPrivateKey(), null); - } - - @Test - public void testauthorizePublicKey() throws IOException { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.authorizePublicKey("ssh-rsa"); - assertEquals(options.getPublicKey(), "ssh-rsa"); - } - - @Test - public void testNullauthorizePublicKey() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - assertEquals(options.getPublicKey(), null); - } - - @Test(expectedExceptions = IllegalArgumentException.class) - public void testblockOnPortBadFormat() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.blockOnPort(-1, -1); - } - - @Test - public void testblockOnPort() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.blockOnPort(22, 30); - assertEquals(options.getPort(), 22); - assertEquals(options.getSeconds(), 30); - - } - - @Test - public void testNullblockOnPort() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - assertEquals(options.getPort(), -1); - assertEquals(options.getSeconds(), -1); - } - - @Test - public void testblockOnPortStatic() { - VCloudTemplateOptions options = blockOnPort(22, 30); - assertEquals(options.getPort(), 22); - assertEquals(options.getSeconds(), 30); - } - - @Test(expectedExceptions = IllegalArgumentException.class) - public void testinboundPortsBadFormat() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.inboundPorts(-1, -1); - } - - @Test - public void testinboundPorts() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - options.inboundPorts(22, 30); - assertEquals(options.getInboundPorts()[0], 22); - assertEquals(options.getInboundPorts()[1], 30); - - } - - @Test - public void testDefaultOpen22() { - VCloudTemplateOptions options = new VCloudTemplateOptions(); - assertEquals(options.getInboundPorts()[0], 22); - } - - @Test - public void testinboundPortsStatic() { - VCloudTemplateOptions options = inboundPorts(22, 30); - assertEquals(options.getInboundPorts()[0], 22); - assertEquals(options.getInboundPorts()[1], 30); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest.java deleted file mode 100644 index 2050e3f..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest.java +++ /dev/null @@ -1,169 +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.vcloud.compute.strategy; - -import static org.testng.Assert.assertEquals; - -import java.net.URI; -import java.util.Properties; - -import org.jclouds.compute.ComputeService; -import org.jclouds.compute.ComputeServiceAdapter.NodeAndInitialCredentials; -import org.jclouds.compute.domain.Template; -import org.jclouds.domain.LoginCredentials; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpResponse; -import org.jclouds.vcloud.compute.BaseVCloudComputeServiceExpectTest; -import org.jclouds.vcloud.compute.options.VCloudTemplateOptions; -import org.jclouds.vcloud.domain.VApp; -import org.jclouds.vcloud.domain.network.FenceMode; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableMap; -import com.google.common.net.HttpHeaders; -import com.jamesmurty.utils.XMLBuilder; - -@Test(singleThreaded = true, testName = "InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest") -public class InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest extends - BaseVCloudComputeServiceExpectTest { - - String ns = "http://www.vmware.com/vcloud/v1"; - Properties outputProperties; - public InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOnExpectTest() { - outputProperties = new Properties(); - outputProperties.put(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "yes"); - } - - HttpResponse successfulVersion1_0InstantiatedVApp = HttpResponse.builder() - .statusCode(200) - .message("HTTP/1.1 200 OK") - .payload(payloadFromResourceWithContentType("/instantiatedvapp.xml", "application/vnd.vmware.vcloud.vApp+xml")).build(); - - // TODO: finish me! - @Test(enabled = false) - public void testCreateNodeUsingVCloud1_0ApiAgainstVCloudDirector1_5WhenVAppTemplateHasNetworkNamedNone() - throws Exception { - - String group = "group"; - String name = "group-abcd"; - - String instantiateXML = XMLBuilder.create("InstantiateVAppTemplateParams") - .a("xmlns", ns).a("xmlns:ovf", "http://schemas.dmtf.org/ovf/envelope/1") - .a("deploy", "false").a("name", name).a("powerOn", "false") - .e("Description").up() - .e("InstantiationParams") - .e("NetworkConfigSection") - .e("ovf:Info").t("Configuration parameters for logical networks").up() - .e("NetworkConfig").a("networkName", "orgNet-jclouds-External") // NOTE not "None" - .e("Configuration") - .e("ParentNetwork").a("href", ENDPOINT + "/v1.0/network/" + networkId).up() - .e("FenceMode").t("bridged").up() - .up() - .up() - .up() - .up() - .e("Source").a("href", ENDPOINT + "/v1.0/vAppTemplate/" + templateId).up() - .e("AllEULAsAccepted").t("true").up() - .asString(outputProperties); - - HttpRequest version1_0InstantiateWithNetworkNamedSameAsOrgNetwork = HttpRequest.builder().method("POST") - .endpoint(ENDPOINT + "/v1.0/vdc/" + vdcId + "/action/instantiateVAppTemplate") - .addHeader(HttpHeaders.ACCEPT, "application/vnd.vmware.vcloud.vApp+xml;version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken) - .payload(payloadFromStringWithContentType(instantiateXML, "application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml")).build(); - - ComputeService compute = requestsSendResponses(ImmutableMap.<HttpRequest, HttpResponse> builder() - .put(versionsRequest, versionsResponseFromVCD1_5) - .put(version1_0LoginRequest, successfulVersion1_0LoginResponseFromVCD1_5WithSingleOrg) - .put(version1_0GetOrgRequest, successfulVersion1_0GetOrgResponseFromVCD1_5WithSingleTasksListVDCAndNetwork) - .put(version1_0GetCatalogRequest, successfulVersion1_0GetCatalogResponseFromVCD1_5WithSingleTemplate) - .put(version1_0GetCatalogItemRequest, successfulVersion1_0GetCatalogItemResponseFromVCD1_5ForTemplate) - .put(version1_0GetVDCRequest, successfulVersion1_0GetVDCResponseFromVCD1_5WithSingleTemplateAndNetwork) - .put(version1_0GetVAppTemplateRequest, successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithSingleVMAndVDCParent) - .put(version1_0GetOVFForVAppTemplateRequest, successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithSingleVM) - .put(version1_0InstantiateWithNetworkNamedSameAsOrgNetwork, successfulVersion1_0InstantiatedVApp).build()); - - InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn starter = compute.getContext() - .utils().injector().getInstance( - InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.class); - - - NodeAndInitialCredentials<VApp> appAndCreds = starter.createNodeWithGroupEncodedIntoName(group, name, compute - .templateBuilder().build()); - - assertEquals(appAndCreds.getNode().getName(), name); - assertEquals(appAndCreds.getCredentials(), LoginCredentials.builder().user("root").password("fromVApp").build()); - - } - - public void testInstantiateVAppFromTemplateWhenUsingOverriddenNetworkAndFenceMode() - throws Exception { - - String name = "group-abcd"; - FenceMode fenceMode = FenceMode.NAT_ROUTED; - URI parentNetwork = URI.create(ENDPOINT + "/v1.0/network/" + "foooooooo"); - - String instantiateXML = XMLBuilder.create("InstantiateVAppTemplateParams") - .a("xmlns", ns).a("xmlns:ovf", "http://schemas.dmtf.org/ovf/envelope/1") - .a("deploy", "false").a("name", name).a("powerOn", "false") - .e("Description").up() - .e("InstantiationParams") - .e("NetworkConfigSection") - .e("ovf:Info").t("Configuration parameters for logical networks").up() - .e("NetworkConfig").a("networkName", "jclouds") // NOTE not "None" - .e("Configuration") - .e("ParentNetwork").a("href", parentNetwork.toASCIIString()).up() - .e("FenceMode").t(fenceMode.toString()).up() - .up() - .up() - .up() - .up() - .e("Source").a("href", ENDPOINT + "/v1.0/vAppTemplate/" + templateId).up() - .e("AllEULAsAccepted").t("true").up() - .asString(outputProperties); - - HttpRequest version1_0InstantiateWithCustomizedNetwork = HttpRequest.builder().method("POST") - .endpoint(ENDPOINT + "/v1.0/vdc/" + vdcId + "/action/instantiateVAppTemplate") - .addHeader(HttpHeaders.ACCEPT, "application/vnd.vmware.vcloud.vApp+xml;version=1.0") - .addHeader("x-vcloud-authorization", sessionToken) - .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + sessionToken) - .payload(payloadFromStringWithContentType(instantiateXML, "application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml")).build(); - - ComputeService compute = requestsSendResponses(ImmutableMap.<HttpRequest, HttpResponse> builder() - .put(versionsRequest, versionsResponseFromVCD1_5) - .put(version1_0LoginRequest, successfulVersion1_0LoginResponseFromVCD1_5WithSingleOrg) - .put(version1_0GetOrgRequest, successfulVersion1_0GetOrgResponseFromVCD1_5WithSingleTasksListVDCAndNetwork) - .put(version1_0GetCatalogRequest, successfulVersion1_0GetCatalogResponseFromVCD1_5WithSingleTemplate) - .put(version1_0GetCatalogItemRequest, successfulVersion1_0GetCatalogItemResponseFromVCD1_5ForTemplate) - .put(version1_0GetVDCRequest, successfulVersion1_0GetVDCResponseFromVCD1_5WithSingleTemplateAndNetwork) - .put(version1_0GetVAppTemplateRequest, successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithSingleVMAndVDCParent) - .put(version1_0GetOVFForVAppTemplateRequest, successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithSingleVM) - .put(version1_0InstantiateWithCustomizedNetwork, successfulVersion1_0InstantiatedVApp).build()); - - InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn starter = compute.getContext() - .utils().injector().getInstance( - InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.class); - - Template template = compute.templateBuilder().build(); - String[] netlist = new String[1]; - netlist[0] = parentNetwork.toASCIIString(); - template.getOptions().as(VCloudTemplateOptions.class).fenceMode(fenceMode).networks(netlist); - starter.instantiateVAppFromTemplate(name, template); - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/VCloudComputeServiceAdapterTest.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/VCloudComputeServiceAdapterTest.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/VCloudComputeServiceAdapterTest.java deleted file mode 100644 index 232b151..0000000 --- a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/test/java/org/jclouds/vcloud/compute/strategy/VCloudComputeServiceAdapterTest.java +++ /dev/null @@ -1,89 +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.vcloud.compute.strategy; - -import static org.testng.Assert.assertEquals; - -import java.net.URI; - -import org.jclouds.compute.ComputeService; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpResponse; -import org.jclouds.vcloud.compute.BaseVCloudComputeServiceExpectTest; -import org.jclouds.vcloud.domain.VAppTemplate; -import org.testng.annotations.Test; - -import com.google.common.base.Function; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; - -public class VCloudComputeServiceAdapterTest extends BaseVCloudComputeServiceExpectTest { - - @Test - public void testListHardwareProfiles() throws Exception { - ComputeService compute = requestsSendResponses(ImmutableMap.<HttpRequest, HttpResponse> builder() - .put(versionsRequest, versionsResponseFromVCD1_5) - .put(version1_0LoginRequest, successfulVersion1_0LoginResponseFromVCD1_5WithSingleOrg) - .put(version1_0GetOrgRequest, successfulVersion1_0GetOrgResponseFromVCD1_5WithSingleTasksListVDCAndNetwork) - .put(version1_0GetCatalogRequest, successfulVersion1_0GetCatalogResponseFromVCD1_5WithSingleTemplate) - .put(version1_0GetCatalogItemRequest, successfulVersion1_0GetCatalogItemResponseFromVCD1_5ForTemplate) - .put(version1_0GetVDCRequest, successfulVersion1_0GetVDCResponseFromVCD1_5WithSingleTemplateAndNetwork) - .put(version1_0GetVAppTemplateRequest, successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithSingleVMAndVDCParent) - .put(version1_0GetOVFForVAppTemplateRequest, successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithSingleVM) - .build()); - - VCloudComputeServiceAdapter adapter = compute.getContext() - .utils().injector().getInstance(VCloudComputeServiceAdapter.class); - - Iterable<VAppTemplate> hardwareProfiles = adapter.listHardwareProfiles(); - - Iterable<URI> hardwareProfileRefs = Iterables.transform(ImmutableList.copyOf(hardwareProfiles), new Function<VAppTemplate, URI>() { - @Override public URI apply(VAppTemplate input) { - return input.getHref(); - } - }); - assertEquals(ImmutableSet.copyOf(hardwareProfileRefs), ImmutableSet.of(URI.create("https://zone.myvcloud.com/api/v1.0/vAppTemplate/vappTemplate-51891b97-c5dd-47dc-a687-aabae354f728"))); - } - - /** - * For issue 994. In BaseEnvelopeHandler when it encounters VirtualSystemCollection, it throws IllegalArgumentException - * (cannot currently create envelopes with multiple virtual systems). - * Thus we do not include the VM in the supported set, but we do return without propagating the exception. - */ - @Test - public void testListHardwareProfilesWithUnsupportedTemplate() throws Exception { - ComputeService compute = requestsSendResponses(ImmutableMap.<HttpRequest, HttpResponse> builder() - .put(versionsRequest, versionsResponseFromVCD1_5) - .put(version1_0LoginRequest, successfulVersion1_0LoginResponseFromVCD1_5WithSingleOrg) - .put(version1_0GetOrgRequest, successfulVersion1_0GetOrgResponseFromVCD1_5WithSingleTasksListVDCAndNetwork) - .put(version1_0GetCatalogRequest, successfulVersion1_0GetCatalogResponseFromVCD1_5WithSingleTemplate) - .put(version1_0GetCatalogItemRequest, successfulVersion1_0GetCatalogItemResponseFromVCD1_5ForTemplate) - .put(version1_0GetVDCRequest, successfulVersion1_0GetVDCResponseFromVCD1_5WithSingleTemplateAndNetwork) - .put(version1_0GetVAppTemplateRequest, successfulVersion1_0GetVAppTemplateResponseFromVCD1_5WithMultipleVMsAndVDCParent) - .put(version1_0GetOVFForVAppTemplateRequest, successfulVersion1_0GetOVFForVAppTemplateResponseFromVCD1_5WithMultipleVMs) - .build()); - - VCloudComputeServiceAdapter adapter = compute.getContext() - .utils().injector().getInstance(VCloudComputeServiceAdapter.class); - - Iterable<VAppTemplate> hardwareProfiles = adapter.listHardwareProfiles(); - - assertEquals(ImmutableSet.copyOf(hardwareProfiles), ImmutableSet.of()); - } -}
