Addresses are not properly formatted 94/105094/5
authorBenjamin, Max (mb388a) <mb388a@att.com>
Fri, 3 Apr 2020 16:23:50 +0000 (12:23 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Fri, 3 Apr 2020 17:57:25 +0000 (13:57 -0400)
updated the format of addresses
updated unit test

Issue-ID: SO-2786
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I5b6d67ca95f33752360cfc2210420bfe2341058e

nova-model/src/main/java/com/woorea/openstack/nova/model/Server.java
nova-model/src/test/java/com/woorea/openstack/nova/model/AddressTest.java
nova-model/src/test/java/com/woorea/openstack/nova/model/AddressesTest.java [deleted file]
nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java
nova-model/src/test/java/com/woorea/openstack/nova/model/ServersTest.java
pom.xml

index 8a61751..0226218 100644 (file)
@@ -24,12 +24,12 @@ import java.util.Map;
 import com.fasterxml.jackson.annotation.JsonAnySetter;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonRootName;
+import com.woorea.openstack.nova.model.Server.Addresses.Address;
 
 @JsonRootName("server")
 public class Server implements Serializable {
 
     public static final class Addresses implements Serializable {
-
         public static final class Address implements Serializable {
 
             @JsonProperty("OS-EXT-IPS-MAC:mac_addr")
@@ -99,33 +99,9 @@ public class Server implements Serializable {
                 this.macAddr = macAddr;
             }
         }
-
-        private Map<String, List<Address>> addresses = new HashMap<>();
-
-        @JsonAnySetter
-        public void add(String key, List<Address> value) {
-            addresses.put(key, value);
-        }
-
-        /**
-         * @return the ip address List Map
-         */
-        public Map<String, List<Address>> getAddresses() {
-            return addresses;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.lang.Object#toString()
-         */
-        @Override
-        public String toString() {
-            return "Addresses List Map [" + addresses + "]";
-        }
-
     }
 
+
     public static final class Fault {
 
         private Integer code;
@@ -183,7 +159,7 @@ public class Server implements Serializable {
 
     private String name;
 
-    private Addresses addresses;
+    private Map<String, List<Address>> addresses = new HashMap<>();
 
     private List<Link> links;
 
@@ -278,7 +254,7 @@ public class Server implements Serializable {
     /**
      * @return the addresses
      */
-    public Addresses getAddresses() {
+    public Map<String, List<Address>> getAddresses() {
         return addresses;
     }
 
@@ -317,6 +293,12 @@ public class Server implements Serializable {
         this.flavor = flavor;
     }
 
+
+    @JsonAnySetter
+    public void setAddresses(String key, List<Address> value) {
+        addresses.put(key, value);
+    }
+
     /**
      * @return the accessIPv4
      */
index b796f7f..70bfc8f 100644 (file)
 
 package com.woorea.openstack.nova.model;
 
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
 import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.woorea.openstack.nova.model.Server.Addresses.Address;
-import org.junit.Assert;
-import org.junit.Test;
-import org.skyscreamer.jsonassert.JSONAssert;
-import org.skyscreamer.jsonassert.JSONCompareMode;
 
 public class AddressTest {
 
diff --git a/nova-model/src/test/java/com/woorea/openstack/nova/model/AddressesTest.java b/nova-model/src/test/java/com/woorea/openstack/nova/model/AddressesTest.java
deleted file mode 100644 (file)
index 12dcc15..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END=========================================================
- */
-
-package com.woorea.openstack.nova.model;
-
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.woorea.openstack.nova.model.Server.Addresses;
-import com.woorea.openstack.nova.model.Server.Addresses.Address;
-import java.util.List;
-import java.util.Map;
-import org.junit.Assert;
-import org.junit.Test;
-import org.skyscreamer.jsonassert.JSONAssert;
-import org.skyscreamer.jsonassert.JSONCompareMode;
-
-public class AddressesTest {
-
-    private static final String EOL = System.lineSeparator();
-
-    private static final String JSON_FULL = "{" + EOL + "  \"addresses\" : {" + EOL + "    \"addresses-k1\" : [ {" + EOL
-            + "      \"version\" : \"version\"," + EOL + "      \"addr\" : \"addr\"," + EOL
-            + "      \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL + "      \"OS-EXT-IPS:type\" : \"type\"" + EOL
-            + "    }, {" + EOL + "      \"version\" : \"version\"," + EOL + "      \"addr\" : \"addr\"," + EOL
-            + "      \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL + "      \"OS-EXT-IPS:type\" : \"type\"" + EOL
-            + "    } ]," + EOL + "    \"addresses-k2\" : [ {" + EOL + "      \"version\" : \"version\"," + EOL
-            + "      \"addr\" : \"addr\"," + EOL + "      \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL
-            + "      \"OS-EXT-IPS:type\" : \"type\"" + EOL + "    }, {" + EOL + "      \"version\" : \"version\"," + EOL
-            + "      \"addr\" : \"addr\"," + EOL + "      \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL
-            + "      \"OS-EXT-IPS:type\" : \"type\"" + EOL + "    } ]" + EOL + "  }" + EOL + "}";
-
-    private ObjectMapper objectMapper = new ObjectMapper().setSerializationInclusion(Include.NON_NULL)
-            .enable(SerializationFeature.INDENT_OUTPUT).enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
-            .enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
-
-    @Test
-    public void testSerialization() throws Exception {
-        System.out.println("CLASS: " + Addresses.class.getName());
-        System.out.println("TEST JSON: " + JSON_FULL);
-        Addresses addresses = objectMapper.readValue(JSON_FULL, Addresses.class);
-        String json = objectMapper.writeValueAsString(addresses);
-        System.out.println("RE-SERIALIZED OBJECT: " + json);
-        JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
-    }
-
-    @Test
-    public void testMethods() throws Exception {
-        Addresses addresses = objectMapper.readValue(JSON_FULL, Addresses.class);
-        addresses.toString();
-
-        Map<String, List<Address>> addressesProperty = addresses.getAddresses();
-        Assert.assertNotNull(addressesProperty);
-        Assert.assertEquals(2, addressesProperty.size());
-    }
-}
index a12536f..62212ee 100644 (file)
 
 package com.woorea.openstack.nova.model;
 
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.woorea.openstack.nova.model.Server.Addresses;
-import com.woorea.openstack.nova.model.Server.Fault;
 import java.util.List;
 import java.util.Map;
 import org.junit.Assert;
 import org.junit.Test;
 import org.skyscreamer.jsonassert.JSONAssert;
 import org.skyscreamer.jsonassert.JSONCompareMode;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.woorea.openstack.nova.model.Server.Addresses.Address;
+import com.woorea.openstack.nova.model.Server.Fault;
 
 public class ServerTest {
 
     private static final String EOL = System.lineSeparator();
 
     private static final String JSON_FULL = "{" + EOL + "  \"server\" : {" + EOL + "    \"id\" : \"id\"," + EOL
-            + "    \"name\" : \"name\"," + EOL + "    \"addresses\" : {" + EOL + "      \"addresses\" : {" + EOL
-            + "        \"addresses-k1\" : [ {" + EOL + "          \"version\" : \"version\"," + EOL
-            + "          \"addr\" : \"addr\"," + EOL + "          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL
-            + "          \"OS-EXT-IPS:type\" : \"type\"" + EOL + "        }, {" + EOL
+            + "    \"name\" : \"name\"," + EOL + "    \"addresses\" : {" + EOL + "        \"addresses-k1\" : [ {" + EOL
             + "          \"version\" : \"version\"," + EOL + "          \"addr\" : \"addr\"," + EOL
             + "          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL + "          \"OS-EXT-IPS:type\" : \"type\""
-            + EOL + "        } ]," + EOL + "        \"addresses-k2\" : [ {" + EOL
-            + "          \"version\" : \"version\"," + EOL + "          \"addr\" : \"addr\"," + EOL
+            + EOL + "        }, {" + EOL + "          \"version\" : \"version\"," + EOL
+            + "          \"addr\" : \"addr\"," + EOL + "          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL
+            + "          \"OS-EXT-IPS:type\" : \"type\"" + EOL + "        } ]," + EOL + "        \"addresses-k2\" : [ {"
+            + EOL + "          \"version\" : \"version\"," + EOL + "          \"addr\" : \"addr\"," + EOL
             + "          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL + "          \"OS-EXT-IPS:type\" : \"type\""
             + EOL + "        }, {" + EOL + "          \"version\" : \"version\"," + EOL
             + "          \"addr\" : \"addr\"," + EOL + "          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL
-            + "          \"OS-EXT-IPS:type\" : \"type\"" + EOL + "        } ]" + EOL + "      }" + EOL + "    }," + EOL
+            + "          \"OS-EXT-IPS:type\" : \"type\"" + EOL + "        } ]" + EOL + "    }," + EOL
             + "    \"links\" : [ {" + EOL + "      \"rel\" : \"rel\"," + EOL + "      \"href\" : \"href\"," + EOL
             + "      \"type\" : \"type\"" + EOL + "    }, {" + EOL + "      \"rel\" : \"rel\"," + EOL
             + "      \"href\" : \"href\"," + EOL + "      \"type\" : \"type\"" + EOL + "    } ]," + EOL
@@ -151,9 +150,13 @@ public class ServerTest {
         Server server = objectMapper.readValue(JSON_FULL, Server.class);
         server.toString();
 
-        Addresses addresses = server.getAddresses();
+        Map<String, List<Address>> addresses = server.getAddresses();
         Assert.assertNotNull(addresses);
 
+        List<Address> address = addresses.get("addresses-k1");
+        Assert.assertEquals(2, address.size());
+        Assert.assertEquals("version", address.get(0).getVersion());
+
         Map<String, String> metadata = server.getMetadata();
         Assert.assertNotNull(metadata);
         Assert.assertEquals(2, metadata.size());
index 0e3f766..427f4f9 100644 (file)
 
 package com.woorea.openstack.nova.model;
 
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
 import java.util.List;
 import org.junit.Assert;
 import org.junit.Test;
 import org.skyscreamer.jsonassert.JSONAssert;
 import org.skyscreamer.jsonassert.JSONCompareMode;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
 
 public class ServersTest {
 
@@ -45,7 +45,6 @@ public class ServersTest {
         sb.append("    \"id\" : \"id\"," + EOL);
         sb.append("    \"name\" : \"name\"," + EOL);
         sb.append("    \"addresses\" : {" + EOL);
-        sb.append("      \"addresses\" : {" + EOL);
         sb.append("        \"addresses-k1\" : [ {" + EOL);
         sb.append("          \"version\" : \"version\"," + EOL);
         sb.append("          \"addr\" : \"addr\"," + EOL);
@@ -68,7 +67,6 @@ public class ServersTest {
         sb.append("          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL);
         sb.append("          \"OS-EXT-IPS:type\" : \"type\"" + EOL);
         sb.append("        } ]" + EOL);
-        sb.append("      }" + EOL);
         sb.append("    }," + EOL);
         sb.append("    \"links\" : [ {" + EOL);
         sb.append("      \"rel\" : \"rel\"," + EOL);
@@ -266,7 +264,6 @@ public class ServersTest {
         sb.append("    \"id\" : \"id\"," + EOL);
         sb.append("    \"name\" : \"name\"," + EOL);
         sb.append("    \"addresses\" : {" + EOL);
-        sb.append("      \"addresses\" : {" + EOL);
         sb.append("        \"addresses-k1\" : [ {" + EOL);
         sb.append("          \"version\" : \"version\"," + EOL);
         sb.append("          \"addr\" : \"addr\"," + EOL);
@@ -289,7 +286,6 @@ public class ServersTest {
         sb.append("          \"OS-EXT-IPS-MAC:mac_addr\" : \"macaddr\"," + EOL);
         sb.append("          \"OS-EXT-IPS:type\" : \"type\"" + EOL);
         sb.append("        } ]" + EOL);
-        sb.append("      }" + EOL);
         sb.append("    }," + EOL);
         sb.append("    \"links\" : [ {" + EOL);
         sb.append("      \"rel\" : \"rel\"," + EOL);
diff --git a/pom.xml b/pom.xml
index 348ccea..dbef9ed 100644 (file)
--- a/pom.xml
+++ b/pom.xml
             <version>2.9.8</version>
           </dependency>
         </dependencies>
-       </plugin>
-       <plugin>
-       <groupId>org.jacoco</groupId>
-       <artifactId>jacoco-maven-plugin</artifactId>
-       <version>${jacoco.version}</version>
-       <executions>
-         <execution>
-            <id>prepare-agent</id>
-             <goals>
-              <goal>prepare-agent</goal>
-            </goals>
-         </execution>
-         <execution>
-            <id>report</id>
-            <goals>
-               <goal>report</goal>
-            </goals>
-            <configuration>
-               <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
-               <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
-            </configuration>
-          </execution>
-       </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+        <version>${jacoco.version}</version>
+        <executions>
+          <execution>
+            <id>prepare-agent</id>
+            <goals>
+              <goal>prepare-agent</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>report</id>
+            <goals>
+              <goal>report</goal>
+            </goals>
+            <configuration>
+              <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
+              <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+            </configuration>
+          </execution>
+        </executions>
       </plugin>
     </plugins>
   </build>