Catalog alignment
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / distribution / engine / ServiceDistributionArtifactsBuilderTest.java
index ff0a590..c1cd5f3 100644 (file)
@@ -39,80 +39,141 @@ import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade
 import org.openecomp.sdc.be.model.operations.impl.InterfaceLifecycleOperation;
 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
 
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.when;
+
 public class ServiceDistributionArtifactsBuilderTest extends BeConfDependentTest {
 
        @InjectMocks
-       ServiceDistributionArtifactsBuilder testSubject;
-       
+       private ServiceDistributionArtifactsBuilder testInstance;
+
        @Mock
-    ToscaOperationFacade toscaOperationFacade;
+       ToscaOperationFacade toscaOperationFacade;
+
+       private ServiceDistributionArtifactsBuilder createTestSubject() {
+               return testInstance;
+       }
 
        @Before
-       public void setUpMocks() throws Exception {
+       public void setUpMock() throws Exception {
                MockitoAnnotations.initMocks(this);
        }
 
-
        @Test
        public void testGetInterfaceLifecycleOperation() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                InterfaceLifecycleOperation result;
 
                // default test
+               testSubject = createTestSubject();
                result = testSubject.getInterfaceLifecycleOperation();
        }
 
        @Test
        public void testSetInterfaceLifecycleOperation() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                InterfaceLifecycleOperation interfaceLifecycleOperation = null;
 
                // default test
+               testSubject = createTestSubject();
                testSubject.setInterfaceLifecycleOperation(interfaceLifecycleOperation);
        }
 
        @Test
        public void testResolveWorkloadContext() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                String workloadContext = "";
                String result;
 
                // default test
+               testSubject = createTestSubject();
                result = Deencapsulation.invoke(testSubject, "resolveWorkloadContext", new Object[] { workloadContext });
        }
 
        @Test
        public void testBuildResourceInstanceForDistribution() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                Service service = new Service();
                String distributionId = "";
                String workloadContext = "";
                INotificationData result;
 
                // test 1
+               testSubject = createTestSubject();
                workloadContext = "mock";
                result = testSubject.buildResourceInstanceForDistribution(service, distributionId, workloadContext);
 
                // test 2
+               testSubject = createTestSubject();
                workloadContext = null;
                result = testSubject.buildResourceInstanceForDistribution(service, distributionId, workloadContext);
        }
 
+       @Test
+       public void testBuildResourceInstanceForDistributionArtifactsTimeout() throws Exception {
+               Service service = new Service();
+               int deploymentArtifactTimeout = 60;
+               ComponentInstance ci = createComponentInstance("ci");
+               ci.setDeploymentArtifacts(createDeploymentArtifactList(deploymentArtifactTimeout));
+               service.setComponentInstances(Arrays.asList(ci));
+
+               when(toscaOperationFacade.getToscaElement(Mockito.eq(ci.getComponentUid()), Mockito.any(ComponentParametersView.class)))
+                               .thenReturn(Either.left(createDefaultResource()));
+
+               INotificationData notificationData = testInstance.buildResourceInstanceForDistribution(service, "did", "workload");
+               assertThat(notificationData.getResources().get(0).getArtifacts().get(0).getArtifactTimeout())
+                               .isEqualTo(deploymentArtifactTimeout);
+       }
+
+       private Map<String, ArtifactDefinition> createDeploymentArtifactList(int timeout) {
+               Map<String, ArtifactDefinition> deploymentArtifacts = new HashMap<>();
+               deploymentArtifacts.put("label", createArtifactDefinition("1", timeout));
+               return deploymentArtifacts;
+       }
+
+       private Resource createDefaultResource() {
+               Resource ciResource = new Resource();
+               ciResource.setInvariantUUID("res");
+               return ciResource;
+       }
+
+       private ComponentInstance createComponentInstance(String cuid) {
+               ComponentInstance ci = new ComponentInstance();
+               ci.setComponentUid(cuid);
+               return ci;
+       }
+
+       private ArtifactDefinition createArtifactDefinition(String id, int timeout) {
+               ArtifactDefinition artifactDefinition = new ArtifactDefinition();
+               artifactDefinition.setTimeout(60);
+               artifactDefinition.setUniqueId(id);
+               artifactDefinition.setEsId(id);
+               return artifactDefinition;
+       }
+
        @Test
        public void testBuildServiceForDistribution() throws Exception {
-               INotificationData notificationData = Mockito.mock(INotificationData.class);
+               ServiceDistributionArtifactsBuilder testSubject;
+               INotificationData notificationData = new INotificationDataMock();
                Service service = new Service();
                service.setDeploymentArtifacts(new HashMap<>());
                service.setToscaArtifacts(new HashMap<>());
                INotificationData result;
 
                // default test
+               testSubject = createTestSubject();
                result = testSubject.buildServiceForDistribution(notificationData, service);
        }
 
        @Test(expected = NullPointerException.class)
        public void testConvertServiceArtifactsToArtifactInfo() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                Service service = new Service();
                service.setDeploymentArtifacts(new HashMap<>());
                Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
@@ -126,19 +187,21 @@ public class ServiceDistributionArtifactsBuilderTest extends BeConfDependentTest
                List<ArtifactInfoImpl> result;
 
                // default test
+               testSubject = createTestSubject();
                result = Deencapsulation.invoke(testSubject, "convertServiceArtifactsToArtifactInfo", service);
                service.setToscaArtifacts(toscaArtifacts);
                result = Deencapsulation.invoke(testSubject, "convertServiceArtifactsToArtifactInfo", service);
        }
        
-       @Test
+       @Test(expected=NullPointerException.class)
        public void testConvertRIsToJsonContanier() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                Service service = new Service();
                List<ComponentInstance> resourceInstances = new LinkedList<>();
                List<JsonContainerResourceInstance> result;
 
-               Mockito.when(toscaOperationFacade.getToscaElement(Mockito.nullable(String.class), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(new Resource()));
                // default test
+               testSubject = createTestSubject();
                result = Deencapsulation.invoke(testSubject, "convertRIsToJsonContanier", service);
                
                resourceInstances.add(new ComponentInstance());
@@ -148,46 +211,51 @@ public class ServiceDistributionArtifactsBuilderTest extends BeConfDependentTest
 
        @Test
        public void testFillJsonContainer() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                JsonContainerResourceInstance jsonContainer = new JsonContainerResourceInstance(new ComponentInstance(),
                                new LinkedList<>());
                Resource resource = new Resource();
 
                // default test
+               testSubject = createTestSubject();
                Deencapsulation.invoke(testSubject, "fillJsonContainer", jsonContainer, resource);
        }
 
        @Test
        public void testConvertToArtifactsInfoImpl() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                Service service = new Service();
                ComponentInstance resourceInstance = new ComponentInstance();
                List<ArtifactInfoImpl> result;
 
                // default test
+               testSubject = createTestSubject();
                result = Deencapsulation.invoke(testSubject, "convertToArtifactsInfoImpl", service, resourceInstance);
        }
 
        @Test
        public void testSetCategories() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                JsonContainerResourceInstance jsonContainer = null;
                List<CategoryDefinition> categories = null;
 
                // test 1
+               testSubject = createTestSubject();
                categories = null;
-               LinkedList<CategoryDefinition> linkedList = new LinkedList<>();
-               linkedList.add(new CategoryDefinition());
-               LinkedList<ArtifactInfoImpl> artifacts = new LinkedList<>();
                Deencapsulation.invoke(testSubject, "setCategories",
-                               new JsonContainerResourceInstance(new ComponentInstance(), artifacts), linkedList);
+                               new Object[] { JsonContainerResourceInstance.class, List.class });
        }
 
        @Test
        public void testGetArtifactsWithPayload() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                ComponentInstance resourceInstance = new ComponentInstance();
                Map<String, ArtifactDefinition> deploymentArtifacts = new HashMap<>();
                resourceInstance.setDeploymentArtifacts(deploymentArtifacts);
                List<ArtifactDefinition> result;
 
                // default test
+               testSubject = createTestSubject();
                result = Deencapsulation.invoke(testSubject, "getArtifactsWithPayload", resourceInstance);
                deploymentArtifacts.put("mock", new ArtifactDefinition());
                result = Deencapsulation.invoke(testSubject, "getArtifactsWithPayload", resourceInstance);
@@ -220,10 +288,12 @@ public class ServiceDistributionArtifactsBuilderTest extends BeConfDependentTest
 
        @Test
        public void testVerifyServiceContainsDeploymentArtifacts() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                Service service = new Service();
                boolean result;
 
                // default test
+               testSubject = createTestSubject();
                result = testSubject.verifyServiceContainsDeploymentArtifacts(service);
                Map<String, ArtifactDefinition> deploymentArtifacts = new HashMap<>();
                deploymentArtifacts.put("mock", new ArtifactDefinition());
@@ -238,10 +308,124 @@ public class ServiceDistributionArtifactsBuilderTest extends BeConfDependentTest
 
        @Test
        public void testIsContainsPayload() throws Exception {
+               ServiceDistributionArtifactsBuilder testSubject;
                Map<String, ArtifactDefinition> deploymentArtifacts = null;
                boolean result;
 
                // default test
+               testSubject = createTestSubject();
                result = Deencapsulation.invoke(testSubject, "isContainsPayload", new Object[] { Map.class });
        }
+
+       private class INotificationDataMock implements INotificationData {
+
+               @Override
+               public String getDistributionID() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public String getServiceName() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public String getServiceVersion() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public String getServiceUUID() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public String getServiceDescription() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public String getServiceInvariantUUID() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public List<JsonContainerResourceInstance> getResources() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public List<ArtifactInfoImpl> getServiceArtifacts() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public String getWorkloadContext() {
+                       // TODO Auto-generated method stub
+                       return null;
+               }
+
+               @Override
+               public void setDistributionID(String distributionId) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setServiceName(String serviceName) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setServiceVersion(String serviceVersion) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setServiceUUID(String serviceUUID) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setServiceDescription(String serviceDescription) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setServiceInvariantUUID(String serviceInvariantUuid) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setResources(List<JsonContainerResourceInstance> resource) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setServiceArtifacts(List<ArtifactInfoImpl> artifacts) {
+                       // TODO Auto-generated method stub
+
+               }
+
+               @Override
+               public void setWorkloadContext(String workloadContext) {
+                       // TODO Auto-generated method stub
+
+               }
+
+       }
 }