Improved unit tests for ArtifactValidationUtils and Sonar fixes.

Added new tests for ArtifactValidationUtils.
Checkstyle in the ValidationConfigManager and ArtifactValidationUtils.
Added private constructor to ValidationConfigManager.
Added logger for ArtifactValidationUtils and simplified code.
Updated the ValidationConfigManagerTest and ReportManagerTests
to not influence on each other.

Issue-ID: SDC-2327
Signed-off-by: Krystian Kedron <k.kedron@partner.samsung.com>
Change-Id: I9c7c725792737b6cfa6bba20eeeb3b1d4ef1e471
diff --git a/asdctool/pom.xml b/asdctool/pom.xml
index d754dec..3eef6cc 100644
--- a/asdctool/pom.xml
+++ b/asdctool/pom.xml
@@ -490,6 +490,12 @@
 			<groupId>io.netty</groupId>
 			<artifactId>netty-handler</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-module-junit4</artifactId>
+			<version>2.0.2</version>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManager.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManager.java
index 5630a2b..cc75dfc 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManager.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManager.java
@@ -3,13 +3,17 @@
  * SDC
  * ================================================================================
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (c) 2019 Samsung
  * ================================================================================
  * 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
- * 
+ *
+ *
+ *      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.
@@ -24,6 +28,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,37 +43,40 @@
     private static String outputFullFilePath;
     private static String outputFilePath;
 
+    private ValidationConfigManager() {
+    }
+
     public static String getOutputFullFilePath() {
         return outputFullFilePath;
     }
+
     public static String getOutputFilePath() {
         return outputFilePath;
     }
 
     public static void setOutputFullFilePath(String outputPath) {
-    	ValidationConfigManager.outputFilePath = outputPath;
-        ValidationConfigManager.outputFullFilePath = outputPath+ "/reportOutput.txt";
+        ValidationConfigManager.outputFilePath = outputPath;
+        ValidationConfigManager.outputFullFilePath = outputPath + "/reportOutput.txt";
     }
 
-    
-
     public static String getCsvReportFilePath() {
         return csvReportFilePath;
     }
 
     public static void setCsvReportFilePath(String outputPath) {
-        ValidationConfigManager.csvReportFilePath = outputPath +"/csvSummary_"+System.currentTimeMillis()+".csv";
+        ValidationConfigManager.csvReportFilePath =
+            outputPath + "/csvSummary_" + System.currentTimeMillis() + ".csv";
     }
 
     private static String csvReportFilePath = "summary.csv";
 
-    public static Properties setValidationConfiguration(String path){
-        InputStream input = null;
+    public static Properties setValidationConfiguration(String path) {
+        InputStream input;
         try {
             input = new FileInputStream(path);
             prop.load(input);
         } catch (IOException ex) {
-            log.info("FileInputStream failed - " , ex);
+            log.info("FileInputStream failed - {}", ex);
         }
         return prop;
     }
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
index 025e0b6..2e804cc 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtils.java
@@ -3,13 +3,14 @@
  * SDC
  * ================================================================================
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (c) 2019 Samsung
  * ================================================================================
  * 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.
@@ -20,7 +21,12 @@
 
 package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
-import fj.data.Either;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
 import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
 import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
@@ -32,15 +38,18 @@
 import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElement;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.TopologyTemplateOperation;
 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
+import org.openecomp.sdc.common.log.wrappers.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.*;
+import fj.data.Either;
 
 /**
  * Created by chaya on 7/6/2017.
  */
 public class ArtifactValidationUtils {
 
+    private static final Logger logger = Logger.getLogger(ArtifactValidationUtils.class);
+
     private ArtifactCassandraDao artifactCassandraDao;
 
     private TopologyTemplateOperation topologyTemplateOperation;
@@ -55,10 +64,9 @@
     public ArtifactsVertexResult validateArtifactsAreInCassandra(GraphVertex vertex, String taskName, List<ArtifactDataDefinition> artifacts) {
         ArtifactsVertexResult result = new ArtifactsVertexResult(true);
         for(ArtifactDataDefinition artifact:artifacts) {
-            boolean isArtifactExist = isArtifcatInCassandra(artifact.getEsId());
+            boolean isArtifactExist = isArtifactInCassandra(artifact.getEsId());
             String status = isArtifactExist ? "Artifact " + artifact.getEsId() + " is in Cassandra" :
                     "Artifact " + artifact.getEsId() + " doesn't exist in Cassandra";
-
             ReportManager.writeReportLineToFile(status);
             if (!isArtifactExist) {
                 ReportManager.addFailedVertex(taskName, vertex.getUniqueId());
@@ -69,24 +77,20 @@
         return result;
     }
 
-    public boolean isArtifcatInCassandra(String uniueId) {
+    public boolean isArtifactInCassandra(String uniqueId) {
         Either<Long, CassandraOperationStatus> countOfArtifactsEither =
-                artifactCassandraDao.getCountOfArtifactById(uniueId);
+            artifactCassandraDao.getCountOfArtifactById(uniqueId);
         if (countOfArtifactsEither.isRight()) {
-            // print to console
-            System.out.print("Failed to retrieve artifact with id: "+uniueId+" from Cassandra" );
+            logger.debug("Failed to retrieve artifact with id: {} from Cassandra", uniqueId);
             return false;
         }
         Long count = countOfArtifactsEither.left().value();
-        if (count <1) {
-            return false;
-        }
-        return true;
+        return count >= 1;
     }
 
     public List<ArtifactDataDefinition> addRelevantArtifacts(Map<String, ArtifactDataDefinition> artifactsMap) {
         List<ArtifactDataDefinition> artifacts = new ArrayList<>();
-        Optional.ofNullable(artifactsMap).orElse(Collections.emptyMap()).forEach( (key, dataDef) -> {
+        Optional.ofNullable(artifactsMap).orElse(Collections.emptyMap()).forEach((key, dataDef) -> {
             if (dataDef.getEsId() != null && !dataDef.getEsId().isEmpty()) {
                 artifacts.add(dataDef);
             }
@@ -119,15 +123,13 @@
         allArtifacts.addAll(addRelevantArtifacts(apiArtifacts));
 
         if (instanceArtifacts != null) {
-            instanceArtifacts.forEach((key, artifactMap) -> {
-                allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition()));
-            });
+            instanceArtifacts.forEach((key, artifactMap) ->
+                    allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition())));
         }
 
         if (instanceDeploymentArtifacts != null) {
-            instanceDeploymentArtifacts.forEach((key, artifactMap) -> {
-                allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition()));
-            });
+            instanceDeploymentArtifacts.forEach((key, artifactMap) ->
+                    allArtifacts.addAll(addRelevantArtifacts(artifactMap.getMapToscaDataDefinition())));
         }
 
         return validateArtifactsAreInCassandra(vertex, taskName, allArtifacts);
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManagerTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManagerTest.java
index 2b169e9..4813cff 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManagerTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/config/ValidationConfigManagerTest.java
@@ -21,77 +21,71 @@
 package org.openecomp.sdc.asdctool.impl.validator.config;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
 
 import java.util.Properties;
 
-
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ReportManager.class})
 public class ValidationConfigManagerTest {
 
-	private ValidationConfigManager createTestSubject() {
-		return new ValidationConfigManager();
-	}
+    @Test
+    public void testGetOutputFilePath() {
+        String result;
 
-	
-	@Test
-	public void testGetOutputFilePath() {
-		String result;
+        // default test
+        result = ValidationConfigManager.getOutputFilePath();
+    }
 
-		// default test
-		result = ValidationConfigManager.getOutputFilePath();
-	}
-	
-	@Test
-	public void testGetCsvReportFilePath() {
-		String result;
+    @Test
+    public void testGetCsvReportFilePath() {
+        String result;
 
-		// default test
-		result = ValidationConfigManager.getCsvReportFilePath();
-	}
+        // default test
+        result = ValidationConfigManager.getCsvReportFilePath();
+    }
 
-	
-	@Test
-	public void testSetCsvReportFilePath() {
-		String outputPath = "";
+    @Test
+    public void testSetCsvReportFilePath() {
+        String outputPath = "";
 
-		// default test
-		ValidationConfigManager.setCsvReportFilePath(outputPath);
-	}
+        // default test
+        ValidationConfigManager.setCsvReportFilePath(outputPath);
+    }
 
-	
-	@Test
-	public void testSetValidationConfiguration() {
-		String path = "";
-		Properties result;
+    @Test
+    public void testSetValidationConfiguration() {
+        String path = "";
+        Properties result;
 
-		// default test
-		result = ValidationConfigManager.setValidationConfiguration(path);
-	}
+        // default test
+        result = ValidationConfigManager.setValidationConfiguration(path);
+    }
 
-	
-	@Test
-	public void testGetValidationConfiguration() {
-		Properties result;
+    @Test
+    public void testGetValidationConfiguration() {
+        Properties result;
 
-		// default test
-		result = ValidationConfigManager.getValidationConfiguration();
-	}
+        // default test
+        result = ValidationConfigManager.getValidationConfiguration();
+    }
 
+    @Test
+    public void testGetOutputFullFilePath() throws Exception {
+        String result;
 
-	@Test
-	public void testGetOutputFullFilePath() throws Exception {
-	String result;
-	
-	// default test
-	result=ValidationConfigManager.getOutputFullFilePath();
-	}
+        // default test
+        result = ValidationConfigManager.getOutputFullFilePath();
+    }
 
+    @Test
+    public void testSetOutputFullFilePath() throws Exception {
+        String outputPath = "";
 
-	@Test
-	public void testSetOutputFullFilePath() throws Exception {
-	String outputPath = "";
-	
-	
-	// default test
-	ValidationConfigManager.setOutputFullFilePath(outputPath);
-	}
+        // default test
+        ValidationConfigManager.setOutputFullFilePath(outputPath);
+    }
 }
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
index 5053f4b..2dca89f 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/tasks/artifacts/ArtifactValidationUtilsTest.java
@@ -3,13 +3,14 @@
  * SDC
  * ================================================================================
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (c) 2019 Samsung
  * ================================================================================
  * 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.
@@ -20,69 +21,209 @@
 
 package org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts;
 
-import static org.mockito.Mockito.mock;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.Test;
-import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+
+import org.mockito.junit.MockitoJUnitRunner;
+import org.openecomp.sdc.asdctool.impl.validator.config.ValidationConfigManager;
+import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
+import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
+import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
+
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
+import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
+import org.openecomp.sdc.be.datatypes.elements.MapArtifactDataDefinition;
+import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.TopologyTemplate;
 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.TopologyTemplateOperation;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 
+import fj.data.Either;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.modules.junit4.PowerMockRunnerDelegate;
+
+@RunWith(PowerMockRunner.class)
+@PowerMockRunnerDelegate(MockitoJUnitRunner.class)
+@PrepareForTest({ReportManager.class})
 public class ArtifactValidationUtilsTest {
+    
+    @Mock
+    private ArtifactCassandraDao artifactCassandraDao;
+    @Mock
+    private TopologyTemplateOperation topologyTemplateOperation;
+    @InjectMocks
+    private ArtifactValidationUtils testSubject;
 
-	private ArtifactValidationUtils createTestSubject() {
-		ArtifactCassandraDao artifactCassandraDao = mock(ArtifactCassandraDao.class);
-		TopologyTemplateOperation topologyTemplateOperation = mock(TopologyTemplateOperation.class);
-		return new ArtifactValidationUtils(artifactCassandraDao, topologyTemplateOperation);
-	}
+    @Mock
+    private GraphVertex vertex;
+    @Mock
+    private MapArtifactDataDefinition mapToscaDataDefinition;
+    @Mock
+    private ArtifactDataDefinition artifactDataDefinition;
+    @Mock
+    private ArtifactDataDefinition artifactDataDefinitionNotInCassandra;
+    @Mock
+    private ArtifactDataDefinition artifactDataDefinitionDummy;
+    @Mock
+    private TopologyTemplate topologyTemplate;
 
-	@Test(expected=NullPointerException.class)
-	public void testValidateArtifactsAreInCassandra() throws Exception {
-		ArtifactValidationUtils testSubject;
-		GraphVertex vertex = null;
-		String taskName = "";
-		List<ArtifactDataDefinition> artifacts = null;
-		ArtifactsVertexResult result;
+    private static final String ES_ID = "testEsInCassandra";
+    private static final String ES_ID_NOT_IN_CASS = "testEsNotInCassandra";
+    private static final String TASK_NAME = "testTaskName";
+    private static final String UNIQUE_ID = "4321";
+    private static final String UNIQUE_ID_VERTEX = "321";
 
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.validateArtifactsAreInCassandra(vertex, taskName, artifacts);
-	}
+    public void initReportManager() {
+        String resourcePath = new File(Objects
+            .requireNonNull(ArtifactValidationUtilsTest.class.getClassLoader().getResource(""))
+            .getFile()).getAbsolutePath();
+        ValidationConfigManager.setOutputFullFilePath(resourcePath);
+        new ReportManager();
+    }
 
-	@Test(expected=NullPointerException.class)
-	public void testIsArtifcatInCassandra() throws Exception {
-		ArtifactValidationUtils testSubject;
-		String uniueId = "";
-		boolean result;
+    @Before
+    public void setup() {
+        initReportManager();
+        when(artifactCassandraDao.getCountOfArtifactById(ES_ID)).thenReturn(Either.left(1L));
+        when(artifactCassandraDao.getCountOfArtifactById(ES_ID_NOT_IN_CASS))
+            .thenReturn(Either.right(CassandraOperationStatus.NOT_FOUND));
 
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.isArtifcatInCassandra(uniueId);
-	}
+        when(artifactDataDefinition.getEsId()).thenReturn(ES_ID);
+        when(artifactDataDefinitionNotInCassandra.getEsId()).thenReturn(ES_ID_NOT_IN_CASS);
 
-	@Test
-	public void testAddRelevantArtifacts() throws Exception {
-		ArtifactValidationUtils testSubject;
-		Map<String, ArtifactDataDefinition> artifactsMap = null;
-		List<ArtifactDataDefinition> result;
+        when(artifactDataDefinitionNotInCassandra.getUniqueId()).thenReturn(UNIQUE_ID);
+        when(vertex.getUniqueId()).thenReturn(UNIQUE_ID_VERTEX);
+    }
 
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.addRelevantArtifacts(artifactsMap);
-	}
+    @Test
+    public void testValidateArtifactsAreInCassandra() {
+        // given
+        List<ArtifactDataDefinition> artifacts = new ArrayList<>();
+        artifacts.add(artifactDataDefinition);
 
-	@Test(expected=NullPointerException.class)
-	public void testValidateTopologyTemplateArtifacts() throws Exception {
-		ArtifactValidationUtils testSubject;
-		GraphVertex vertex = null;
-		String taskName = "";
-		ArtifactsVertexResult result;
+        // when
+        ArtifactsVertexResult result =
+            testSubject.validateArtifactsAreInCassandra(vertex, TASK_NAME, artifacts);
 
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.validateTopologyTemplateArtifacts(vertex, taskName);
-	}
+        // then
+        assertTrue(result.getStatus());
+        assertEquals(0, result.notFoundArtifacts.size());
+    }
+
+    @Test
+    public void testValidateArtifactsNotInCassandra() {
+        // given
+        List<ArtifactDataDefinition> artifacts = new ArrayList<>();
+        artifacts.add(artifactDataDefinition);
+        artifacts.add(artifactDataDefinitionNotInCassandra);
+
+        // when
+        ArtifactsVertexResult result =
+            testSubject.validateArtifactsAreInCassandra(vertex, TASK_NAME, artifacts);
+
+        // then
+        assertFalse(result.getStatus());
+        assertEquals(1, result.notFoundArtifacts.size());
+        assertEquals(UNIQUE_ID, result.notFoundArtifacts.iterator().next());
+    }
+
+    @Test
+    public void testIsArtifactsInCassandra() {
+        // when
+        boolean notInCass = testSubject.isArtifactInCassandra(ES_ID_NOT_IN_CASS);
+        boolean inCass = testSubject.isArtifactInCassandra(ES_ID);
+
+        // then
+        assertFalse(notInCass);
+        assertTrue(inCass);
+    }
+
+    @Test
+    public void testAddRelevantArtifacts() {
+        // given
+        Map<String, ArtifactDataDefinition> artifactsMap = new HashMap<>();
+        artifactsMap.put(ES_ID_NOT_IN_CASS, artifactDataDefinitionNotInCassandra);
+        artifactsMap.put(ES_ID, artifactDataDefinition);
+
+        // when
+        List<ArtifactDataDefinition> result = testSubject.addRelevantArtifacts(artifactsMap);
+
+        // then
+        result.forEach(Assert::assertNotNull);
+    }
+
+    @Test
+    public void testAddRelevantArtifactsWithNullEsId() {
+        // given
+        Map<String, ArtifactDataDefinition> artifactsMap = new HashMap<>();
+        artifactsMap.put("", artifactDataDefinitionDummy);
+
+        // when
+        List<ArtifactDataDefinition> result = testSubject.addRelevantArtifacts(artifactsMap);
+
+        // then
+        assertEquals(0, result.size());
+    }
+
+    @Test
+    public void testValidateTopologyTemplateArtifacts() {
+        // given
+		Map<String, ArtifactDataDefinition> artifacts = new HashMap<>();
+		artifacts.put(ES_ID, artifactDataDefinition);
+
+		when(topologyTemplate.getDeploymentArtifacts()).thenReturn(artifacts);
+		when(topologyTemplate.getArtifacts()).thenReturn(artifacts);
+		when(topologyTemplate.getServiceApiArtifacts()).thenReturn(artifacts);
+
+		when(mapToscaDataDefinition.getMapToscaDataDefinition()).thenReturn(artifacts);
+		Map<String, MapArtifactDataDefinition> artifactsMap = new HashMap<>();
+		artifactsMap.put(ES_ID, mapToscaDataDefinition);
+
+		when(topologyTemplate.getInstanceArtifacts()).thenReturn(artifactsMap);
+		when(topologyTemplate.getInstDeploymentArtifacts()).thenReturn(artifactsMap);
+
+        when(topologyTemplateOperation.getToscaElement(eq(vertex.getUniqueId()), any()))
+            .thenReturn(Either.left(topologyTemplate));
+
+        // when
+        ArtifactsVertexResult result =
+            testSubject.validateTopologyTemplateArtifacts(vertex, TASK_NAME);
+
+        // then
+		assertTrue(result.getStatus());
+		assertEquals(0, result.notFoundArtifacts.size());
+    }
+
+    @Test
+    public void testValidateTopologyTemplateArtifactsNotFoundToscaElement() {
+        // given
+        when(topologyTemplateOperation.getToscaElement(eq(vertex.getUniqueId()), any()))
+            .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
+
+        // when
+        ArtifactsVertexResult result =
+            testSubject.validateTopologyTemplateArtifacts(vertex, TASK_NAME);
+
+        // then
+        assertFalse(result.getStatus());
+    }
 }
diff --git a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java
index 7f67334..1da3d6d 100644
--- a/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java
+++ b/asdctool/src/test/java/org/openecomp/sdc/asdctool/impl/validator/utils/ReportManagerTest.java
@@ -20,11 +20,16 @@
 
 package org.openecomp.sdc.asdctool.impl.validator.utils;
 
-import org.junit.Test;
-import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-
 import java.util.Set;
 
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ReportManager.class})
 public class ReportManagerTest {
 
 	@Test