summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulienBe <julien.bertozzi@intl.att.com>2020-06-18 19:32:33 +0200
committerSébastien Determe <sebastien.determe@intl.att.com>2020-07-29 12:29:41 +0000
commit04b7ecf58e76a1364c46a9ef8ac59d730d658dcb (patch)
treece58713551c2a8f16e690d860ea1a9992dc08101
parent5e8464585f07210ad4b20ddfee2c23b1cf2d8b2a (diff)
Improve Utils coverage and improve Sonar score
Issue-ID: SDC-3131 Signed-off-by: JulienBe <julien.bertozzi@intl.att.com> Change-Id: I784a0ad563141dfb546ec1d227b3eb03e08faef3
-rw-r--r--asdctool/src/main/java/org/openecomp/sdc/asdctool/Utils.java196
-rw-r--r--asdctool/src/main/java/org/openecomp/sdc/asdctool/servlets/ExportImportJanusGraphServlet.java21
-rw-r--r--asdctool/src/test/java/org/openecomp/sdc/asdctool/UtilsTest.java150
3 files changed, 165 insertions, 202 deletions
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/Utils.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/Utils.java
index 4c52647f65..0f44968e6e 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/Utils.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/Utils.java
@@ -7,9 +7,9 @@
* 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.
@@ -34,111 +34,95 @@ import javax.ws.rs.core.Response.ResponseBuilder;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Optional;
public class Utils {
- private static Logger log = Logger.getLogger(Utils.class.getName());
-
- public static final String NEW_LINE = System.getProperty("line.separator");
-
- private Utils() {
- }
-
- public static Response buildOkResponse(
- /*
- * ResponseFormat errorResponseWrapper,
- */int status, Object entity, Map<String, String> additionalHeaders) {
- ResponseBuilder responseBuilder = Response.status(status);
- if (entity != null) {
- log.trace("returned entity is {}", entity.toString());
- responseBuilder = responseBuilder.entity(entity);
- }
- if (additionalHeaders != null) {
- for (Entry<String, String> additionalHeader : additionalHeaders.entrySet()) {
- String headerName = additionalHeader.getKey();
- String headerValue = additionalHeader.getValue();
- log.trace("Adding header {} with value {} to the response", headerName, headerValue);
- responseBuilder.header(headerName, headerValue);
- }
- }
- return responseBuilder.build();
- }
-
- public static JanusGraph openGraph(Configuration conf) {
-
- JanusGraph graph = null;
- try {
-
- graph = JanusGraphFactory.open(conf);
-
- } catch (Exception e) {
- log.error("Failed to start open graph", e);
- }
-
- return graph;
-
- }
-
- public static boolean vertexLeftContainsRightProps(Map<String, Object> leftProps, Map<String, Object> rightProps) {
-
- if (rightProps != null) {
-
- for (Entry<String, Object> entry : rightProps.entrySet()) {
- String key = entry.getKey();
- Object leftValue = leftProps.get(key);
- Object rightValue = entry.getValue();
- if (leftValue == null) {
- if (rightValue == null) {
- continue;
- } else {
- log.debug("The key {} cannot be found in the properties {}",key,leftProps);
- return false;
- }
- }
-
- if (!leftValue.equals(rightValue)) {
- log.trace("The value of key {} is differnet between properties. {} vs {}",key,leftValue,rightValue);
- return false;
- }
- }
-
- }
-
- return true;
- }
-
- public static void setProperties(Element element, Map<String, Object> properties) {
-
- if (properties != null && !properties.isEmpty()) {
-
- Object[] propertyKeyValues = new Object[properties.size() * 2];
- int i = 0;
- for (Entry<String, Object> entry : properties.entrySet()) {
- propertyKeyValues[i++] = entry.getKey();
- propertyKeyValues[i++] = entry.getValue();
- }
-
- ElementHelper.attachProperties(element, propertyKeyValues);
-
- }
-
- }
-
- public static Map<String, Object> getProperties(Element element) {
-
- Map<String, Object> result = new HashMap<>();
-
- if (CollectionUtils.isNotEmpty(element.keys())) {
- Map<String, Property> propertyMap = ElementHelper.propertyMap(element,
- element.keys().toArray(new String[element.keys().size()]));
-
- for (Entry<String, Property> entry : propertyMap.entrySet()) {
- String key = entry.getKey();
- Object value = entry.getValue().value();
-
- result.put(key, value);
- }
- }
- return result;
- }
+ private static final Logger log = Logger.getLogger(Utils.class.getName());
+
+ public static final String NEW_LINE = System.getProperty("line.separator");
+
+ private Utils() {
+ }
+
+ /**
+ * ResponseFormat errorResponseWrapper,
+ */
+ public static Response buildOkResponse(int status, Object entity, Map<String, String> additionalHeaders) {
+ ResponseBuilder responseBuilder = Response.status(status);
+ if (entity != null) {
+ log.trace("returned entity is {}", entity.toString());
+ responseBuilder = responseBuilder.entity(entity);
+ }
+ if (additionalHeaders != null) {
+ for (Entry<String, String> additionalHeader : additionalHeaders.entrySet()) {
+ String headerName = additionalHeader.getKey();
+ String headerValue = additionalHeader.getValue();
+ log.trace("Adding header {} with value {} to the response", headerName, headerValue);
+ responseBuilder.header(headerName, headerValue);
+ }
+ }
+ return responseBuilder.build();
+ }
+
+ public static Optional<JanusGraph> openGraph(Configuration conf) {
+ try {
+ return Optional.ofNullable(JanusGraphFactory.open(conf));
+ } catch (Exception e) {
+ log.error("Failed to start open graph", e);
+ }
+ return Optional.empty();
+ }
+
+ public static boolean vertexLeftContainsRightProps(Map<String, Object> leftProps, Map<String, Object> rightProps) {
+ if (rightProps == null)
+ return true;
+ for (Entry<String, Object> entry : rightProps.entrySet()) {
+ String key = entry.getKey();
+ Object leftValue = leftProps.get(key);
+ Object rightValue = entry.getValue();
+ if (leftValue == null) {
+ if (rightValue == null) {
+ continue;
+ } else {
+ log.debug("The key {} cannot be found in the properties {}", key, leftProps);
+ return false;
+ }
+ }
+ if (!leftValue.equals(rightValue)) {
+ log.trace("The value of key {} is differnet between properties. {} vs {}", key, leftValue, rightValue);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public static void setProperties(Element element, Map<String, Object> properties) {
+ if (properties != null && !properties.isEmpty()) {
+ Object[] propertyKeyValues = new Object[properties.size() * 2];
+ int i = 0;
+ for (Entry<String, Object> entry : properties.entrySet()) {
+ propertyKeyValues[i++] = entry.getKey();
+ propertyKeyValues[i++] = entry.getValue();
+ }
+ ElementHelper.attachProperties(element, propertyKeyValues);
+ }
+ }
+
+ public static Map<String, Object> getProperties(Element element) {
+ Map<String, Object> result = new HashMap<>();
+
+ if (element != null && CollectionUtils.isNotEmpty(element.keys())) {
+ Map<String, Property> propertyMap = ElementHelper.propertyMap(element,
+ element.keys().toArray(new String[element.keys().size()]));
+
+ for (Entry<String, Property> entry : propertyMap.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue().value();
+
+ result.put(key, value);
+ }
+ }
+ return result;
+ }
}
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/servlets/ExportImportJanusGraphServlet.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/servlets/ExportImportJanusGraphServlet.java
index 412926fa6c..4e9428d397 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/servlets/ExportImportJanusGraphServlet.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/servlets/ExportImportJanusGraphServlet.java
@@ -42,8 +42,8 @@ import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Map.Entry;
+import java.util.Optional;
import java.util.Properties;
-//import com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter;
@Path("/janusgraph")
public class ExportImportJanusGraphServlet {
@@ -76,18 +76,15 @@ public class ExportImportJanusGraphServlet {
conf.setProperty("storage.machine-id-appendix", System.currentTimeMillis() % 1000);
- try(JanusGraph openGraph = Utils.openGraph(conf)){
-
- if (openGraph == null) {
- Response buildErrorResponse = Utils.buildOkResponse(500, "failed to open graph", null);
- return buildErrorResponse;
+ Optional<JanusGraph> openGraph = Utils.openGraph(conf);
+ if (openGraph.isPresent()) {
+ try {
+ return Utils.buildOkResponse(200, "ok man", null);
+ } finally {
+ openGraph.get().close();
}
-
- // Open JanusGraph Graph
-
- Response buildOkResponse = Utils.buildOkResponse(200, "ok man", null);
-
- return buildOkResponse;
+ } else {
+ return Utils.buildOkResponse(500, "failed to open graph", null);
}
}
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/UtilsTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/UtilsTest.java
index 8ea53003e9..636bc54c95 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/UtilsTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/UtilsTest.java
@@ -20,96 +20,78 @@
package org.openecomp.sdc.asdctool;
-import org.apache.commons.configuration.Configuration;
import org.apache.tinkerpop.gremlin.structure.Element;
-import org.janusgraph.core.JanusGraph;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
import javax.ws.rs.core.Response;
import java.util.HashMap;
import java.util.Map;
-public class UtilsTest {
-
- @Test
- public void testBuildOkResponse() throws Exception {
- int status = 200;
- Object entity = null;
- Map<String, String> additionalHeaders = null;
- Response result;
-
- // test with mock entity
- Object mockEntity = new Object();
- result = Utils.buildOkResponse(status, entity, additionalHeaders);
- Assert.assertNotNull(result);
-
- // test with mock headers
- Map<String, String> mockAdditionalHeaders = new HashMap<>();
- mockAdditionalHeaders.put("stam", "stam");
- result = Utils.buildOkResponse(status, mockEntity, mockAdditionalHeaders);
- Assert.assertNotNull(result);
- }
-
- @Test
- public void testOpenGraph() throws Exception {
- Configuration conf = null;
- JanusGraph result;
-
- // default test with null
- result = Utils.openGraph(conf);
- }
+import static org.junit.jupiter.api.Assertions.*;
- @Test
- public void testVertexLeftContainsRightProps() throws Exception {
- Map<String, Object> leftProps = new HashMap<>();
- Map<String, Object> rightProps = null;
- boolean result;
-
- // test 1 with null
- rightProps = null;
- result = Utils.vertexLeftContainsRightProps(leftProps, rightProps);
- Assert.assertEquals(true, result);
-
- // test 2 with mocks
- Map<String, Object> mockLeftProps = new HashMap<>();
- mockLeftProps.put("stam", new Object());
- Map<String, Object> mockRightProps = new HashMap<>();
- mockRightProps.put("stam", new Object());
- result = Utils.vertexLeftContainsRightProps(mockLeftProps, mockRightProps);
- Assert.assertEquals(false, result);
-
- // test 3 with mocks
- Object mockObject = new Object();
- mockLeftProps = new HashMap<>();
- mockLeftProps.put("stam", mockObject);
- mockRightProps = new HashMap<>();
- mockRightProps.put("stam", mockObject);
- result = Utils.vertexLeftContainsRightProps(mockLeftProps, mockRightProps);
- Assert.assertEquals(true, result);
- }
-
- @Test(expected=IllegalArgumentException.class)
- public void testSetProperties() throws Exception {
- Element element = null;
- Map<String, Object> properties = null;
-
- // test 1
- properties = null;
- Utils.setProperties(element, properties);
-
- // test 2
- properties = new HashMap<>();
- properties.put("stam", new Object());
- Utils.setProperties(element, properties);
- }
-
- @Test(expected=NullPointerException.class)
- public void testGetProperties() throws Exception {
- Element element = null;
- Map<String, Object> result;
+public class UtilsTest {
- // default test
- result = Utils.getProperties(element);
- }
+ @Test
+ public void testBuildOkResponse() {
+ int status = 200;
+ Response result;
+
+ Response responseToNulls = Utils.buildOkResponse(105, null, null);
+ assertNotNull(responseToNulls);
+ assertEquals(105, responseToNulls.getStatus());
+ assertFalse(responseToNulls.hasEntity());
+
+ // test with mock headers
+ Map<String, String> mockAdditionalHeaders = new HashMap<>();
+ mockAdditionalHeaders.put("stam", "stam");
+ result = Utils.buildOkResponse(status, "entity", mockAdditionalHeaders);
+ assertNotNull(result);
+ assertEquals(200, result.getStatus());
+ assertTrue(result.hasEntity());
+ }
+
+ @Test
+ public void testOpenGraph() {
+ assertNotNull(Utils.openGraph(null));
+ }
+
+ @Test
+ public void testVertexLeftContainsRightProps() {
+ assertTrue(Utils.vertexLeftContainsRightProps(new HashMap<>(), null));
+ assertTrue(Utils.vertexLeftContainsRightProps(null, null));
+ assertTrue(Utils.vertexLeftContainsRightProps(null, new HashMap<>()));
+
+ // test 2 with mocks
+ Map<String, Object> mockLeftProps = new HashMap<>();
+ mockLeftProps.put("stam", new Object());
+ Map<String, Object> mockRightProps = new HashMap<>();
+ mockRightProps.put("stam", new Object());
+ assertFalse(Utils.vertexLeftContainsRightProps(mockLeftProps, mockRightProps));
+
+ // test 3 with mocks
+ Object mockObject = new Object();
+ mockLeftProps.put("stam", mockObject);
+ mockRightProps.put("stam", mockObject);
+ assertTrue(Utils.vertexLeftContainsRightProps(mockLeftProps, mockRightProps));
+ mockLeftProps.put("stam", null);
+ assertFalse(Utils.vertexLeftContainsRightProps(mockLeftProps, mockRightProps));
+ mockLeftProps.put("stam", "Woops");
+ assertFalse(Utils.vertexLeftContainsRightProps(mockLeftProps, mockRightProps));
+ }
+
+ @Test
+ public void testSetProperties() {
+ assertDoesNotThrow(() -> Utils.setProperties(null, null));
+ assertDoesNotThrow(() -> Utils.setProperties(Mockito.mock(Element.class), null));
+ Map<String, Object> properties = new HashMap<>();
+ properties.put("stam", new Object());
+ assertThrows(IllegalArgumentException.class, () -> Utils.setProperties(null, properties));
+ }
+
+ @Test
+ public void testGetProperties() {
+ assertDoesNotThrow(() -> Utils.getProperties(null));
+ }
}