summaryrefslogtreecommitdiffstats
path: root/quantum-model
diff options
context:
space:
mode:
authorRob Daugherty <rd472p@att.com>2018-09-10 17:45:52 -0400
committerRob Daugherty <rd472p@att.com>2018-09-10 17:53:28 -0400
commit9e0219abc61b28b94d88fefbf8cc4a13d1683a67 (patch)
tree2e1e76e80bcea8c398d2a22851dce66680e68352 /quantum-model
parent77ba0e5627d39af1459cf3058fb521e68b475220 (diff)
Functional so/libs unit tests
Unit tests to prepare for migration from the codehaus to the fasterxml implementation of jackson. Iincreases the code coverage metric from 51% to 70%. Change-Id: I6338214f3de9df95956b46d4e313d00052eb8692 Issue-ID: SO-1011 Signed-off-by: Rob Daugherty <rd472p@att.com>
Diffstat (limited to 'quantum-model')
-rw-r--r--quantum-model/pom.xml12
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/BindingTest.java94
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/GatewayInfoTest.java65
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/HostRouteTest.java70
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpTest.java70
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpVersionTest.java58
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworkTest.java193
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworksTest.java110
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/NeutronErrorTest.java76
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/PoolTest.java70
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortTest.java236
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortsTest.java128
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForAddInterfaceTest.java70
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForCreateTest.java111
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterInterfaceTest.java64
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterTest.java111
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/RoutersTest.java106
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/SegmentTest.java75
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetTest.java217
-rw-r--r--quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetsTest.java108
20 files changed, 1672 insertions, 372 deletions
diff --git a/quantum-model/pom.xml b/quantum-model/pom.xml
index 7100fb0..fd0a173 100644
--- a/quantum-model/pom.xml
+++ b/quantum-model/pom.xml
@@ -10,11 +10,15 @@
<name>OpenStack Quantum Model</name>
<description>OpenStack Quantum Model</description>
<dependencies>
- <dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.11</version>
<scope>test</scope>
- </dependency>
- </dependencies>
+ </dependency>
+ <dependency>
+ <groupId>org.skyscreamer</groupId>
+ <artifactId>jsonassert</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/BindingTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/BindingTest.java
new file mode 100644
index 0000000..b99c167
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/BindingTest.java
@@ -0,0 +1,94 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Port.Binding;
+import java.util.Map;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class BindingTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"binding:host_id\" : \"hostid\"," + EOL
+ + " \"binding:vif_type\" : \"viftype\"," + EOL
+ + " \"binding:vnic_type\" : \"vnictype\"," + EOL
+ + " \"binding:vif_details\" : {" + EOL
+ + " \"vifdetails-k1\" : \"vifdetails-v1\"," + EOL
+ + " \"vifdetails-k2\" : \"vifdetails-v2\"" + EOL
+ + " }," + EOL
+ + " \"binding:profile\" : {" + EOL
+ + " \"profile-k1\" : \"profile-v1\"," + EOL
+ + " \"profile-k2\" : \"profile-v2\"" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Binding.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Binding binding = objectMapper.readValue(JSON_FULL, Binding.class);
+ String json = objectMapper.writeValueAsString(binding);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Binding binding = objectMapper.readValue(JSON_FULL, Binding.class);
+ binding.toString();
+
+ String vnicType = binding.getVnicType();
+ Assert.assertNotNull(vnicType);
+ binding.setVnicType(vnicType);
+
+ Map<String,String> vifDetails = binding.getVifDetails();
+ Assert.assertNotNull(vifDetails);
+ Assert.assertEquals(2, vifDetails.size());
+ binding.setVifDetails(vifDetails);
+
+ Map<String,String> profile = binding.getProfile();
+ Assert.assertNotNull(profile);
+ Assert.assertEquals(2, profile.size());
+ binding.setProfile(profile);
+
+ String hostId = binding.getHostId();
+ Assert.assertNotNull(hostId);
+ binding.setHostId(hostId);
+
+ String vifType = binding.getVifType();
+ Assert.assertNotNull(vifType);
+ binding.setVifType(vifType);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/GatewayInfoTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/GatewayInfoTest.java
new file mode 100644
index 0000000..3e8c37f
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/GatewayInfoTest.java
@@ -0,0 +1,65 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.GatewayInfo;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class GatewayInfoTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"network_id\" : \"networkid\"" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + GatewayInfo.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ GatewayInfo gatewayinfo = objectMapper.readValue(JSON_FULL, GatewayInfo.class);
+ String json = objectMapper.writeValueAsString(gatewayinfo);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ GatewayInfo gatewayinfo = objectMapper.readValue(JSON_FULL, GatewayInfo.class);
+ gatewayinfo.toString();
+
+ String networkId = gatewayinfo.getNetworkId();
+ Assert.assertNotNull(networkId);
+ gatewayinfo.setNetworkId(networkId);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/HostRouteTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/HostRouteTest.java
new file mode 100644
index 0000000..bfa7280
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/HostRouteTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.HostRoute;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class HostRouteTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + HostRoute.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ HostRoute hostroute = objectMapper.readValue(JSON_FULL, HostRoute.class);
+ String json = objectMapper.writeValueAsString(hostroute);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ HostRoute hostroute = objectMapper.readValue(JSON_FULL, HostRoute.class);
+ hostroute.toString();
+
+ String destination = hostroute.getDestination();
+ Assert.assertNotNull(destination);
+ hostroute.setDestination(destination);
+
+ String nexthop = hostroute.getNexthop();
+ Assert.assertNotNull(nexthop);
+ hostroute.setNexthop(nexthop);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpTest.java
new file mode 100644
index 0000000..79fbff5
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Port.Ip;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class IpTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Ip.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Ip ip = objectMapper.readValue(JSON_FULL, Ip.class);
+ String json = objectMapper.writeValueAsString(ip);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Ip ip = objectMapper.readValue(JSON_FULL, Ip.class);
+ ip.toString();
+
+ String subnetId = ip.getSubnetId();
+ Assert.assertNotNull(subnetId);
+ ip.setSubnetId(subnetId);
+
+ String address = ip.getAddress();
+ Assert.assertNotNull(address);
+ ip.setAddress(address);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpVersionTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpVersionTest.java
new file mode 100644
index 0000000..b2a8604
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/IpVersionTest.java
@@ -0,0 +1,58 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Subnet.IpVersion;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class IpVersionTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "4";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + IpVersion.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ IpVersion ipversion = objectMapper.readValue(JSON_FULL, IpVersion.class);
+ String json = objectMapper.writeValueAsString(ipversion);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ IpVersion ipversion = objectMapper.readValue(JSON_FULL, IpVersion.class);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworkTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworkTest.java
index e736359..b9d5b37 100644
--- a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworkTest.java
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworkTest.java
@@ -2,8 +2,8 @@
* ============LICENSE_START=======================================================
* ONAP - SO
* ================================================================================
- * Copyright (C) 2018 Huawei Intellectual Property. All rights reserved.
- * ================================================================================
+ * 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
@@ -20,120 +20,101 @@
package com.woorea.openstack.quantum.model;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.hasItem;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
-
-import java.util.Arrays;
-
+import com.woorea.openstack.quantum.model.Network;
+import com.woorea.openstack.quantum.model.Segment;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
-import org.junit.Before;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
public class NetworkTest {
- private static final String ID = "testId";
-
- private static final boolean ADMIN_STATE_UP = true;
-
- private static final String NAME = "name";
-
- private static final String TENANT_ID = "tenantId";
-
- private static final String SHARED = "shared";
-
- private static final String STATUS = "status";
-
- private static final String SUBNET = "subnet";
-
- private static final String PROVIDER_NETWORK_TYPE = "vlan";
-
- private static final String PROVIDER_PHYSICAL_NETWORK = "physicalNetwork";
-
- private static final int PROVIDER_SEGMENTATION_ID = 100;
-
- private static final String ROUTER_EXTERNAL = "routerExternal";
-
- /**
- * JSON with read only attributes.
- */
- private static final String NETWORK_JSON = "{"
- + " \"network\" : {"
- + " \"id\" : \"" + ID + "\","
- + " \"status\" : \"" + STATUS + "\","
- + " \"subnets\" : [ \"" + SUBNET + "\" ]"
- + " }"
- + "}";
-
- private ObjectMapper objectMapper;
-
- private String serializedNetwork;
-
- @Before
- public void setUp() throws Exception {
- objectMapper = PortTest.initializeObjectMapper();
- }
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"network\" : {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"shared\" : \"shared\"," + EOL
+ + " \"segments\" : [ {" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + " }, {" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + " } ]," + EOL
+ + " \"admin_state_up\" : false," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92," + EOL
+ + " \"router:external\" : \"routerexternal\"" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
@Test
public void testSerialization() throws Exception {
- Network network = new Network();
- network.setId(ID);
- network.setProviderNetworkType(PROVIDER_NETWORK_TYPE);
- network.setProviderPhysicalNetwork(PROVIDER_PHYSICAL_NETWORK);
- network.setProviderSegmentationId(PROVIDER_SEGMENTATION_ID);
- network.setAdminStateUp(ADMIN_STATE_UP);
- network.setSubnets(Arrays.asList(SUBNET));
- network.setRouterExternal(ROUTER_EXTERNAL);
- network.setName(NAME);
- network.setShared(SHARED);
- network.setTenantId(TENANT_ID);
-
- serializedNetwork = objectMapper.writeValueAsString(network);
- assertThat(serializedNetwork, not(containsString(ID)));
- assertThat(serializedNetwork, not(containsString(STATUS)));
- assertThat(serializedNetwork, not(containsString(SUBNET)));
- assertThat(serializedNetwork, containsString("\"admin_state_up\" : " + ADMIN_STATE_UP));
- assertThat(serializedNetwork, containsString(NAME));
- assertThat(serializedNetwork, containsString(SHARED));
- assertThat(serializedNetwork, containsString(TENANT_ID));
- assertThat(serializedNetwork, containsString(ROUTER_EXTERNAL));
- assertThat(serializedNetwork, containsString(PROVIDER_NETWORK_TYPE));
- assertThat(serializedNetwork, containsString(PROVIDER_PHYSICAL_NETWORK));
- assertThat(serializedNetwork, containsString(Integer.toString(PROVIDER_SEGMENTATION_ID)));
- }
-
- @Test
- public void testSerializationEmpty() throws Exception {
- Network network = new Network();
- serializedNetwork = objectMapper.writeValueAsString(network);
-
- assertThat(serializedNetwork, containsString("\"network\" : { }"));
+ System.out.println("CLASS: " + Network.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Network network = objectMapper.readValue(JSON_FULL, Network.class);
+ String json = objectMapper.writeValueAsString(network);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
}
@Test
- public void testDeserializationReadOnlyFields() throws Exception {
- Network network = objectMapper.readValue(NETWORK_JSON, Network.class);
-
- assertThat(network.getId(), is(equalTo(ID)));
- assertThat(network.getSubnets(), hasItem(equalTo(SUBNET)));
- assertThat(network.getStatus(), is(equalTo(STATUS)));
- }
-
- @Test
- public void testDeserialization() throws Exception {
- testSerialization();
- Network network = objectMapper.readValue(serializedNetwork, Network.class);
-
- assertThat(network.getName(), is(equalTo(NAME)));
- assertThat(network.isAdminStateUp(), is(equalTo(ADMIN_STATE_UP)));
- assertThat(network.getShared(), is(equalTo(SHARED)));
- assertThat(network.getTenantId(), is(equalTo(TENANT_ID)));
- assertThat(network.getRouterExternal(), is(equalTo(ROUTER_EXTERNAL)));
- assertThat(network.getProviderNetworkType(), is(equalTo(PROVIDER_NETWORK_TYPE)));
- assertThat(network.getProviderPhysicalNetwork(), is(equalTo(PROVIDER_PHYSICAL_NETWORK)));
- assertThat(network.getProviderSegmentationId(), is(equalTo(PROVIDER_SEGMENTATION_ID)));
+ public void testMethods() throws Exception {
+ Network network = objectMapper.readValue(JSON_FULL, Network.class);
+ network.toString();
+
+ String shared = network.getShared();
+ Assert.assertNotNull(shared);
+ network.setShared(shared);
+
+ String providerNetworkType = network.getProviderNetworkType();
+ Assert.assertNotNull(providerNetworkType);
+ network.setProviderNetworkType(providerNetworkType);
+
+ String routerExternal = network.getRouterExternal();
+ Assert.assertNotNull(routerExternal);
+ network.setRouterExternal(routerExternal);
+
+ Integer providerSegmentationId = network.getProviderSegmentationId();
+ Assert.assertNotNull(providerSegmentationId);
+ network.setProviderSegmentationId(providerSegmentationId);
+
+ List<Segment> segments = network.getSegments();
+ Assert.assertNotNull(segments);
+ Assert.assertEquals(2, segments.size());
+ network.setSegments(segments);
+
+ Boolean adminStateUp = network.getAdminStateUp();
+ Assert.assertNotNull(adminStateUp);
+ network.setAdminStateUp(adminStateUp);
+
+ String tenantId = network.getTenantId();
+ Assert.assertNotNull(tenantId);
+ network.setTenantId(tenantId);
+
+ String name = network.getName();
+ Assert.assertNotNull(name);
+ network.setName(name);
+
+ String providerPhysicalNetwork = network.getProviderPhysicalNetwork();
+ Assert.assertNotNull(providerPhysicalNetwork);
+ network.setProviderPhysicalNetwork(providerPhysicalNetwork);
}
}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworksTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworksTest.java
new file mode 100644
index 0000000..dd39cf5
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NetworksTest.java
@@ -0,0 +1,110 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Network;
+import com.woorea.openstack.quantum.model.Networks;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class NetworksTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"networks\" : [ {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"shared\" : \"shared\"," + EOL
+ + " \"segments\" : [ {" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + " }, {" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + " } ]," + EOL
+ + " \"admin_state_up\" : false," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92," + EOL
+ + " \"router:external\" : \"routerexternal\"" + EOL
+ + " }, {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"shared\" : \"shared\"," + EOL
+ + " \"segments\" : [ {" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + " }, {" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + " } ]," + EOL
+ + " \"admin_state_up\" : false," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92," + EOL
+ + " \"router:external\" : \"routerexternal\"" + EOL
+ + " } ]" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Networks.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Networks networks = objectMapper.readValue(JSON_FULL, Networks.class);
+ String json = objectMapper.writeValueAsString(networks);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Networks networks = objectMapper.readValue(JSON_FULL, Networks.class);
+ networks.toString();
+
+ List<Network> list = networks.getList();
+ Assert.assertNotNull(list);
+ Assert.assertEquals(2, list.size());
+ networks.setList(list);
+
+ int cnt = 0;
+ for (@SuppressWarnings("unused") Network x : networks) {
+ ++cnt;
+ }
+ Assert.assertEquals(2, cnt);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NeutronErrorTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NeutronErrorTest.java
new file mode 100644
index 0000000..a0031ee
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/NeutronErrorTest.java
@@ -0,0 +1,76 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.NeutronError;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class NeutronErrorTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"NeutronError\" : {" + EOL
+ + " \"type\" : \"type\"," + EOL
+ + " \"message\" : \"message\"," + EOL
+ + " \"detail\" : \"detail\"" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + NeutronError.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ NeutronError neutronerror = objectMapper.readValue(JSON_FULL, NeutronError.class);
+ String json = objectMapper.writeValueAsString(neutronerror);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ NeutronError neutronerror = objectMapper.readValue(JSON_FULL, NeutronError.class);
+ neutronerror.toString();
+
+ String detail = neutronerror.getDetail();
+ Assert.assertNotNull(detail);
+
+ String type = neutronerror.getType();
+ Assert.assertNotNull(type);
+
+ String message = neutronerror.getMessage();
+ Assert.assertNotNull(message);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PoolTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PoolTest.java
new file mode 100644
index 0000000..c2cf38e
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PoolTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Pool;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class PoolTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Pool.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Pool pool = objectMapper.readValue(JSON_FULL, Pool.class);
+ String json = objectMapper.writeValueAsString(pool);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Pool pool = objectMapper.readValue(JSON_FULL, Pool.class);
+ pool.toString();
+
+ String start = pool.getStart();
+ Assert.assertNotNull(start);
+ pool.setStart(start);
+
+ String end = pool.getEnd();
+ Assert.assertNotNull(end);
+ pool.setEnd(end);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortTest.java
index 7baa8d9..756753d 100644
--- a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortTest.java
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortTest.java
@@ -2,8 +2,8 @@
* ============LICENSE_START=======================================================
* ONAP - SO
* ================================================================================
- * Copyright (C) 2018 Huawei Intellectual Property. All rights reserved.
- * ================================================================================
+ * 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
@@ -20,156 +20,116 @@
package com.woorea.openstack.quantum.model;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.hasItem;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
-
-import java.util.ArrayList;
-import java.util.Arrays;
+import com.woorea.openstack.quantum.model.Port;
+import com.woorea.openstack.quantum.model.Port.Binding;
+import com.woorea.openstack.quantum.model.Port.Ip;
import java.util.List;
-
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-import org.hamcrest.CustomMatcher;
-import org.junit.Before;
+import org.junit.Assert;
import org.junit.Test;
-
-import com.woorea.openstack.quantum.model.Port.Ip;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
public class PortTest {
- private static final String TENANT_ID = "tenantId";
-
- private static final String STATUS = "status";
-
- private static final String NETWORK_ID = "networkId";
-
- private static final String NAME = "name";
-
- private static final String MAC_ADDRESS = "macAddress";
-
- private static final String DEVICE_OWNER = "deviceOwner";
-
- private static final String DEVICE_ID = "deviceId";
-
- private static final String IP_SUBNET_ID = "ipSubnetId";
-
- private static final String IP_ADDRESS = "10.0.0.1";
-
- private static final boolean ADMIN_STATE_UP = true;
-
- private static final String SEC_GROUP = "secGroup";
-
- private static final String ID = "testId";
-
- /**
- * JSON with read only attributes.
- */
- private static final String PORT_JSON = "{"
- + " \"port\" : {"
- + " \"id\" : \"" + ID + "\","
- + " \"status\" : \"" + STATUS + "\""
- + " }"
- + "}";
-
- private ObjectMapper objectMapper;
-
- private String serializedPort;
-
- @Before
- public void setUp() throws Exception {
- objectMapper = initializeObjectMapper();
- }
-
- public static ObjectMapper initializeObjectMapper() {
- ObjectMapper objectMapper = new ObjectMapper();
- objectMapper.setSerializationInclusion(Inclusion.NON_NULL)
- .enable(SerializationConfig.Feature.INDENT_OUTPUT)
- .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
- .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
- .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
- return objectMapper;
- }
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"port\" : {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"binding:host_id\" : \"hostid\"," + EOL
+ + " \"binding:vif_type\" : \"viftype\"," + EOL
+ + " \"binding:vnic_type\" : \"vnictype\"," + EOL
+ + " \"binding:vif_details\" : {" + EOL
+ + " \"vifdetails-k1\" : \"vifdetails-v1\"," + EOL
+ + " \"vifdetails-k2\" : \"vifdetails-v2\"" + EOL
+ + " }," + EOL
+ + " \"binding:profile\" : {" + EOL
+ + " \"profile-k1\" : \"profile-v1\"," + EOL
+ + " \"profile-k2\" : \"profile-v2\"" + EOL
+ + " }," + EOL
+ + " \"admin_state_up\" : false," + EOL
+ + " \"device_id\" : \"deviceid\"," + EOL
+ + " \"device_owner\" : \"deviceowner\"," + EOL
+ + " \"fixed_ips\" : [ {" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + " }, {" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + " } ]," + EOL
+ + " \"mac_address\" : \"macaddress\"," + EOL
+ + " \"network_id\" : \"networkid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"security_groups\" : [ \"securitygroups-v1\", \"securitygroups-v2\" ]" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
@Test
public void testSerialization() throws Exception {
- Port port = new Port();
- port.setId(ID);
- port.setAdminStateUp(ADMIN_STATE_UP);
- port.setSecurityGroups(Arrays.asList(SEC_GROUP));
- port.setDeviceId(DEVICE_ID);
- port.setDeviceOwner(DEVICE_OWNER);
- port.setMacAddress(MAC_ADDRESS);
- port.setName(NAME);
- port.setNetworkId(NETWORK_ID);
- port.setStatus(STATUS);
- port.setTenantId(TENANT_ID);
-
- List<Ip> ips = new ArrayList<Port.Ip>();
- Ip ip = new Ip();
- ip.setAddress(IP_ADDRESS);
- ip.setSubnetId(IP_SUBNET_ID);
- ips.add(ip);
- port.setList(ips);
-
- serializedPort = objectMapper.writeValueAsString(port);
- assertThat(serializedPort, not(containsString(ID)));
- assertThat(serializedPort, not(containsString(STATUS)));
- assertThat(serializedPort, containsString("\"admin_state_up\" : " + ADMIN_STATE_UP));
- assertThat(serializedPort, containsString(SEC_GROUP));
- assertThat(serializedPort, containsString(IP_ADDRESS));
- assertThat(serializedPort, containsString(DEVICE_ID));
- assertThat(serializedPort, containsString(DEVICE_OWNER));
- assertThat(serializedPort, containsString(MAC_ADDRESS));
- assertThat(serializedPort, containsString(NAME));
- assertThat(serializedPort, containsString(NETWORK_ID));
- assertThat(serializedPort, containsString(TENANT_ID));
- }
-
- @Test
- public void testSerializationEmpty() throws Exception {
- Port port = new Port();
- serializedPort = objectMapper.writeValueAsString(port);
-
- assertThat(serializedPort, containsString("\"port\" : { }"));
+ System.out.println("CLASS: " + Port.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Port port = objectMapper.readValue(JSON_FULL, Port.class);
+ String json = objectMapper.writeValueAsString(port);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
}
@Test
- public void testDeserializationReadOnlyFields() throws Exception {
- Port port = objectMapper.readValue(PORT_JSON, Port.class);
-
- assertThat(port.getId(), is(equalTo(ID)));
- assertThat(port.getStatus(), is(equalTo(STATUS)));
- }
-
- @Test
- public void testDeserializationAfterSerialization() throws Exception {
- testSerialization();
- Port port = objectMapper.readValue(serializedPort, Port.class);
-
- assertThat(port.getAdminStateUp(), is(equalTo(ADMIN_STATE_UP)));
- assertThat(port.getDeviceId(), is(equalTo(DEVICE_ID)));
- assertThat(port.getDeviceOwner(), is(equalTo(DEVICE_OWNER)));
- assertThat(port.getMacAddress(), is(equalTo(MAC_ADDRESS)));
- assertThat(port.getName(), is(equalTo(NAME)));
- assertThat(port.getNetworkId(), is(equalTo(NETWORK_ID)));
- assertThat(port.getTenantId(), is(equalTo(TENANT_ID)));
-
- assertThat(port.getSecurityGroups(), hasItem(equalTo(SEC_GROUP)));
- assertThat(port.getList(), hasItem(new CustomMatcher<Ip>(
- "an Ip object with address " + IP_ADDRESS + " and subnet id " + IP_SUBNET_ID) {
-
- @Override
- public boolean matches(Object ip) {
- return ip instanceof Ip
- && IP_ADDRESS.equals(((Ip) ip).getAddress())
- && IP_SUBNET_ID.equals(((Ip) ip).getSubnetId());
- }
- }));
+ public void testMethods() throws Exception {
+ Port port = objectMapper.readValue(JSON_FULL, Port.class);
+ port.toString();
+
+ String deviceOwner = port.getDeviceOwner();
+ Assert.assertNotNull(deviceOwner);
+ port.setDeviceOwner(deviceOwner);
+
+ Boolean adminStateUp = port.getAdminStateUp();
+ Assert.assertNotNull(adminStateUp);
+ port.setAdminStateUp(adminStateUp);
+
+ String name = port.getName();
+ Assert.assertNotNull(name);
+ port.setName(name);
+
+ String tenantId = port.getTenantId();
+ Assert.assertNotNull(tenantId);
+ port.setTenantId(tenantId);
+
+ Binding binding = port.getBinding();
+ Assert.assertNotNull(binding);
+ port.setBinding(binding);
+
+ String macAddress = port.getMacAddress();
+ Assert.assertNotNull(macAddress);
+ port.setMacAddress(macAddress);
+
+ String networkId = port.getNetworkId();
+ Assert.assertNotNull(networkId);
+ port.setNetworkId(networkId);
+
+ List<Ip> list = port.getList();
+ Assert.assertNotNull(list);
+ Assert.assertEquals(2, list.size());
+ port.setList(list);
+
+ List<String> securityGroups = port.getSecurityGroups();
+ Assert.assertNotNull(securityGroups);
+ Assert.assertEquals(2, securityGroups.size());
+ port.setSecurityGroups(securityGroups);
+
+ String deviceId = port.getDeviceId();
+ Assert.assertNotNull(deviceId);
+ port.setDeviceId(deviceId);
}
}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortsTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortsTest.java
new file mode 100644
index 0000000..860ea7c
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/PortsTest.java
@@ -0,0 +1,128 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Port;
+import com.woorea.openstack.quantum.model.Ports;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class PortsTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"ports\" : [ {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"binding:host_id\" : \"hostid\"," + EOL
+ + " \"binding:vif_type\" : \"viftype\"," + EOL
+ + " \"binding:vnic_type\" : \"vnictype\"," + EOL
+ + " \"binding:vif_details\" : {" + EOL
+ + " \"vifdetails-k1\" : \"vifdetails-v1\"," + EOL
+ + " \"vifdetails-k2\" : \"vifdetails-v2\"" + EOL
+ + " }," + EOL
+ + " \"binding:profile\" : {" + EOL
+ + " \"profile-k1\" : \"profile-v1\"," + EOL
+ + " \"profile-k2\" : \"profile-v2\"" + EOL
+ + " }," + EOL
+ + " \"admin_state_up\" : false," + EOL
+ + " \"device_id\" : \"deviceid\"," + EOL
+ + " \"device_owner\" : \"deviceowner\"," + EOL
+ + " \"fixed_ips\" : [ {" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + " }, {" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + " } ]," + EOL
+ + " \"mac_address\" : \"macaddress\"," + EOL
+ + " \"network_id\" : \"networkid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"security_groups\" : [ \"securitygroups-v1\", \"securitygroups-v2\" ]" + EOL
+ + " }, {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"binding:host_id\" : \"hostid\"," + EOL
+ + " \"binding:vif_type\" : \"viftype\"," + EOL
+ + " \"binding:vnic_type\" : \"vnictype\"," + EOL
+ + " \"binding:vif_details\" : {" + EOL
+ + " \"vifdetails-k1\" : \"vifdetails-v1\"," + EOL
+ + " \"vifdetails-k2\" : \"vifdetails-v2\"" + EOL
+ + " }," + EOL
+ + " \"binding:profile\" : {" + EOL
+ + " \"profile-k1\" : \"profile-v1\"," + EOL
+ + " \"profile-k2\" : \"profile-v2\"" + EOL
+ + " }," + EOL
+ + " \"admin_state_up\" : false," + EOL
+ + " \"device_id\" : \"deviceid\"," + EOL
+ + " \"device_owner\" : \"deviceowner\"," + EOL
+ + " \"fixed_ips\" : [ {" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + " }, {" + EOL
+ + " \"ip_address\" : \"address\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + " } ]," + EOL
+ + " \"mac_address\" : \"macaddress\"," + EOL
+ + " \"network_id\" : \"networkid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"security_groups\" : [ \"securitygroups-v1\", \"securitygroups-v2\" ]" + EOL
+ + " } ]" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Ports.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Ports ports = objectMapper.readValue(JSON_FULL, Ports.class);
+ String json = objectMapper.writeValueAsString(ports);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Ports ports = objectMapper.readValue(JSON_FULL, Ports.class);
+ ports.toString();
+
+ List<Port> list = ports.getList();
+ Assert.assertNotNull(list);
+ Assert.assertEquals(2, list.size());
+ ports.setList(list);
+
+ int cnt = 0;
+ for (@SuppressWarnings("unused") Port x : ports) {
+ ++cnt;
+ }
+ Assert.assertEquals(2, cnt);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForAddInterfaceTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForAddInterfaceTest.java
new file mode 100644
index 0000000..148637f
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForAddInterfaceTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.RouterForAddInterface;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class RouterForAddInterfaceTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"routerId\" : \"routerid\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + RouterForAddInterface.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ RouterForAddInterface routerforaddinterface = objectMapper.readValue(JSON_FULL, RouterForAddInterface.class);
+ String json = objectMapper.writeValueAsString(routerforaddinterface);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ RouterForAddInterface routerforaddinterface = objectMapper.readValue(JSON_FULL, RouterForAddInterface.class);
+ routerforaddinterface.toString();
+
+ String subnetId = routerforaddinterface.getSubnetId();
+ Assert.assertNotNull(subnetId);
+ routerforaddinterface.setSubnetId(subnetId);
+
+ String routerId = routerforaddinterface.getRouterId();
+ Assert.assertNotNull(routerId);
+ routerforaddinterface.setRouterId(routerId);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForCreateTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForCreateTest.java
new file mode 100644
index 0000000..f7df840
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterForCreateTest.java
@@ -0,0 +1,111 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.GatewayInfo;
+import com.woorea.openstack.quantum.model.HostRoute;
+import com.woorea.openstack.quantum.model.RouterForCreate;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class RouterForCreateTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"router\" : {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"routes\" : [ {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " }, {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " } ]," + EOL
+ + " \"admin_state_up\" : \"admin_state_up\"," + EOL
+ + " \"status\" : \"status\"," + EOL
+ + " \"id\" : \"id\"," + EOL
+ + " \"external_gateway_info\" : {" + EOL
+ + " \"network_id\" : \"networkid\"" + EOL
+ + " }," + EOL
+ + " \"tenant_id\" : \"tenantid\"" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + RouterForCreate.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ RouterForCreate routerforcreate = objectMapper.readValue(JSON_FULL, RouterForCreate.class);
+ String json = objectMapper.writeValueAsString(routerforcreate);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ RouterForCreate routerforcreate = objectMapper.readValue(JSON_FULL, RouterForCreate.class);
+ routerforcreate.toString();
+
+ List<HostRoute> routes = routerforcreate.getRoutes();
+ Assert.assertNotNull(routes);
+ Assert.assertEquals(2, routes.size());
+ routerforcreate.setRoutes(routes);
+
+ String admin_state_up = routerforcreate.getAdmin_state_up();
+ Assert.assertNotNull(admin_state_up);
+ routerforcreate.setAdmin_state_up(admin_state_up);
+
+ String name = routerforcreate.getName();
+ Assert.assertNotNull(name);
+ routerforcreate.setName(name);
+
+ String tenantId = routerforcreate.getTenantId();
+ Assert.assertNotNull(tenantId);
+ routerforcreate.setTenantId(tenantId);
+
+ GatewayInfo externalGatewayInfo = routerforcreate.getExternalGatewayInfo();
+ Assert.assertNotNull(externalGatewayInfo);
+ routerforcreate.setExternalGatewayInfo(externalGatewayInfo);
+
+ String id = routerforcreate.getId();
+ Assert.assertNotNull(id);
+ routerforcreate.setId(id);
+
+ String status = routerforcreate.getStatus();
+ Assert.assertNotNull(status);
+ routerforcreate.setStatus(status);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterInterfaceTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterInterfaceTest.java
new file mode 100644
index 0000000..24713b7
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterInterfaceTest.java
@@ -0,0 +1,64 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.RouterInterface;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class RouterInterfaceTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"id\" : \"id\"," + EOL
+ + " \"subnet_id\" : \"subnetid\"," + EOL
+ + " \"port_id\" : \"portid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + RouterInterface.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ RouterInterface routerinterface = objectMapper.readValue(JSON_FULL, RouterInterface.class);
+ String json = objectMapper.writeValueAsString(routerinterface);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ RouterInterface routerinterface = objectMapper.readValue(JSON_FULL, RouterInterface.class);
+ routerinterface.toString();
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterTest.java
new file mode 100644
index 0000000..2ad549c
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RouterTest.java
@@ -0,0 +1,111 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.GatewayInfo;
+import com.woorea.openstack.quantum.model.HostRoute;
+import com.woorea.openstack.quantum.model.Router;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class RouterTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"router\" : {" + EOL
+ + " \"status\" : \"status\"," + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"admin_state_up\" : \"admin_state_up\"," + EOL
+ + " \"id\" : \"id\"," + EOL
+ + " \"routes\" : [ {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " }, {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " } ]," + EOL
+ + " \"external_gateway_info\" : {" + EOL
+ + " \"network_id\" : \"networkid\"" + EOL
+ + " }," + EOL
+ + " \"tenant_id\" : \"tenantid\"" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Router.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Router router = objectMapper.readValue(JSON_FULL, Router.class);
+ String json = objectMapper.writeValueAsString(router);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Router router = objectMapper.readValue(JSON_FULL, Router.class);
+ router.toString();
+
+ List<HostRoute> routes = router.getRoutes();
+ Assert.assertNotNull(routes);
+ Assert.assertEquals(2, routes.size());
+ router.setRoutes(routes);
+
+ String admin_state_up = router.getAdmin_state_up();
+ Assert.assertNotNull(admin_state_up);
+ router.setAdmin_state_up(admin_state_up);
+
+ String name = router.getName();
+ Assert.assertNotNull(name);
+ router.setName(name);
+
+ String tenantId = router.getTenantId();
+ Assert.assertNotNull(tenantId);
+ router.setTenantId(tenantId);
+
+ GatewayInfo externalGatewayInfo = router.getExternalGatewayInfo();
+ Assert.assertNotNull(externalGatewayInfo);
+ router.setExternalGatewayInfo(externalGatewayInfo);
+
+ String id = router.getId();
+ Assert.assertNotNull(id);
+ router.setId(id);
+
+ String status = router.getStatus();
+ Assert.assertNotNull(status);
+ router.setStatus(status);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RoutersTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RoutersTest.java
new file mode 100644
index 0000000..ad955c8
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/RoutersTest.java
@@ -0,0 +1,106 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Router;
+import com.woorea.openstack.quantum.model.Routers;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class RoutersTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"routers\" : [ {" + EOL
+ + " \"status\" : \"status\"," + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"admin_state_up\" : \"admin_state_up\"," + EOL
+ + " \"id\" : \"id\"," + EOL
+ + " \"routes\" : [ {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " }, {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " } ]," + EOL
+ + " \"external_gateway_info\" : {" + EOL
+ + " \"network_id\" : \"networkid\"" + EOL
+ + " }," + EOL
+ + " \"tenant_id\" : \"tenantid\"" + EOL
+ + " }, {" + EOL
+ + " \"status\" : \"status\"," + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"admin_state_up\" : \"admin_state_up\"," + EOL
+ + " \"id\" : \"id\"," + EOL
+ + " \"routes\" : [ {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " }, {" + EOL
+ + " \"destination\" : \"destination\"," + EOL
+ + " \"nexthop\" : \"nexthop\"" + EOL
+ + " } ]," + EOL
+ + " \"external_gateway_info\" : {" + EOL
+ + " \"network_id\" : \"networkid\"" + EOL
+ + " }," + EOL
+ + " \"tenant_id\" : \"tenantid\"" + EOL
+ + " } ]" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Routers.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Routers routers = objectMapper.readValue(JSON_FULL, Routers.class);
+ String json = objectMapper.writeValueAsString(routers);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Routers routers = objectMapper.readValue(JSON_FULL, Routers.class);
+ routers.toString();
+
+ List<Router> list = routers.getList();
+ Assert.assertNotNull(list);
+ Assert.assertEquals(2, list.size());
+ routers.setList(list);
+
+ int cnt = 0;
+ for (@SuppressWarnings("unused") Router x : routers) {
+ ++cnt;
+ }
+ Assert.assertEquals(2, cnt);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SegmentTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SegmentTest.java
new file mode 100644
index 0000000..9bc7fd7
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SegmentTest.java
@@ -0,0 +1,75 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Segment;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class SegmentTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"provider:physical_network\" : \"providerphysicalnetwork\"," + EOL
+ + " \"provider:network_type\" : \"providernetworktype\"," + EOL
+ + " \"provider:segmentation_id\" : 92" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Segment.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Segment segment = objectMapper.readValue(JSON_FULL, Segment.class);
+ String json = objectMapper.writeValueAsString(segment);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Segment segment = objectMapper.readValue(JSON_FULL, Segment.class);
+ segment.toString();
+
+ String providerNetworkType = segment.getProviderNetworkType();
+ Assert.assertNotNull(providerNetworkType);
+ segment.setProviderNetworkType(providerNetworkType);
+
+ Integer providerSegmentationId = segment.getProviderSegmentationId();
+ Assert.assertNotNull(providerSegmentationId);
+ segment.setProviderSegmentationId(providerSegmentationId);
+
+ String providerPhysicalNetwork = segment.getProviderPhysicalNetwork();
+ Assert.assertNotNull(providerPhysicalNetwork);
+ segment.setProviderPhysicalNetwork(providerPhysicalNetwork);
+ }
+}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetTest.java
index db27bf2..5e1c7e1 100644
--- a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetTest.java
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetTest.java
@@ -2,8 +2,8 @@
* ============LICENSE_START=======================================================
* ONAP - SO
* ================================================================================
- * Copyright (C) 2018 Huawei Intellectual Property. All rights reserved.
- * ================================================================================
+ * 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
@@ -20,138 +20,107 @@
package com.woorea.openstack.quantum.model;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.hasItem;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.junit.Assert.assertThat;
-
-import java.util.Arrays;
-
+import com.woorea.openstack.quantum.model.Pool;
+import com.woorea.openstack.quantum.model.Subnet;
+import com.woorea.openstack.quantum.model.Subnet.IpVersion;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
-import org.hamcrest.CustomMatcher;
-import org.junit.Before;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
import org.junit.Test;
-
-import com.woorea.openstack.quantum.model.Subnet.IpVersion;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
public class SubnetTest {
- private static final String POOL_END = "poolEnd";
-
- private static final String POOL_START = "poolStart";
-
- private static final String TENANT_ID = "tenantId";
-
- private static final String NETWORK_ID = "networkId";
-
- private static final String NAME = "name";
-
- private static final String HOST_ROUTE = "hostRoute";
-
- private static final String GATEWAY = "gw";
-
- private static final boolean ENABLE_DHCP = true;
-
- private static final String ID = "testId";
-
- private static final String CIDR = "10.0.0.0/8";
-
- private static final String DNS_SERVER = "dnsServer";
-
- private static final IpVersion IP_VERSION = IpVersion.IPV4;
-
- /**
- * JSON with read only attributes.
- */
- private static final String SUBNET_JSON = "{"
- + " \"subnet\" : {"
- + " \"id\" : \"" + ID + "\""
- + " }"
- + "}";
-
- private ObjectMapper objectMapper;
-
- private String serializedSubnet;
-
- @Before
- public void setUp() throws Exception {
- objectMapper = PortTest.initializeObjectMapper();
- }
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"subnet\" : {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"cidr\" : \"cidr\"," + EOL
+ + " \"enable_dhcp\" : true," + EOL
+ + " \"network_id\" : \"networkid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"dns_nameservers\" : [ \"dnsnames-v1\", \"dnsnames-v2\" ]," + EOL
+ + " \"allocation_pools\" : [ {" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + " }, {" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + " } ]," + EOL
+ + " \"host_routes\" : [ \"hostroutes-v1\", \"hostroutes-v2\" ]," + EOL
+ + " \"ip_version\" : 4," + EOL
+ + " \"gateway_ip\" : \"gw\"" + EOL
+ + " }" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(SerializationConfig.Feature.WRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
@Test
public void testSerialization() throws Exception {
- Subnet subnet = new Subnet();
- subnet.setId(ID);
- subnet.setCidr(CIDR);
- subnet.setDnsNames(Arrays.asList(DNS_SERVER));
- subnet.setEnableDHCP(ENABLE_DHCP);
- subnet.setIpversion(IP_VERSION);
- subnet.setGw(GATEWAY);
- subnet.setHostRoutes(Arrays.asList(HOST_ROUTE));
- subnet.setName(NAME);
- subnet.setNetworkId(NETWORK_ID);
- subnet.setTenantId(TENANT_ID);
-
- Pool pool = new Pool();
- pool.setStart(POOL_START);
- pool.setEnd(POOL_END);
- subnet.setList(Arrays.asList(pool));
-
- serializedSubnet = objectMapper.writeValueAsString(subnet);
- assertThat(serializedSubnet, not(containsString(ID)));
- assertThat(serializedSubnet, containsString(CIDR));
- assertThat(serializedSubnet, containsString(DNS_SERVER));
- assertThat(serializedSubnet, containsString("\"enable_dhcp\" : " + ENABLE_DHCP));
- assertThat(serializedSubnet, containsString(Integer.toString(IP_VERSION.code())));
- assertThat(serializedSubnet, containsString(GATEWAY));
- assertThat(serializedSubnet, containsString(HOST_ROUTE));
- assertThat(serializedSubnet, containsString(NAME));
- assertThat(serializedSubnet, containsString(NETWORK_ID));
- assertThat(serializedSubnet, containsString(TENANT_ID));
- assertThat(serializedSubnet, containsString(POOL_START));
- assertThat(serializedSubnet, containsString(POOL_END));
+ System.out.println("CLASS: " + Subnet.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Subnet subnet = objectMapper.readValue(JSON_FULL, Subnet.class);
+ String json = objectMapper.writeValueAsString(subnet);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
}
@Test
- public void testSerializationEmpty() throws Exception {
- Subnet subnet = new Subnet();
- serializedSubnet = objectMapper.writeValueAsString(subnet);
-
- assertThat(serializedSubnet, containsString("\"subnet\" : { }"));
- }
-
- @Test
- public void testDeserializationReadOnlyFields() throws Exception {
- Subnet subnet = objectMapper.readValue(SUBNET_JSON, Subnet.class);
-
- assertThat(subnet.getId(), is(equalTo(ID)));
- }
-
- @Test
- public void testDeserializationAfterSerialization() throws Exception {
- testSerialization();
- Subnet subnet = objectMapper.readValue(serializedSubnet, Subnet.class);
-
- assertThat(subnet.getCidr(), is(equalTo(CIDR)));
- assertThat(subnet.getDnsNames(), hasItem(equalTo(DNS_SERVER)));
- assertThat(subnet.isEnableDHCP(), is(equalTo(ENABLE_DHCP)));
- assertThat(subnet.getIpversion(), is(equalTo(IP_VERSION)));
- assertThat(subnet.getGw(), is(equalTo(GATEWAY)));
- assertThat(subnet.getHostRoutes(), hasItem(equalTo(HOST_ROUTE)));
- assertThat(subnet.getName(), is(equalTo(NAME)));
- assertThat(subnet.getNetworkId(), is(equalTo(NETWORK_ID)));
- assertThat(subnet.getTenantId(), is(equalTo(TENANT_ID)));
- assertThat(subnet.getList(), hasItem(new CustomMatcher<Pool>(
- "a Pool object with start " + POOL_START + " and end " + POOL_END) {
-
- @Override
- public boolean matches(Object pool) {
- return pool instanceof Pool
- && POOL_START.equals(((Pool) pool).getStart())
- && POOL_END.equals(((Pool) pool).getEnd());
- }
- }));
+ public void testMethods() throws Exception {
+ Subnet subnet = objectMapper.readValue(JSON_FULL, Subnet.class);
+ subnet.toString();
+
+ String gw = subnet.getGw();
+ Assert.assertNotNull(gw);
+ subnet.setGw(gw);
+
+ List<String> dnsNames = subnet.getDnsNames();
+ Assert.assertNotNull(dnsNames);
+ Assert.assertEquals(2, dnsNames.size());
+ subnet.setDnsNames(dnsNames);
+
+ List<String> hostRoutes = subnet.getHostRoutes();
+ Assert.assertNotNull(hostRoutes);
+ Assert.assertEquals(2, hostRoutes.size());
+ subnet.setHostRoutes(hostRoutes);
+
+ String name = subnet.getName();
+ Assert.assertNotNull(name);
+ subnet.setName(name);
+
+ String tenantId = subnet.getTenantId();
+ Assert.assertNotNull(tenantId);
+ subnet.setTenantId(tenantId);
+
+ String cidr = subnet.getCidr();
+ Assert.assertNotNull(cidr);
+ subnet.setCidr(cidr);
+
+ String networkId = subnet.getNetworkId();
+ Assert.assertNotNull(networkId);
+ subnet.setNetworkId(networkId);
+
+ Boolean enableDHCP = subnet.getEnableDHCP();
+ Assert.assertNotNull(enableDHCP);
+ subnet.setEnableDHCP(enableDHCP);
+
+ IpVersion ipversion = subnet.getIpversion();
+ Assert.assertNotNull(ipversion);
+ subnet.setIpversion(ipversion);
+
+ List<Pool> list = subnet.getList();
+ Assert.assertNotNull(list);
+ Assert.assertEquals(2, list.size());
+ subnet.setList(list);
}
}
diff --git a/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetsTest.java b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetsTest.java
new file mode 100644
index 0000000..d01d3f6
--- /dev/null
+++ b/quantum-model/src/test/java/com/woorea/openstack/quantum/model/SubnetsTest.java
@@ -0,0 +1,108 @@
+/*-
+ * ============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.quantum.model;
+
+import com.woorea.openstack.quantum.model.Subnet;
+import com.woorea.openstack.quantum.model.Subnets;
+import java.util.List;
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
+import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
+import org.junit.Assert;
+import org.junit.Test;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+
+public class SubnetsTest {
+
+ private static final String EOL = System.lineSeparator();
+
+ private static final String JSON_FULL = "{" + EOL
+ + " \"subnets\" : [ {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"cidr\" : \"cidr\"," + EOL
+ + " \"enable_dhcp\" : true," + EOL
+ + " \"network_id\" : \"networkid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"dns_nameservers\" : [ \"dnsnames-v1\", \"dnsnames-v2\" ]," + EOL
+ + " \"allocation_pools\" : [ {" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + " }, {" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + " } ]," + EOL
+ + " \"host_routes\" : [ \"hostroutes-v1\", \"hostroutes-v2\" ]," + EOL
+ + " \"ip_version\" : 4," + EOL
+ + " \"gateway_ip\" : \"gw\"" + EOL
+ + " }, {" + EOL
+ + " \"name\" : \"name\"," + EOL
+ + " \"cidr\" : \"cidr\"," + EOL
+ + " \"enable_dhcp\" : true," + EOL
+ + " \"network_id\" : \"networkid\"," + EOL
+ + " \"tenant_id\" : \"tenantid\"," + EOL
+ + " \"dns_nameservers\" : [ \"dnsnames-v1\", \"dnsnames-v2\" ]," + EOL
+ + " \"allocation_pools\" : [ {" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + " }, {" + EOL
+ + " \"start\" : \"start\"," + EOL
+ + " \"end\" : \"end\"" + EOL
+ + " } ]," + EOL
+ + " \"host_routes\" : [ \"hostroutes-v1\", \"hostroutes-v2\" ]," + EOL
+ + " \"ip_version\" : 4," + EOL
+ + " \"gateway_ip\" : \"gw\"" + EOL
+ + " } ]" + EOL
+ + "}";
+
+ private ObjectMapper objectMapper = new ObjectMapper()
+ .setSerializationInclusion(Inclusion.NON_NULL)
+ .enable(SerializationConfig.Feature.INDENT_OUTPUT)
+ .enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
+
+ @Test
+ public void testSerialization() throws Exception {
+ System.out.println("CLASS: " + Subnets.class.getName());
+ System.out.println("TEST JSON: " + JSON_FULL);
+ Subnets subnets = objectMapper.readValue(JSON_FULL, Subnets.class);
+ String json = objectMapper.writeValueAsString(subnets);
+ System.out.println("RE-SERIALIZED OBJECT: " + json);
+ JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT);
+ }
+
+ @Test
+ public void testMethods() throws Exception {
+ Subnets subnets = objectMapper.readValue(JSON_FULL, Subnets.class);
+ subnets.toString();
+
+ List<Subnet> list = subnets.getList();
+ Assert.assertNotNull(list);
+ Assert.assertEquals(2, list.size());
+ subnets.setList(list);
+
+ int cnt = 0;
+ for (@SuppressWarnings("unused") Subnet x : subnets) {
+ ++cnt;
+ }
+ Assert.assertEquals(2, cnt);
+ }
+}