Add Junit testing of JAXB for Neutron FWaaS objects 56/17056/8
authorRyan Moats <rmoats@us.ibm.com>
Tue, 24 Mar 2015 13:24:08 +0000 (08:24 -0500)
committerRyan Moats <rmoats@us.ibm.com>
Thu, 26 Mar 2015 15:27:40 +0000 (10:27 -0500)
Correct some type mistakes in NeutronFirewallPolicy and
NeutronFirewallRule and add Junit testing of JAXB annotations
for NeutronFirewall objects

Change-Id: I645cc6a831c5698c504ce2f393e2ba456d142f53
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
neutron-spi/pom.xml
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFirewallPolicy.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFirewallRule.java
neutron-spi/src/test/java/org/opendaylight/neutron/spi/JaxbTestHelper.java [new file with mode: 0644]
neutron-spi/src/test/java/org/opendaylight/neutron/spi/NeutronFirewallJAXBTest.java [new file with mode: 0644]
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronFirewallRulesNorthbound.java

index 0195f2a48aad5d1a26d50866816eea99cce34467..f80f13257d8ae24cb7fa6cf0ccdb68c6fe805561 100644 (file)
        <artifactId>junit</artifactId>
        <scope>test</scope>
     </dependency>
+    <dependency>
+       <groupId>com.sun.jersey</groupId>
+       <artifactId>jersey-json</artifactId>
+       <version>1.19</version>
+       <scope>test</scope>
+    </dependency>
   </dependencies>
   <build>
     <plugins>
index 6224a549d5a9bba4cf7eb784143ab22b5fe2519b..8639306d7e598734b597325c924b76f64a327cd9 100644 (file)
@@ -58,13 +58,13 @@ public class NeutronFirewallPolicy implements Serializable {
     List<String> firewallPolicyRules;
 
     @XmlElement (defaultValue = "false", name = "audited")
-    String firewallPolicyIsAudited;
+    Boolean firewallPolicyIsAudited;
 
-    public String getFirewallPolicyIsAudited() {
+    public Boolean getFirewallPolicyIsAudited() {
         return firewallPolicyIsAudited;
     }
 
-    public void setFirewallPolicyIsAudited(String firewallPolicyIsAudited) {
+    public void setFirewallPolicyIsAudited(Boolean firewallPolicyIsAudited) {
         this.firewallPolicyIsAudited = firewallPolicyIsAudited;
     }
 
index 14795435f00433d157737fe51c88fcd935c690cf..ebfe50f8aa4c0f8917e8a3ace080299866181b85 100644 (file)
@@ -60,9 +60,6 @@ public class NeutronFirewallRule implements Serializable {
     @XmlElement(name = "description")
     String firewallRuleDescription;
 
-    @XmlElement(defaultValue = "true", name = "admin_state_up")
-    Boolean firewallRuleAdminStateIsUp;
-
     @XmlElement(name = "status")
     String firewallRuleStatus;
 
@@ -195,14 +192,6 @@ public class NeutronFirewallRule implements Serializable {
         this.firewallRuleStatus = firewallRuleStatus;
     }
 
-    public Boolean getFirewallRuleAdminStateIsUp() {
-        return firewallRuleAdminStateIsUp;
-    }
-
-    public void setFirewallRuleAdminStateIsUp(Boolean firewallRuleAdminStateIsUp) {
-        this.firewallRuleAdminStateIsUp = firewallRuleAdminStateIsUp;
-    }
-
     public String getFirewallRuleDescription() {
         return firewallRuleDescription;
     }
@@ -252,9 +241,6 @@ public class NeutronFirewallRule implements Serializable {
             if (s.equals("description")) {
                 ans.setFirewallRuleDescription(this.getFirewallRuleDescription());
             }
-            if (s.equals("admin_state_up")) {
-                ans.setFirewallRuleAdminStateIsUp(firewallRuleAdminStateIsUp);
-            }
             if (s.equals("status")) {
                 ans.setFirewallRuleStatus(this.getFirewallRuleStatus());
             }
@@ -300,7 +286,6 @@ public class NeutronFirewallRule implements Serializable {
             ", firewallRuleTenantID='" + firewallRuleTenantID + '\'' +
             ", firewallRuleName='" + firewallRuleName + '\'' +
             ", firewallRuleDescription='" + firewallRuleDescription + '\'' +
-            ", firewallRuleAdminStateIsUp=" + firewallRuleAdminStateIsUp +
             ", firewallRuleStatus='" + firewallRuleStatus + '\'' +
             ", firewallRuleIsShared=" + firewallRuleIsShared +
             ", firewallRulePolicyID=" + firewallRulePolicyID +
diff --git a/neutron-spi/src/test/java/org/opendaylight/neutron/spi/JaxbTestHelper.java b/neutron-spi/src/test/java/org/opendaylight/neutron/spi/JaxbTestHelper.java
new file mode 100644 (file)
index 0000000..5231c3d
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2015 IBM, Inc.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.neutron.spi;
+
+import java.io.StringReader;
+
+import javax.xml.bind.JAXBException;
+
+import com.sun.jersey.api.json.JSONConfiguration;
+import com.sun.jersey.api.json.JSONJAXBContext;
+import com.sun.jersey.api.json.JSONUnmarshaller;
+
+public class JaxbTestHelper {
+
+    @SuppressWarnings({ "rawtypes", "unchecked" })
+    public static Object jaxbUnmarshall(Object schemaObject, String json) throws JAXBException {
+        Class c = schemaObject.getClass();
+        Class[] types = new Class[1];
+        types[0] = c;
+        JSONJAXBContext context = new JSONJAXBContext(JSONConfiguration.natural().build(), types);
+        JSONUnmarshaller unmarshaller = context.createJSONUnmarshaller();
+        StringReader reader = new StringReader(json);
+        return unmarshaller.unmarshalFromJSON(reader, c);
+    }
+}
diff --git a/neutron-spi/src/test/java/org/opendaylight/neutron/spi/NeutronFirewallJAXBTest.java b/neutron-spi/src/test/java/org/opendaylight/neutron/spi/NeutronFirewallJAXBTest.java
new file mode 100644 (file)
index 0000000..d04b601
--- /dev/null
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2015 IBM, Inc.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.neutron.spi;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.opendaylight.neutron.spi.NeutronFirewall;
+import org.opendaylight.neutron.spi.NeutronFirewallPolicy;
+import org.opendaylight.neutron.spi.NeutronFirewallRule;
+import org.opendaylight.neutron.spi.JaxbTestHelper;
+
+public class NeutronFirewallJAXBTest {
+
+    private static final String NeutronFirewall_sourceJson="{ \"id\": \"d6220bbb-35f3-48ab-8eae-69c60aef3546\", \"tenant_id\": \"aa902936679e4ea29bfe1158e3450a13\", \"name\": \"jaxb-test\", \"description\": \"Test of NeutronFirewall JAXB\", \"admin_state_up\": false, \"status\": \"DOWN\", \"shared\": true, \"firewall_policy_id\": \"83ca694a-eeff-48e5-b2d8-fe5198cf2e86\" }";
+
+    @Test
+    public void test_NeutronFirewall_JAXB() {
+        NeutronFirewall dummyObject = new NeutronFirewall();
+        try {
+            NeutronFirewall testObject = (NeutronFirewall) JaxbTestHelper.jaxbUnmarshall(dummyObject, NeutronFirewall_sourceJson);
+            Assert.assertEquals("NeutronFirewall JAXB Test 1: Testing id failed",
+                  "d6220bbb-35f3-48ab-8eae-69c60aef3546", testObject.getFirewallUUID());
+
+            Assert.assertEquals("NeutronFirewall JAXB Test 2: Testing tenant_id failed",
+                  "aa902936679e4ea29bfe1158e3450a13", testObject.getFirewallTenantID());
+
+            Assert.assertEquals("NeutronFirewall JAXB Test 3: Testing name failed",
+                  "jaxb-test", testObject.getFirewallName());
+
+            Assert.assertEquals("NeutronFirewall JAXB Test 4: Testing description failed",
+                  "Test of NeutronFirewall JAXB", testObject.getFirewallDescription());
+
+            Assert.assertFalse("NeutronFirewall JAXB Test 5: Testing admin_state_up failed",
+                  testObject.getFirewallAdminStateIsUp());
+
+            Assert.assertEquals("NeutronFirewall JAXB Test 6: Testing status failed",
+                  "DOWN", testObject.getFirewallStatus());
+
+            Assert.assertTrue("NeutronFirewall JAXB Test 7: Testing shared failed",
+                  testObject.getFirewallIsShared());
+
+            Assert.assertEquals("NeutronFirewall JAXB Test 8: Testing firewall_policy_id failed",
+                  "83ca694a-eeff-48e5-b2d8-fe5198cf2e86", testObject.getFirewallPolicyID());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static final String NeutronFirewallPolicy_sourceJson="{ \"id\": \"d6220bbb-35f3-48ab-8eae-69c60aef3546\", \"tenant_id\": \"aa902936679e4ea29bfe1158e3450a13\", \"name\": \"jaxb-test\", \"description\": \"Test of NeutronFirewallPolicy JAXB\", \"shared\": true, \"audited\": true, \"firewall_rules\": [ \"83ca694a-eeff-48e5-b2d8-fe5198cf2e86\" ] }";
+
+    @Test
+    public void test_NeutronFirewallPolicy_JAXB() {
+        NeutronFirewallPolicy dummyObject = new NeutronFirewallPolicy();
+        try {
+            NeutronFirewallPolicy testObject = (NeutronFirewallPolicy) JaxbTestHelper.jaxbUnmarshall(dummyObject, NeutronFirewallPolicy_sourceJson);
+            Assert.assertEquals("NeutronFirewallPolicy JAXB Test 1: Testing id failed",
+                  "d6220bbb-35f3-48ab-8eae-69c60aef3546", testObject.getFirewallPolicyUUID());
+
+            Assert.assertEquals("NeutronFirewallPolicy JAXB Test 2: Testing tenant_id failed",
+                  "aa902936679e4ea29bfe1158e3450a13", testObject.getFirewallPolicyTenantID());
+
+            Assert.assertEquals("NeutronFirewallPolicy JAXB Test 3: Testing name failed",
+                  "jaxb-test", testObject.getFirewallPolicyName());
+
+            Assert.assertEquals("NeutronFirewallPolicy JAXB Test 4: Testing description failed",
+                  "Test of NeutronFirewallPolicy JAXB", testObject.getFirewallPolicyDescription());
+
+            Assert.assertTrue("NeutronFirewallPolicy JAXB Test 5: Testing shared failed",
+                  testObject.getFirewallPolicyIsShared());
+
+            Assert.assertTrue("NeutronFirewallPolicy JAXB Test 6: Testing audited failed",
+                  testObject.getFirewallPolicyIsAudited());
+
+            List<String> policyRules = testObject.getFirewallPolicyRules();
+            Assert.assertEquals("NeutronFirewallPolicy JAXB Test 7.1: Testing firewall policy rules length failed",
+                  1, policyRules.size());
+            Assert.assertEquals("NeutronFirewallPolicy JAXB Test 7.2: Testing firewall policy rules content failed", 
+                  "83ca694a-eeff-48e5-b2d8-fe5198cf2e86", policyRules.get(0));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static final String NeutronFirewallRule_sourceJson="{ \"action\": \"allow\", \"description\": \"Test of NeutronFirewallRule JAXB\", \"destination_ip_address\": \"10.10.10.10\", \"destination_port\": \"80\", \"enabled\": true, \"firewall_policy_id\": \"83ca694a-eeff-48e5-b2d8-fe5198cf2e86\", \"id\": \"8722e0e0-9cc9-4490-9660-8c9a5732fbb0\", \"ip_version\": 4, \"name\": \"ALLOW_HTTP\", \"position\": 1, \"protocol\": \"tcp\", \"shared\": false, \"source_ip_address\": \"10.10.10.8\", \"source_port\": null, \"tenant_id\": \"45977fa2dbd7482098dd68d0d8970117\" }";
+
+    @Test
+    public void test_NeutronFirewallRule_JAXB() {
+        NeutronFirewallRule dummyObject = new NeutronFirewallRule();
+        try {
+            NeutronFirewallRule testObject = (NeutronFirewallRule) JaxbTestHelper.jaxbUnmarshall(dummyObject, NeutronFirewallRule_sourceJson);
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 1: Testing id failed",
+                  "8722e0e0-9cc9-4490-9660-8c9a5732fbb0", testObject.getFirewallRuleUUID());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 2: Testing tenant_id failed",
+                  "45977fa2dbd7482098dd68d0d8970117", testObject.getFirewallRuleTenantID());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 3: Testing name failed",
+                  "ALLOW_HTTP", testObject.getFirewallRuleName());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 4: Testing description failed",
+                  "Test of NeutronFirewallRule JAXB", testObject.getFirewallRuleDescription());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 5: Testing firewaulPolicyRuleID failed",
+                  "83ca694a-eeff-48e5-b2d8-fe5198cf2e86", testObject.getFirewallRulePolicyID());
+
+            Assert.assertFalse("NeutronFirewallRule JAXB Test 6: Testing shared failed",
+                  testObject.getFirewallRuleIsShared());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 7: Testing protocol failed",
+                  "tcp", testObject.getFirewallRuleProtocol());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 8: Testing IP version failed",
+                  new Integer(4), testObject.getFirewallRuleIpVer());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 9: Testing source IP address failed",
+                  "10.10.10.8", testObject.getFirewallRuleSrcIpAddr());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 10: Testing destination IP address failed",
+                  "10.10.10.10", testObject.getFirewallRuleDstIpAddr());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 11: Testing source port failed",
+                  null, testObject.getFirewallRuleSrcPort());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 12: Testing destination port failed",
+                  new Integer(80), testObject.getFirewallRuleDstPort());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 13: Testing position failed",
+                  new Integer(1), testObject.getFirewallRulePosition());
+
+            Assert.assertEquals("NeutronFirewallRule JAXB Test 14: Testing action",
+                  "allow", testObject.getFirewallRuleAction());
+
+            Assert.assertTrue("NeutronFirewallRule JAXB Test 15: Testing enabled failed",
+                  testObject.getFirewallRuleIsEnabled());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
index a6dcbcebcab97267615dc1bf44979af397e3d5e3..38ad1ab8d17bc74d9bf4f87c6c3eb70b099ea246 100644 (file)
@@ -76,7 +76,6 @@ public class NeutronFirewallRulesNorthbound {
             @QueryParam("tenant_id") String queryFirewallRuleTenantID,
             @QueryParam("name") String queryFirewallRuleName,
             @QueryParam("description") String queryFirewallRuleDescription,
-            @QueryParam("admin_state_up") Boolean queryFirewallRuleAdminStateIsUp,
             @QueryParam("status") String queryFirewallRuleStatus,
             @QueryParam("shared") Boolean queryFirewallRuleIsShared,
             @QueryParam("firewall_policy_id") String queryFirewallRulePolicyID,
@@ -113,8 +112,6 @@ public class NeutronFirewallRulesNorthbound {
                             queryFirewallRuleName.equals(nsr.getFirewallRuleName())) &&
                     (queryFirewallRuleDescription == null ||
                             queryFirewallRuleDescription.equals(nsr.getFirewallRuleDescription())) &&
-                    (queryFirewallRuleAdminStateIsUp == null ||
-                            queryFirewallRuleAdminStateIsUp.equals(nsr.getFirewallRuleAdminStateIsUp())) &&
                     (queryFirewallRuleStatus == null ||
                             queryFirewallRuleStatus.equals(nsr.getFirewallRuleStatus())) &&
                     (queryFirewallRuleIsShared == null ||
@@ -340,7 +337,6 @@ public class NeutronFirewallRulesNorthbound {
                 delta.getFirewallRuleTenantID() != null ||
                 delta.getFirewallRuleName() != null ||
                 delta.getFirewallRuleDescription() != null ||
-                delta.getFirewallRuleAdminStateIsUp() != null ||
                 delta.getFirewallRuleStatus() != null ||
                 delta.getFirewallRuleIsShared() != null ||
                 delta.getFirewallRulePolicyID() != null ||