From 940dc4c29b1aacc01c0ef0e1270dbe45cea20373 Mon Sep 17 00:00:00 2001 From: Mike Arnold Date: Fri, 9 Mar 2012 14:45:45 -0600 Subject: [PATCH] adding more tests and fixing others --- .../v1_1/features/KeyPairClientLiveTest.java | 80 +++++++++++++++++++ .../v1_1/parse/ParseFloatingIPListTest.java | 4 - .../nova/v1_1/parse/ParseFloatingIPTest.java | 7 +- 3 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/features/KeyPairClientLiveTest.java diff --git a/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/features/KeyPairClientLiveTest.java b/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/features/KeyPairClientLiveTest.java new file mode 100644 index 0000000000..937acebc44 --- /dev/null +++ b/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/features/KeyPairClientLiveTest.java @@ -0,0 +1,80 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.jclouds.openstack.nova.v1_1.features; + +import org.jclouds.openstack.nova.v1_1.domain.KeyPair; +import org.jclouds.openstack.nova.v1_1.internal.BaseNovaClientLiveTest; +import org.testng.annotations.Test; + +import java.util.Map; +import java.util.Set; + +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + +/** + * Tests behavior of {@code KeyPairClient} + * + * @author Michael Arnold + */ +@Test(groups = "live", testName = "KeyPairClientLiveTest") +public class KeyPairClientLiveTest extends BaseNovaClientLiveTest { + + public void testListKeyPairs() throws Exception { + for (String regionId : context.getApi().getConfiguredRegions()) { + KeyPairClient client = context.getApi().getKeyPairClientForRegion(regionId); + Set> keyPairsList = client.listKeyPairs(); + assertNotNull(keyPairsList); + } + } + + public void testCreateAndDeleteKeyPair() throws Exception { + final String KEYPAIR_NAME = "testkp"; + for(String regionId : context.getApi().getConfiguredRegions()) { + KeyPairClient client = context.getApi().getKeyPairClientForRegion(regionId); + KeyPair keyPair = null; + try { + keyPair = client.createKeyPair(KEYPAIR_NAME); + assertNotNull(keyPair); + } finally { + if (keyPair != null) { + client.deleteKeyPair(KEYPAIR_NAME); + } + } + } + } + + public void testCreateAndDeleteKeyPairWithPublicKey() throws Exception { + final String KEYPAIR_NAME = "testkp"; + final String PUBLIC_KEY = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCrrBREFxz3002l1HuXz0+UOdJQ/mOYD5DiJwwB/TOybwIKQJPOxJWA9gBoo4k9dthTKBTaEYbzrll7iZcp59E80S6mNiAr3mUgi+x5Y8uyXeJ2Ws+h6peVyFVUu9epkwpcTd1GVfdcVWsTajwDz9+lxCDhl0RZKDFoT0scTxbj/w== nova@nv-aw2az2-api0002"; + + for(String regionId : context.getApi().getConfiguredRegions()) { + KeyPairClient client = context.getApi().getKeyPairClientForRegion(regionId); + KeyPair keyPair = null; + try { + keyPair = client.createKeyPairWithPublicKey(KEYPAIR_NAME, PUBLIC_KEY); + assertNotNull(keyPair); + } finally { + if (keyPair != null) { + client.deleteKeyPair(KEYPAIR_NAME); + } + } + } + } +} diff --git a/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPListTest.java b/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPListTest.java index 9754203c46..31f97b4fb2 100644 --- a/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPListTest.java +++ b/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPListTest.java @@ -23,9 +23,6 @@ import com.google.inject.Guice; import com.google.inject.Injector; import org.jclouds.json.BaseSetParserTest; import org.jclouds.json.config.GsonModule; -import org.jclouds.openstack.domain.Link; -import org.jclouds.openstack.domain.Link.Relation; -import org.jclouds.openstack.domain.Resource; import org.jclouds.openstack.nova.v1_1.config.NovaParserModule; import org.jclouds.openstack.nova.v1_1.domain.FloatingIP; import org.jclouds.rest.annotations.SelectJson; @@ -33,7 +30,6 @@ import org.testng.annotations.Test; import javax.ws.rs.Consumes; import javax.ws.rs.core.MediaType; -import java.net.URI; import java.util.Set; /** diff --git a/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPTest.java b/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPTest.java index df7d262b42..3abd25ead2 100644 --- a/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPTest.java +++ b/labs/openstack-nova/src/test/java/org/jclouds/openstack/nova/v1_1/parse/ParseFloatingIPTest.java @@ -18,25 +18,20 @@ */ package org.jclouds.openstack.nova.v1_1.parse; -import com.google.common.collect.ImmutableSet; import com.google.inject.Guice; import com.google.inject.Injector; import org.jclouds.json.BaseItemParserTest; import org.jclouds.json.config.GsonModule; -import org.jclouds.openstack.domain.Link; -import org.jclouds.openstack.domain.Link.Relation; import org.jclouds.openstack.nova.v1_1.config.NovaParserModule; -import org.jclouds.openstack.nova.v1_1.domain.Flavor; import org.jclouds.openstack.nova.v1_1.domain.FloatingIP; import org.jclouds.rest.annotations.SelectJson; import org.testng.annotations.Test; import javax.ws.rs.Consumes; import javax.ws.rs.core.MediaType; -import java.net.URI; /** - * @author Jeremy Daggett + * @author Michael Arnold */ @Test(groups = "unit", testName = "ParseFloatingIPTest") public class ParseFloatingIPTest extends BaseItemParserTest {