Add JAXB JUnit testing for Neutron Floating IPs 67/17067/4
authorRyan Moats <rmoats@us.ibm.com>
Tue, 24 Mar 2015 17:13:37 +0000 (12:13 -0500)
committerRyan Moats <rmoats@us.ibm.com>
Thu, 26 Mar 2015 15:33:12 +0000 (15:33 +0000)
Add JAXB Junit testing for Neutron Floating IPs, update FloatingIP
POJO, Northbound and Yang Model to add in missing attributes in each.

Change-Id: I482c037c4a63fc9004d78b444f2539a00c640b4f
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
model/src/main/yang/neutron-L3.yang
neutron-spi/src/main/java/org/opendaylight/neutron/spi/NeutronFloatingIP.java
neutron-spi/src/test/java/org/opendaylight/neutron/spi/NeutronFloatingIPJAXBTest.java [new file with mode: 0644]
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronFloatingIPsNorthbound.java

index 25bca01b2e3c7d03dd51ea66d30f8c4d437de143..8a04455ebe7feee299f16fd05201163d930b96b6 100644 (file)
@@ -92,6 +92,10 @@ module neutron-L3 {
                 to select a specific IP.";
             type inet:ip-address;
         }
+        leaf status {
+            type string;
+            description "The network status.";
+        }
     }
 
     grouping interface-attrs {
index 68c801e5bb74bd613098c97c88a82d531183c2a2..42feb6aa36bc7f90a06b84b0ca13b6efd68b5aef 100644 (file)
@@ -44,6 +44,12 @@ public class NeutronFloatingIP implements Serializable {
     @XmlElement (name = "tenant_id")
     String tenantUUID;
 
+    @XmlElement (name="router_id")
+    String routerUUID;
+
+    @XmlElement (name="status")
+    String status;
+
     public NeutronFloatingIP() {
     }
 
@@ -69,6 +75,10 @@ public class NeutronFloatingIP implements Serializable {
         return portUUID;
     }
 
+    public String getRouterUUID() {
+        return routerUUID;
+    }
+
     public void setPortUUID(String portUUID) {
         this.portUUID = portUUID;
     }
@@ -97,6 +107,18 @@ public class NeutronFloatingIP implements Serializable {
         this.tenantUUID = tenantUUID;
     }
 
+    public void setRouterUUID(String routerUUID) {
+        this.routerUUID = routerUUID;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
     /**
      * This method copies selected fields from the object and returns them
      * as a new object, suitable for marshaling.
@@ -130,6 +152,12 @@ public class NeutronFloatingIP implements Serializable {
             if (s.equals("tenant_id")) {
                 ans.setTenantUUID(this.getTenantUUID());
             }
+            if (s.equals("router_id")) {
+                ans.setRouterUUID(this.getRouterUUID());
+            }
+            if (s.equals("status")) {
+                ans.setStatus(this.getStatus());
+            }
         }
         return ans;
     }
@@ -143,6 +171,8 @@ public class NeutronFloatingIP implements Serializable {
             ", fipFixedIPAddress='" + fixedIPAddress + '\'' +
             ", fipFloatingIPAddress=" + floatingIPAddress +
             ", fipTenantId='" + tenantUUID + '\'' +
+            ", fipRouterId='" + routerUUID + '\'' +
+            ", fipStatus='" + status + '\'' +
             '}';
     }
 
diff --git a/neutron-spi/src/test/java/org/opendaylight/neutron/spi/NeutronFloatingIPJAXBTest.java b/neutron-spi/src/test/java/org/opendaylight/neutron/spi/NeutronFloatingIPJAXBTest.java
new file mode 100644 (file)
index 0000000..17ef6fb
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * 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.JaxbTestHelper;
+import org.opendaylight.neutron.spi.NeutronFloatingIP;
+
+public class NeutronFloatingIPJAXBTest {
+
+    private static final String NeutronFloatingIP_sourceJson="{" +
+        "\"fixed_ip_address\": \"10.0.0.3\", " +
+        "\"floating_ip_address\": \"172.24.4.228\", " +
+        "\"floating_network_id\": \"376da547-b977-4cfe-9cba-275c80debf57\", " +
+        "\"id\": \"2f245a7b-796b-4f26-9cf9-9e82d248fda7\", " +
+        "\"port_id\": \"ce705c24-c1ef-408a-bda3-7bbd946164ab\", " +
+        "\"router_id\": \"d23abc8d-2991-4a55-ba98-2aaea84cc72f\", " +
+        "\"status\": \"ACTIVE\", " +
+        "\"tenant_id\": \"4969c491a3c74ee4af974e6d800c62de\" }";
+
+    @Test
+    public void test_NeutronFloatingIP_JAXB() {
+        NeutronFloatingIP dummyObject = new NeutronFloatingIP();
+        try {
+            NeutronFloatingIP testObject = (NeutronFloatingIP) JaxbTestHelper.jaxbUnmarshall(dummyObject, NeutronFloatingIP_sourceJson);
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 1: Testing id failed",
+                  "2f245a7b-796b-4f26-9cf9-9e82d248fda7", testObject.getFloatingIPUUID());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 2: Testing tenant_id failed",
+                  "4969c491a3c74ee4af974e6d800c62de", testObject.getTenantUUID());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 3: Testing router id failed",
+                  "d23abc8d-2991-4a55-ba98-2aaea84cc72f", testObject.getRouterUUID());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 4: Testing port id failed",
+                  "ce705c24-c1ef-408a-bda3-7bbd946164ab", testObject.getPortUUID());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 5: Testing floating network id failed",
+                  "376da547-b977-4cfe-9cba-275c80debf57", testObject.getFloatingNetworkUUID());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 6: Testing floating ip address failed",
+                  "172.24.4.228", testObject.getFloatingIPAddress());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 7: Testing fixed ip address failed",
+                   "10.0.0.3", testObject.getFixedIPAddress());
+
+            Assert.assertEquals("NeutronFloatingIP JAXB Test 8: Testing status failed",
+                  "ACTIVE", testObject.getStatus());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
index 59ccfd268f3a4db6feaf802c55c93dee3dc9a2c1..e1050b2a115352a7fa7b5f0e9f78a7d1d7952fe0 100644 (file)
@@ -83,6 +83,8 @@ public class NeutronFloatingIPsNorthbound {
             @QueryParam("fixed_ip_address") String queryFixedIPAddress,
             @QueryParam("floating_ip_address") String queryFloatingIPAddress,
             @QueryParam("tenant_id") String queryTenantID,
+            @QueryParam("router_id") String queryRouterID,
+            @QueryParam("status") String queryStatus,
             // pagination
             @QueryParam("limit") String limit,
             @QueryParam("marker") String marker,
@@ -105,6 +107,8 @@ public class NeutronFloatingIPsNorthbound {
                     (queryPortId == null || queryPortId.equals(oSS.getPortUUID())) &&
                     (queryFixedIPAddress == null || queryFixedIPAddress.equals(oSS.getFixedIPAddress())) &&
                     (queryFloatingIPAddress == null || queryFloatingIPAddress.equals(oSS.getFloatingIPAddress())) &&
+                    (queryStatus == null || queryStatus.equals(oSS.getStatus())) &&
+                    (queryRouterID == null || queryRouterID.equals(oSS.getRouterUUID())) &&
                     (queryTenantID == null || queryTenantID.equals(oSS.getTenantUUID()))) {
                 if (fields.size() > 0)
                     ans.add(extractFields(oSS,fields));