diff options
author | Rob Daugherty <rd472p@att.com> | 2018-09-10 17:45:52 -0400 |
---|---|---|
committer | Rob Daugherty <rd472p@att.com> | 2018-09-10 17:53:28 -0400 |
commit | 9e0219abc61b28b94d88fefbf8cc4a13d1683a67 (patch) | |
tree | 2e1e76e80bcea8c398d2a22851dce66680e68352 /nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java | |
parent | 77ba0e5627d39af1459cf3058fb521e68b475220 (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 'nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java')
-rw-r--r-- | nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java | 552 |
1 files changed, 372 insertions, 180 deletions
diff --git a/nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java b/nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java index e7658c1..3aa4833 100644 --- a/nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.java +++ b/nova-model/src/test/java/com/woorea/openstack/nova/model/ServerTest.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 @@ -17,187 +17,379 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package com.woorea.openstack.nova.model; +import com.woorea.openstack.nova.model.Flavor; +import com.woorea.openstack.nova.model.Image; +import com.woorea.openstack.nova.model.Link; +import com.woorea.openstack.nova.model.SecurityGroup; +import com.woorea.openstack.nova.model.Server; +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.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 ServerTest { - Server server = new Server(); - - @Test - public void getId() throws Exception { - server.getId(); - } - - @Test - public void getName() throws Exception { - server.getName(); - } - - @Test - public void getAddresses() throws Exception { - server.getAddresses(); - } - - @Test - public void getLinks() throws Exception { - server.getLinks(); - } - - @Test - public void getImage() throws Exception { - server.getImage(); - } - - @Test - public void setImage() throws Exception { - server.setImage(new Image()); - } - - @Test - public void getFlavor() throws Exception { - server.getFlavor(); - } - - @Test - public void setFlavor() throws Exception { - server.setFlavor(new Flavor()); - } - - @Test - public void getAccessIPv4() throws Exception { - server.getAccessIPv4(); - } - - @Test - public void getAccessIPv6() throws Exception { - server.getAccessIPv6(); - } - - @Test - public void getConfigDrive() throws Exception { - server.getConfigDrive(); - } - - @Test - public void getStatus() throws Exception { - server.getStatus(); - } - - @Test - public void getProgress() throws Exception { - server.getProgress(); - } - - @Test - public void getFault() throws Exception { - server.getFault(); - } - - @Test - public void getTenantId() throws Exception { - server.getTenantId(); - } - - @Test - public void getUserId() throws Exception { - server.getUserId(); - } - - @Test - public void getKeyName() throws Exception { - server.getKeyName(); - } - - @Test - public void getHostId() throws Exception { - server.getHostId(); - } - - @Test - public void getUpdated() throws Exception { - server.getUpdated(); - } - - @Test - public void getCreated() throws Exception { - server.getCreated(); - } - - @Test - public void getMetadata() throws Exception { - server.getMetadata(); - } - - @Test - public void getSecurityGroups() throws Exception { - server.getSecurityGroups(); - } - - @Test - public void getTaskState() throws Exception { - server.getTaskState(); - } - - @Test - public void getPowerState() throws Exception { - server.getPowerState(); - } - - @Test - public void getVmState() throws Exception { - server.getVmState(); - } - - @Test - public void getHost() throws Exception { - server.getHost(); - } - - @Test - public void getInstanceName() throws Exception { - server.getInstanceName(); - } - - @Test - public void getHypervisorHostname() throws Exception { - server.getHypervisorHostname(); - } - - @Test - public void getDiskConfig() throws Exception { - server.getDiskConfig(); - } - - @Test - public void getAvailabilityZone() throws Exception { - server.getAvailabilityZone(); - } - - @Test - public void getLaunchedAt() throws Exception { - server.getLaunchedAt(); - } - - @Test - public void getTerminatedAt() throws Exception { - server.getTerminatedAt(); - } - - @Test - public void getOsExtendedVolumesAttached() throws Exception { - server.getOsExtendedVolumesAttached(); - } - - @Test - public void getUuid() throws Exception { - server.getUuid(); - } - - @Test - public void getAdminPass() throws Exception { - server.getAdminPass(); - } - -}
\ No newline at end of file + 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 + + " \"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 + + " \"links\" : [ {" + EOL + + " \"rel\" : \"rel\"," + EOL + + " \"href\" : \"href\"," + EOL + + " \"type\" : \"type\"" + EOL + + " }, {" + EOL + + " \"rel\" : \"rel\"," + EOL + + " \"href\" : \"href\"," + EOL + + " \"type\" : \"type\"" + EOL + + " } ]," + EOL + + " \"image\" : {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"status\" : \"status\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"progress\" : 3," + EOL + + " \"minRam\" : 62," + EOL + + " \"minDisk\" : 69," + EOL + + " \"created\" : 1485172800000," + EOL + + " \"updated\" : 1486468800000," + EOL + + " \"metadata\" : {" + EOL + + " \"metadata-k1\" : \"metadata-v1\"," + EOL + + " \"metadata-k2\" : \"metadata-v2\"" + EOL + + " }," + EOL + + " \"server\" : {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"links\" : [ {" + EOL + + " \"rel\" : \"rel\"," + EOL + + " \"href\" : \"href\"," + EOL + + " \"type\" : \"type\"" + EOL + + " }, {" + EOL + + " \"rel\" : \"rel\"," + EOL + + " \"href\" : \"href\"," + EOL + + " \"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 + + " \"OS-EXT-IMG-SIZE:size\" : 43" + EOL + + " }," + EOL + + " \"flavor\" : {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"vcpus\" : 79," + EOL + + " \"ram\" : 38," + EOL + + " \"disk\" : 45," + EOL + + " \"swap\" : \"swap\"," + EOL + + " \"links\" : [ {" + EOL + + " \"rel\" : \"rel\"," + EOL + + " \"href\" : \"href\"," + EOL + + " \"type\" : \"type\"" + EOL + + " }, {" + EOL + + " \"rel\" : \"rel\"," + EOL + + " \"href\" : \"href\"," + EOL + + " \"type\" : \"type\"" + EOL + + " } ]," + EOL + + " \"public\" : false," + EOL + + " \"OS-FLV-EXT-DATA:ephemeral\" : 65," + EOL + + " \"rxtx_factor\" : 11.0," + EOL + + " \"OS-FLV-DISABLED:disabled\" : true," + EOL + + " \"rxtx_quota\" : 42," + EOL + + " \"rxtx_cap\" : 96," + EOL + + " \"os-flavor-access:is_public\" : false" + EOL + + " }," + EOL + + " \"accessIPv4\" : \"accessipv4\"," + EOL + + " \"accessIPv6\" : \"accessipv6\"," + EOL + + " \"status\" : \"status\"," + EOL + + " \"progress\" : 3," + EOL + + " \"fault\" : {" + EOL + + " \"code\" : 29," + EOL + + " \"message\" : \"message\"," + EOL + + " \"details\" : \"details\"," + EOL + + " \"created\" : 1485172800000" + EOL + + " }," + EOL + + " \"hostId\" : \"hostid\"," + EOL + + " \"updated\" : \"updated\"," + EOL + + " \"created\" : \"created\"," + EOL + + " \"metadata\" : {" + EOL + + " \"metadata-k1\" : \"metadata-v1\"," + EOL + + " \"metadata-k2\" : \"metadata-v2\"" + EOL + + " }," + EOL + + " \"uuid\" : \"uuid\"," + EOL + + " \"adminPass\" : \"adminpass\"," + EOL + + " \"config_drive\" : \"configdrive\"," + EOL + + " \"tenant_id\" : \"tenantid\"," + EOL + + " \"user_id\" : \"userid\"," + EOL + + " \"key_name\" : \"keyname\"," + EOL + + " \"security_groups\" : [ {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"description\" : \"description\"," + EOL + + " \"rules\" : [ {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"group\" : {" + EOL + + " \"name\" : \"name\"," + EOL + + " \"tenant_id\" : \"tenantid\"" + EOL + + " }," + EOL + + " \"parent_group_id\" : \"parentgroupid\"," + EOL + + " \"from_port\" : 7," + EOL + + " \"to_port\" : 98," + EOL + + " \"ip_protocol\" : \"ipprotocol\"," + EOL + + " \"ip_range\" : {" + EOL + + " \"cidr\" : \"cidr\"" + EOL + + " }" + EOL + + " }, {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"group\" : {" + EOL + + " \"name\" : \"name\"," + EOL + + " \"tenant_id\" : \"tenantid\"" + EOL + + " }," + EOL + + " \"parent_group_id\" : \"parentgroupid\"," + EOL + + " \"from_port\" : 7," + EOL + + " \"to_port\" : 98," + EOL + + " \"ip_protocol\" : \"ipprotocol\"," + EOL + + " \"ip_range\" : {" + EOL + + " \"cidr\" : \"cidr\"" + 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 + + " \"tenant_id\" : \"tenantid\"" + EOL + + " }, {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"description\" : \"description\"," + EOL + + " \"rules\" : [ {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"group\" : {" + EOL + + " \"name\" : \"name\"," + EOL + + " \"tenant_id\" : \"tenantid\"" + EOL + + " }," + EOL + + " \"parent_group_id\" : \"parentgroupid\"," + EOL + + " \"from_port\" : 7," + EOL + + " \"to_port\" : 98," + EOL + + " \"ip_protocol\" : \"ipprotocol\"," + EOL + + " \"ip_range\" : {" + EOL + + " \"cidr\" : \"cidr\"" + EOL + + " }" + EOL + + " }, {" + EOL + + " \"id\" : \"id\"," + EOL + + " \"name\" : \"name\"," + EOL + + " \"group\" : {" + EOL + + " \"name\" : \"name\"," + EOL + + " \"tenant_id\" : \"tenantid\"" + EOL + + " }," + EOL + + " \"parent_group_id\" : \"parentgroupid\"," + EOL + + " \"from_port\" : 7," + EOL + + " \"to_port\" : 98," + EOL + + " \"ip_protocol\" : \"ipprotocol\"," + EOL + + " \"ip_range\" : {" + EOL + + " \"cidr\" : \"cidr\"" + 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 + + " \"tenant_id\" : \"tenantid\"" + EOL + + " } ]," + EOL + + " \"OS-EXT-STS:task_state\" : \"taskstate\"," + EOL + + " \"OS-EXT-STS:power_state\" : \"powerstate\"," + EOL + + " \"OS-EXT-STS:vm_state\" : \"vmstate\"," + EOL + + " \"OS-EXT-SRV-ATTR:host\" : \"host\"," + EOL + + " \"OS-EXT-SRV-ATTR:instance_name\" : \"instancename\"," + EOL + + " \"OS-EXT-SRV-ATTR:hypervisor_hostname\" : \"hypervisorhostname\"," + EOL + + " \"OS-DCF:diskConfig\" : \"diskconfig\"," + EOL + + " \"OS-EXT-AZ:availability_zone\" : \"availabilityzone\"," + EOL + + " \"OS-SRV-USG:launched_at\" : \"launchedat\"," + EOL + + " \"OS-SRV-USG:terminated_at\" : \"terminatedat\"," + EOL + + " \"os-extended-volumes:volumes_attached\" : [ \"osextendedvolumesattached-v1\", \"osextendedvolumesattached-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 { + System.out.println("CLASS: " + Server.class.getName()); + System.out.println("TEST JSON: " + JSON_FULL); + Server server = objectMapper.readValue(JSON_FULL, Server.class); + String json = objectMapper.writeValueAsString(server); + System.out.println("RE-SERIALIZED OBJECT: " + json); + JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT); + } + + @Test + public void testMethods() throws Exception { + Server server = objectMapper.readValue(JSON_FULL, Server.class); + server.toString(); + + Addresses addresses = server.getAddresses(); + Assert.assertNotNull(addresses); + + Map<String,String> metadata = server.getMetadata(); + Assert.assertNotNull(metadata); + Assert.assertEquals(2, metadata.size()); + + String hostId = server.getHostId(); + Assert.assertNotNull(hostId); + + String uuid = server.getUuid(); + Assert.assertNotNull(uuid); + + String userId = server.getUserId(); + Assert.assertNotNull(userId); + + String taskState = server.getTaskState(); + Assert.assertNotNull(taskState); + + String powerState = server.getPowerState(); + Assert.assertNotNull(powerState); + + String vmState = server.getVmState(); + Assert.assertNotNull(vmState); + + String tenantId = server.getTenantId(); + Assert.assertNotNull(tenantId); + + String configDrive = server.getConfigDrive(); + Assert.assertNotNull(configDrive); + + String host = server.getHost(); + Assert.assertNotNull(host); + + String keyName = server.getKeyName(); + Assert.assertNotNull(keyName); + + List<Link> links = server.getLinks(); + Assert.assertNotNull(links); + Assert.assertEquals(2, links.size()); + + String id = server.getId(); + Assert.assertNotNull(id); + + String launchedAt = server.getLaunchedAt(); + Assert.assertNotNull(launchedAt); + + Image image = server.getImage(); + Assert.assertNotNull(image); + server.setImage(image); + + String terminatedAt = server.getTerminatedAt(); + Assert.assertNotNull(terminatedAt); + + String created = server.getCreated(); + Assert.assertNotNull(created); + + Fault fault = server.getFault(); + Assert.assertNotNull(fault); + + String hypervisorHostname = server.getHypervisorHostname(); + Assert.assertNotNull(hypervisorHostname); + + Flavor flavor = server.getFlavor(); + Assert.assertNotNull(flavor); + server.setFlavor(flavor); + + String instanceName = server.getInstanceName(); + Assert.assertNotNull(instanceName); + + List<String> osExtendedVolumesAttached = server.getOsExtendedVolumesAttached(); + Assert.assertNotNull(osExtendedVolumesAttached); + Assert.assertEquals(2, osExtendedVolumesAttached.size()); + + String name = server.getName(); + Assert.assertNotNull(name); + + Integer progress = server.getProgress(); + Assert.assertNotNull(progress); + + String adminPass = server.getAdminPass(); + Assert.assertNotNull(adminPass); + + String accessIPv6 = server.getAccessIPv6(); + Assert.assertNotNull(accessIPv6); + + String diskConfig = server.getDiskConfig(); + Assert.assertNotNull(diskConfig); + + List<SecurityGroup> securityGroups = server.getSecurityGroups(); + Assert.assertNotNull(securityGroups); + Assert.assertEquals(2, securityGroups.size()); + + String updated = server.getUpdated(); + Assert.assertNotNull(updated); + + String availabilityZone = server.getAvailabilityZone(); + Assert.assertNotNull(availabilityZone); + + String accessIPv4 = server.getAccessIPv4(); + Assert.assertNotNull(accessIPv4); + + String status = server.getStatus(); + Assert.assertNotNull(status); + } +} |