summaryrefslogtreecommitdiffstats
path: root/nova-model/src/test/java/com/woorea/openstack/nova/model/LimitsTest.java
diff options
context:
space:
mode:
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.java313
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);
+ }
+}