package org.cloudifysource.esc.driver.provisioning.openstack; import java.io.File; import java.util.List; import org.apache.commons.io.FileUtils; import org.cloudifysource.esc.driver.provisioning.openstack.rest.Network; import org.cloudifysource.esc.driver.provisioning.openstack.rest.Port; import org.junit.Assert; import org.junit.Test; public class JsonUtilsTest { @Test public void testUnwrapRootToList() throws Exception { List<Network> list = JsonUtils.unwrapRootToList(Network.class, "{\"networks\":[{\"name\":\"test\"}]}"); Assert.assertNotNull(list); Assert.assertEquals(1, list.size()); Assert.assertEquals("test", list.get(0).getName()); list = JsonUtils.unwrapRootToList(Network.class, "{\"networks\": [0]}"); Assert.assertNull(list); } @Test public void testUnwrapRootToObject() throws Exception { Network network = JsonUtils.unwrapRootToObject(Network.class, "{\"network\":{\"name\":\"test\"}}"); Assert.assertNotNull(network); Assert.assertEquals("test", network.getName()); } @Test public void testPortsResponse() throws Exception { File file = new File("./src/test/resources/openstack/mappings/ports-response.json"); String jsonString = FileUtils.readFileToString(file); List<Port> ports = JsonUtils.unwrapRootToList(Port.class, jsonString); Assert.assertNotNull(ports); Assert.assertFalse(ports.isEmpty()); for (Port port : ports) { Assert.assertNotNull(port.getFixedIps()); Assert.assertFalse(port.getFixedIps().isEmpty()); Assert.assertNotNull(port.getFixedIps().get(0).getIpAddress()); } } }