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/LimitsTest.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/LimitsTest.java')
-rw-r--r-- | nova-model/src/test/java/com/woorea/openstack/nova/model/LimitsTest.java | 313 |
1 files changed, 115 insertions, 198 deletions
diff --git a/nova-model/src/test/java/com/woorea/openstack/nova/model/LimitsTest.java b/nova-model/src/test/java/com/woorea/openstack/nova/model/LimitsTest.java index 2d65192..2977a3a 100644 --- a/nova-model/src/test/java/com/woorea/openstack/nova/model/LimitsTest.java +++ b/nova-model/src/test/java/com/woorea/openstack/nova/model/LimitsTest.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,203 +20,120 @@ package com.woorea.openstack.nova.model; -import org.junit.Test; - -import java.util.Calendar; +import com.woorea.openstack.nova.model.Limits; +import com.woorea.openstack.nova.model.Limits.AbsoluteLimit; +import com.woorea.openstack.nova.model.Limits.RateLimit; import java.util.List; - -import static org.junit.Assert.*; +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 LimitsTest { - private Limits limits = new Limits(); - private Limits.AbsoluteLimit aLimit = new Limits.AbsoluteLimit(); - private Limits.RateLimit rLimit = new Limits.RateLimit(); - private Limits.RateLimit.LimitEntry entry = new Limits.RateLimit.LimitEntry(); - - @Test - public void getNextAvailable() { - entry.getNextAvailable(); - } - - @Test - public void getUnit() { - entry.getUnit(); - } - - @Test - public void getVerb() { - entry.getVerb(); - } - - @Test - public void getRemaining() { - entry.getRemaining(); - } - - @Test - public void getAvailable() { - entry.getAvailable(); - } - - @Test - public void getValue() { - entry.getValue(); - } - - @Test - public void getRate() { - limits.getRate(); - } - - @Test - public void getAbsolute() { - limits.getAbsolute(); - } - - @Test - public void getRegex() { - rLimit.getRegex(); - } - - @Test - public void getUri() { - rLimit.getUri(); - } - - @Test - public void getLimit() { - rLimit.getLimit(); - } - - @Test - public void getMaxServerMeta() { - aLimit.getMaxServerMeta(); - } - - @Test - public void getMaxPersonality() { - aLimit.getMaxPersonality(); - } - - @Test - public void getMaxImageMeta() { - aLimit.getMaxImageMeta(); - } - - @Test - public void getMaxPersonalitySize() { - aLimit.getMaxPersonalitySize(); - } - - @Test - public void getMaxTotalCores() { - aLimit.getMaxTotalCores(); - } - - @Test - public void getMaxTotalInstances() { - aLimit.getMaxTotalInstances(); - } - - @Test - public void getMaxTotalRAMSize() { - aLimit.getMaxTotalRAMSize(); - } - - @Test - public void getTotalVolumesUsed() { - aLimit.getTotalVolumesUsed(); - } - - @Test - public void getMaxSecurityGroupRules() { - aLimit.getMaxSecurityGroupRules(); - } - - @Test - public void getMaxTotalKeypairs() { - aLimit.getMaxTotalKeypairs(); - } - - @Test - public void getTotalCoresUsed() { - aLimit.getTotalCoresUsed(); - } - - @Test - public void getMaxTotalVolumes() { - aLimit.getMaxTotalVolumes(); - } - - @Test - public void getTotalRAMUsed() { - aLimit.getTotalRAMUsed(); - } - - @Test - public void getTotalInstancesUsed() { - aLimit.getTotalInstancesUsed(); - } - - @Test - public void getMaxSecurityGroups() { - aLimit.getMaxSecurityGroups(); - } - - @Test - public void getTotalVolumeGigabytesUsed() { - aLimit.getTotalVolumeGigabytesUsed(); - } - - @Test - public void getTotalSecurityGroupsUsed() { - aLimit.getTotalSecurityGroupsUsed(); - } - - @Test - public void getMaxTotalFloatingIps() { - aLimit.getMaxTotalFloatingIps(); - } - - @Test - public void getTotalKeyPairsUsed() { - aLimit.getTotalKeyPairsUsed(); - } - - @Test - public void getMaxTotalVolumeGigabytes() { - aLimit.getMaxTotalVolumeGigabytes(); - } - - @Test - public void getServerMetaUsed() { - aLimit.getServerMetaUsed(); - } - - @Test - public void getPersonalityUsed() { - aLimit.getPersonalityUsed(); - } - - @Test - public void getImageMetaUsed() { - aLimit.getImageMetaUsed(); - } - - @Test - public void getPersonalitySizeUsed() { - aLimit.getPersonalitySizeUsed(); - } - - @Test - public void getSecurityGroupRulesUsed() { - aLimit.getSecurityGroupRulesUsed(); - } - - @Test - public void getTotalFloatingIpsUsed() { - aLimit.getTotalFloatingIpsUsed(); - } - -}
\ No newline at end of file + private static final String EOL = System.lineSeparator(); + + private static final String JSON_FULL = "{" + EOL + + " \"limits\" : {" + EOL + + " \"rate\" : [ {" + EOL + + " \"regex\" : \"regex\"," + EOL + + " \"uri\" : \"uri\"," + EOL + + " \"limit\" : [ {" + EOL + + " \"unit\" : \"unit\"," + EOL + + " \"verb\" : \"verb\"," + EOL + + " \"remaining\" : 72," + EOL + + " \"available\" : 47," + EOL + + " \"value\" : 59," + EOL + + " \"next-available\" : 1489320000000" + EOL + + " }, {" + EOL + + " \"unit\" : \"unit\"," + EOL + + " \"verb\" : \"verb\"," + EOL + + " \"remaining\" : 72," + EOL + + " \"available\" : 47," + EOL + + " \"value\" : 59," + EOL + + " \"next-available\" : 1489320000000" + EOL + + " } ]" + EOL + + " }, {" + EOL + + " \"regex\" : \"regex\"," + EOL + + " \"uri\" : \"uri\"," + EOL + + " \"limit\" : [ {" + EOL + + " \"unit\" : \"unit\"," + EOL + + " \"verb\" : \"verb\"," + EOL + + " \"remaining\" : 72," + EOL + + " \"available\" : 47," + EOL + + " \"value\" : 59," + EOL + + " \"next-available\" : 1489320000000" + EOL + + " }, {" + EOL + + " \"unit\" : \"unit\"," + EOL + + " \"verb\" : \"verb\"," + EOL + + " \"remaining\" : 72," + EOL + + " \"available\" : 47," + EOL + + " \"value\" : 59," + EOL + + " \"next-available\" : 1489320000000" + EOL + + " } ]" + EOL + + " } ]," + EOL + + " \"absolute\" : {" + EOL + + " \"maxServerMeta\" : 30," + EOL + + " \"serverMetaUsed\" : 37," + EOL + + " \"maxPersonality\" : 54," + EOL + + " \"personalityUsed\" : 61," + EOL + + " \"maxImageMeta\" : 82," + EOL + + " \"imageMetaUsed\" : 89," + EOL + + " \"maxPersonalitySize\" : 97," + EOL + + " \"personalitySizeUsed\" : 4," + EOL + + " \"maxTotalCores\" : 32," + EOL + + " \"totalCoresUsed\" : 39," + EOL + + " \"maxTotalInstances\" : 60," + EOL + + " \"totalInstancesUsed\" : 67," + EOL + + " \"maxTotalRAMSize\" : 55," + EOL + + " \"totalRAMUsed\" : 19," + EOL + + " \"maxSecurityGroupRules\" : 44," + EOL + + " \"securityGroupRulesUsed\" : 51," + EOL + + " \"maxTotalKeypairs\" : 64," + EOL + + " \"totalKeyPairsUsed\" : 71," + EOL + + " \"maxTotalVolumes\" : 71," + EOL + + " \"totalVolumesUsed\" : 78," + EOL + + " \"maxSecurityGroups\" : 4," + EOL + + " \"totalSecurityGroupsUsed\" : 59," + EOL + + " \"maxTotalFloatingIps\" : 76," + EOL + + " \"totalFloatingIpsUsed\" : 83," + EOL + + " \"maxTotalVolumeGigabytes\" : 15," + EOL + + " \"totalVolumeGigabytesUsed\" : 22" + EOL + + " }" + 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: " + Limits.class.getName()); + System.out.println("TEST JSON: " + JSON_FULL); + Limits limits = objectMapper.readValue(JSON_FULL, Limits.class); + String json = objectMapper.writeValueAsString(limits); + System.out.println("RE-SERIALIZED OBJECT: " + json); + JSONAssert.assertEquals(JSON_FULL, json, JSONCompareMode.LENIENT); + } + + @Test + public void testMethods() throws Exception { + Limits limits = objectMapper.readValue(JSON_FULL, Limits.class); + limits.toString(); + + List<RateLimit> rate = limits.getRate(); + Assert.assertNotNull(rate); + Assert.assertEquals(2, rate.size()); + + AbsoluteLimit absolute = limits.getAbsolute(); + Assert.assertNotNull(absolute); + } +} |