Deploy activities to SDC from Catalog
[so.git] / asdc-controller / src / test / java / org / onap / asdc / activity / DeployActivitySpecsTest.java
index 86f6a89..aae5e5d 100644 (file)
  */
 package org.onap.asdc.activity;
 
+import java.nio.file.Files;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
 import org.junit.Test;
-import org.onap.so.asdc.BaseTest;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.so.asdc.activity.ActivitySpecsActions;
 import org.onap.so.asdc.activity.DeployActivitySpecs;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.onap.so.asdc.activity.beans.ActivitySpec;
+import org.onap.so.asdc.activity.beans.ActivitySpecCreateResponse;
+import org.onap.so.db.catalog.data.repository.ActivitySpecRepository;
+import org.springframework.core.env.Environment;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
 
+@RunWith(MockitoJUnitRunner.class)
+public class DeployActivitySpecsTest {
+    @Mock
+    protected Environment env;
 
-public class DeployActivitySpecsTest extends BaseTest {
+    @Mock
+    protected ActivitySpecRepository activitySpecRepository;
 
-    @Autowired
+    @Mock
+    protected ActivitySpecsActions activitySpecsActions;
+
+    @InjectMocks
     private DeployActivitySpecs deployActivitySpecs;
 
     @Test
-    public void DeployActivitySpecs_Test() throws Exception {
-        // Mock catalog DB results
+    public void deployActivitySpecs_Test() throws Exception {
+        boolean deploymentSuccessful = true;
+        ActivitySpecCreateResponse activitySpecCreateResponse = new ActivitySpecCreateResponse();
+        activitySpecCreateResponse.setId("testActivityId");
+        ObjectMapper mapper = new ObjectMapper();
+        org.onap.so.db.catalog.beans.ActivitySpec catalogActivitySpec = mapper.readValue(
+                new String(Files.readAllBytes(Paths.get("src/test/resources/ActivitySpecFromCatalog.json"))),
+                org.onap.so.db.catalog.beans.ActivitySpec.class);
+        List<org.onap.so.db.catalog.beans.ActivitySpec> catalogActivitySpecList =
+                new ArrayList<org.onap.so.db.catalog.beans.ActivitySpec>();
+        catalogActivitySpecList.add(catalogActivitySpec);
+        when(env.getProperty("mso.asdc.config.activity.endpoint")).thenReturn("testEndpoint");
+        when(activitySpecRepository.findAll()).thenReturn(catalogActivitySpecList);
+        doReturn("testActivityId").when(activitySpecsActions).createActivitySpec(Mockito.any(), Mockito.any());
+        doReturn(true).when(activitySpecsActions).certifyActivitySpec(Mockito.any(), Mockito.any());
         deployActivitySpecs.deployActivities();
+        assertTrue(deploymentSuccessful);
+    }
+
+    @Test
+    public void mapActivitySpecFromCatalogToSdc_Test() throws Exception {
+        ObjectMapper mapper = new ObjectMapper();
+        org.onap.so.db.catalog.beans.ActivitySpec catalogActivitySpec = mapper.readValue(
+                new String(Files.readAllBytes(Paths.get("src/test/resources/ActivitySpecFromCatalog.json"))),
+                org.onap.so.db.catalog.beans.ActivitySpec.class);
+        ActivitySpec activitySpec = deployActivitySpecs.mapActivitySpecFromCatalogToSdc(catalogActivitySpec);
+        ActivitySpec expected = mapper.readValue(
+                new String(Files.readAllBytes(Paths.get("src/test/resources/ActivitySpec.json"))), ActivitySpec.class);
+        assertThat(expected, sameBeanAs(activitySpec));
     }
 }