You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2015/07/06 16:22:41 UTC
[1/2] git commit: updated refs/heads/master to a71c985
Repository: cloudstack
Updated Branches:
refs/heads/master 31c6b14dd -> a71c98522
findbugs: added test for getServiceProvider of CreateVpcOffering api
Signed-off-by: Daan Hoogland <da...@gmail.com>
This closes #538
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a71c9852
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a71c9852
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a71c9852
Branch: refs/heads/master
Commit: a71c9852238b01c0728fd2e1cc854dc8d48c0907
Parents: e34389a
Author: Daan Hoogland <da...@gmail.com>
Authored: Mon Jul 6 12:07:42 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jul 6 16:22:19 2015 +0200
----------------------------------------------------------------------
.../apache/cloudstack/api/ApiCmdTestUtil.java | 17 +++++++
.../CreateSecondaryStagingStoreCmdTest.java | 25 +++-------
.../admin/vpc/CreateVPCOfferingCmdTest.java | 48 ++++++++++++++++++++
3 files changed, 71 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a71c9852/api/test/org/apache/cloudstack/api/ApiCmdTestUtil.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/ApiCmdTestUtil.java b/api/test/org/apache/cloudstack/api/ApiCmdTestUtil.java
new file mode 100644
index 0000000..ca4510d
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/ApiCmdTestUtil.java
@@ -0,0 +1,17 @@
+package org.apache.cloudstack.api;
+
+import java.lang.reflect.Field;
+
+public class ApiCmdTestUtil {
+ public static void set(BaseCmd cmd, String fieldName, Object value)
+ throws IllegalArgumentException, IllegalAccessException {
+ for (Field field : cmd.getClass().getDeclaredFields()) {
+ Parameter parameter = field.getAnnotation(Parameter.class);
+ if (parameter != null && fieldName.equals(parameter.name())) {
+ field.setAccessible(true);
+ field.set(cmd, value);
+ }
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a71c9852/api/test/org/apache/cloudstack/api/command/admin/storage/CreateSecondaryStagingStoreCmdTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/command/admin/storage/CreateSecondaryStagingStoreCmdTest.java b/api/test/org/apache/cloudstack/api/command/admin/storage/CreateSecondaryStagingStoreCmdTest.java
index 901e976..e935842 100644
--- a/api/test/org/apache/cloudstack/api/command/admin/storage/CreateSecondaryStagingStoreCmdTest.java
+++ b/api/test/org/apache/cloudstack/api/command/admin/storage/CreateSecondaryStagingStoreCmdTest.java
@@ -16,28 +16,15 @@
// under the License.
package org.apache.cloudstack.api.command.admin.storage;
-import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
-import junit.framework.Assert;
-
-import org.apache.cloudstack.api.BaseCmd;
-import org.apache.cloudstack.api.Parameter;
+import org.junit.Assert;
import org.junit.Test;
-public class CreateSecondaryStagingStoreCmdTest {
+import org.apache.cloudstack.api.ApiCmdTestUtil;
- static void set(BaseCmd cmd, String fieldName, Object value)
- throws IllegalArgumentException, IllegalAccessException {
- for (Field field : cmd.getClass().getDeclaredFields()) {
- Parameter parameter = field.getAnnotation(Parameter.class);
- if (parameter != null && fieldName.equals(parameter.name())) {
- field.setAccessible(true);
- field.set(cmd, value);
- }
- }
- }
+public class CreateSecondaryStagingStoreCmdTest {
@Test
public void getDetails() throws IllegalArgumentException,
@@ -48,7 +35,7 @@ public class CreateSecondaryStagingStoreCmdTest {
kv.put("key", "TEST-KEY");
kv.put("value", "TEST-VALUE");
details.put("does not matter", kv);
- set(cmd, "details", details);
+ ApiCmdTestUtil.set(cmd, "details", details);
Map<String, String> detailsMap = cmd.getDetails();
Assert.assertNotNull(detailsMap);
Assert.assertEquals(1, detailsMap.size());
@@ -60,7 +47,7 @@ public class CreateSecondaryStagingStoreCmdTest {
public void getDetailsEmpty() throws IllegalArgumentException,
IllegalAccessException {
CreateSecondaryStagingStoreCmd cmd = new CreateSecondaryStagingStoreCmd();
- set(cmd, "details", new HashMap<String, Map<String, String>>());
+ ApiCmdTestUtil.set(cmd, "details", new HashMap<String, Map<String, String>>());
Assert.assertNull(cmd.getDetails());
}
@@ -68,7 +55,7 @@ public class CreateSecondaryStagingStoreCmdTest {
public void getDetailsNull() throws IllegalArgumentException,
IllegalAccessException {
CreateSecondaryStagingStoreCmd cmd = new CreateSecondaryStagingStoreCmd();
- set(cmd, "details", null);
+ ApiCmdTestUtil.set(cmd, "details", null);
Assert.assertNull(cmd.getDetails());
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a71c9852/api/test/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmdTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmdTest.java b/api/test/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmdTest.java
new file mode 100644
index 0000000..99433ed
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmdTest.java
@@ -0,0 +1,48 @@
+package org.apache.cloudstack.api.command.admin.vpc;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.cloudstack.api.ApiCmdTestUtil;
+import org.apache.cloudstack.api.ApiConstants;
+
+public class CreateVPCOfferingCmdTest {
+
+ @Test
+ public void testServiceProviders() throws IllegalArgumentException,
+ IllegalAccessException {
+ CreateVPCOfferingCmd cmd = new CreateVPCOfferingCmd();
+ HashMap<String, Map<String, String>> providers = new HashMap<String, Map<String, String>>();
+ HashMap<String, String> kv = new HashMap<String, String>();
+ kv.put("service", "TEST-SERVICE");
+ kv.put("provider", "TEST-PROVIDER");
+ providers.put("does not matter", kv);
+ ApiCmdTestUtil.set(cmd, ApiConstants.SERVICE_PROVIDER_LIST, providers);
+ Map<String, List<String>> providerMap = cmd.getServiceProviders();
+ Assert.assertNotNull(providerMap);
+ Assert.assertEquals(1, providerMap.size());
+ Assert.assertTrue(providerMap.containsKey("TEST-SERVICE"));
+ Assert.assertTrue(providerMap.get("TEST-SERVICE").contains("TEST-PROVIDER"));
+ }
+
+ @Test
+ public void testServiceProvidersEmpty() throws IllegalArgumentException,
+ IllegalAccessException {
+ CreateVPCOfferingCmd cmd = new CreateVPCOfferingCmd();
+ ApiCmdTestUtil.set(cmd, ApiConstants.SERVICE_PROVIDER_LIST, new HashMap<String, Map<String, String>>());
+ Assert.assertNull(cmd.getServiceProviders());
+ }
+
+ @Test
+ public void getDetailsNull() throws IllegalArgumentException,
+ IllegalAccessException {
+ CreateVPCOfferingCmd cmd = new CreateVPCOfferingCmd();
+ ApiCmdTestUtil.set(cmd, ApiConstants.SERVICE_PROVIDER_LIST, null);
+ Assert.assertNull(cmd.getServiceProviders());
+ }
+
+}
[2/2] git commit: updated refs/heads/master to a71c985
Posted by da...@apache.org.
findbugs: impossible cast(s) fixed by changing field types
Signed-off-by: Daan Hoogland <da...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e34389a6
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e34389a6
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e34389a6
Branch: refs/heads/master
Commit: e34389a612ab0931cf3ae3d36c47047dc91b170e
Parents: 31c6b14
Author: Daan Hoogland <da...@gmail.com>
Authored: Mon Jun 29 15:07:34 2015 +0200
Committer: Daan Hoogland <da...@gmail.com>
Committed: Mon Jul 6 16:22:19 2015 +0200
----------------------------------------------------------------------
.../api/command/admin/vpc/CreateVPCOfferingCmd.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e34389a6/api/src/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java b/api/src/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java
index 13e4c0e..99c1719 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/vpc/CreateVPCOfferingCmd.java
@@ -64,10 +64,10 @@ public class CreateVPCOfferingCmd extends BaseAsyncCreateCmd {
@Parameter(name = ApiConstants.SERVICE_PROVIDER_LIST, type = CommandType.MAP, description = "provider to service mapping. "
+ "If not specified, the provider for the service will be mapped to the default provider on the physical network")
- private Map<String, String> serviceProviderList;
+ private Map<String, ? extends Map<String, String>> serviceProviderList;
@Parameter(name = ApiConstants.SERVICE_CAPABILITY_LIST, type = CommandType.MAP, description = "desired service capabilities as part of vpc offering", since = "4.4")
- private Map serviceCapabilitystList;
+ private Map<String, List<String>> serviceCapabilitystList;
@Parameter(name = ApiConstants.SERVICE_OFFERING_ID,
type = CommandType.UUID,
@@ -95,10 +95,14 @@ public class CreateVPCOfferingCmd extends BaseAsyncCreateCmd {
Map<String, List<String>> serviceProviderMap = null;
if (serviceProviderList != null && !serviceProviderList.isEmpty()) {
serviceProviderMap = new HashMap<String, List<String>>();
- Collection servicesCollection = serviceProviderList.values();
- Iterator iter = servicesCollection.iterator();
+ Collection<? extends Map<String, String>> servicesCollection = serviceProviderList.values();
+ Iterator<? extends Map<String, String>> iter = servicesCollection.iterator();
while (iter.hasNext()) {
- HashMap<String, String> services = (HashMap<String, String>)iter.next();
+ Map<String, String> obj = iter.next();
+ if (s_logger.isTraceEnabled()) {
+ s_logger.trace("service provider entry specified: " + obj);
+ }
+ HashMap<String, String> services = (HashMap<String, String>)obj;
String service = services.get("service");
String provider = services.get("provider");
List<String> providerList = null;