Revisions made to the Model Loader to use Babel
[aai/model-loader.git] / src / test / java / org / onap / aai / modelloader / notification / EventCallbackTest.java
index b545ea2..0cc183d 100644 (file)
  */\r
 package org.onap.aai.modelloader.notification;\r
 \r
-import com.google.gson.Gson;\r
-import com.google.gson.GsonBuilder;\r
-import com.google.gson.InstanceCreator;\r
+import java.io.IOException;\r
+import java.util.List;\r
+import java.util.Properties;\r
+import org.junit.After;\r
 import org.junit.Before;\r
 import org.junit.Test;\r
-import org.mockito.Mock;\r
+import org.junit.runner.RunWith;\r
 import org.mockito.Mockito;\r
-import org.mockito.MockitoAnnotations;\r
 import org.onap.aai.modelloader.config.ModelLoaderConfig;\r
+import org.onap.aai.modelloader.entity.model.BabelArtifactParsingException;\r
+import org.onap.aai.modelloader.fixture.NotificationDataFixtureBuilder;\r
 import org.openecomp.sdc.api.IDistributionClient;\r
-import org.openecomp.sdc.api.consumer.INotificationCallback;\r
-import org.openecomp.sdc.api.notification.IArtifactInfo;\r
 import org.openecomp.sdc.api.notification.INotificationData;\r
-import org.openecomp.sdc.api.notification.IResourceInstance;\r
-import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;\r
-import org.openecomp.sdc.api.results.IDistributionClientResult;\r
-import org.openecomp.sdc.impl.DistributionClientFactory;\r
-import org.openecomp.sdc.impl.DistributionClientImpl;\r
-import org.openecomp.sdc.utils.DistributionActionResultEnum;\r
-\r
-import java.lang.reflect.Type;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.Properties;\r
+import org.powermock.api.mockito.PowerMockito;\r
+import org.powermock.modules.junit4.PowerMockRunner;\r
+import org.powermock.reflect.Whitebox;\r
 \r
+/**\r
+ * Tests {@link EventCallback}\r
+ */\r
+@RunWith(PowerMockRunner.class)\r
 public class EventCallbackTest {\r
 \r
-    ModelLoaderConfig config;\r
-    DistributionClientImpl client;\r
-    EventCallback callBack;\r
-\r
-    @Before\r
-    public void init(){\r
-        MockitoAnnotations.initMocks(this);\r
-        Properties props = new Properties();\r
-        props.setProperty("ml.distribution.ARTIFACT_TYPES",\r
-                "MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG");\r
-        config = new ModelLoaderConfig(props, null);\r
-        client = Mockito.spy(DistributionClientImpl.class);\r
-        callBack = new EventCallback(client, config);\r
-    }\r
-\r
-    @Test\r
-    public void testActivateCallBack_PublishFailure(){\r
-        Gson gson = new GsonBuilder().setPrettyPrinting().create();\r
-        NotificationDataInstance notification = gson.fromJson(getNotificationWithMultipleResources(),\r
-                NotificationDataInstance.class);\r
-\r
-        TestConfiguration testConfig = new TestConfiguration();\r
-        Mockito.when(client.getConfiguration()).thenReturn(testConfig);\r
-        callBack.activateCallback(notification);\r
-    }\r
-\r
-    @Test\r
-    public void testActivateCallBack_PublishSuccess(){\r
-        Gson gson = new GsonBuilder().setPrettyPrinting().create();\r
-        NotificationDataInstance notification = gson.fromJson(getNotificationWithMultipleResources(),\r
-                NotificationDataInstance.class);\r
-\r
-        TestConfiguration testConfig = new TestConfiguration();\r
-        Mockito.when(client.download(Mockito.any(IArtifactInfo.class))).thenReturn(buildSuccessResult());\r
-        Mockito.when(client.getConfiguration()).thenReturn(testConfig);\r
-        callBack.activateCallback(notification);\r
-    }\r
-\r
-    private static IDistributionClientDownloadResult buildSuccessResult() {\r
-        return new IDistributionClientDownloadResult() {\r
-\r
-            @Override\r
-            public byte[] getArtifactPayload() {\r
-                return new byte[0];\r
-            }\r
-\r
-            @Override\r
-            public String getArtifactName() {\r
-                return "";\r
-            }\r
-\r
-            @Override\r
-            public String getArtifactFilename() {\r
-                return "";\r
-            }\r
-\r
-            @Override\r
-            public String getDistributionMessageResult() {\r
-                return "";\r
-            }\r
-\r
-            @Override\r
-            public DistributionActionResultEnum getDistributionActionResult() {\r
-                return DistributionActionResultEnum.SUCCESS;\r
-            }\r
-        };\r
-    }\r
-\r
-    private String getNotificationWithMultipleResources(){\r
-        return "{\"distributionID\" : \"bcc7a72e-90b1-4c5f-9a37-28dc3cd86416\",\r\n" +\r
-                "      \"serviceName\" : \"Testnotificationser1\",\r\n" +\r
-                "      \"serviceVersion\" : \"1.0\",\r\n" +\r
-                "      \"serviceUUID\" : \"7f7f94f4-373a-4b71-a0e3-80ae2ba4eb5d\",\r\n" +\r
-                "      \"serviceDescription\" : \"TestNotificationVF1\",\r\n" +\r
-                "      \"resources\" : [{\r\n" +\r
-                "                      \"resourceInstanceName\" : \"testnotificationvf11\",\r\n" +\r
-                "                      \"resourceName\" : \"TestNotificationVF1\",\r\n" +\r
-                "                      \"resourceVersion\" : \"1.0\",\r\n" +\r
-                "                      \"resoucreType\" : \"VF\",\r\n" +\r
-                "                      \"resourceUUID\" : \"907e1746-9f69-40f5-9f2a-313654092a2d\",\r\n" +\r
-                "                      \"artifacts\" : [{\r\n" +\r
-                "                                      \"artifactName\" : \"sample-xml-alldata-1-1.xml\",\r\n" +\r
-                "                                      \"artifactType\" : \"YANG_XML\",\r\n" +\r
-                "                                      \"artifactURL\" : \"/sdc/v1/catalog/services/Testnotificationser1/1.0/" +\r
-                "                                       resourceInstances/testnotificationvf11/artifacts/" +\r
-                "                                       sample-xml-alldata-1-1.xml\",\r\n" +\r
-                "                                      \"artifactChecksum\" : \"MTUxODFkMmRlOTNhNjYxMGYyYTI1ZjA5Y2QyNWQyYTk\\u003d\",\r\n" +\r
-                "                                      \"artifactDescription\" : \"MyYang\",\r\n" +\r
-                "                                      \"artifactTimeout\" : 0,\r\n" +\r
-                "                                      \"artifactUUID\" : \"0005bc4a-2c19-452e-be6d-d574a56be4d0\",\r\n" +\r
-                "                                      \"artifactVersion\" : \"1\"\r\n" +\r
-                "                              }" +\r
-                "                      ]\r\n" +\r
-                "              },\r\n" +\r
-                "       {\r\n" +\r
-                "                      \"resourceInstanceName\" : \"testnotificationvf12\",\r\n" +\r
-                "                      \"resourceName\" : \"TestNotificationVF1\",\r\n" +\r
-                "                      \"resourceVersion\" : \"1.0\",\r\n" +\r
-                "                      \"resoucreType\" : \"VF\",\r\n" +\r
-                "                      \"resourceUUID\" : \"907e1746-9f69-40f5-9f2a-313654092a2e\",\r\n" +\r
-                "                      \"artifacts\" : [{\r\n" +\r
-                "                                      \"artifactName\" : \"heat.yaml\",\r\n" +\r
-                "                                      \"artifactType\" : \"HEAT\",\r\n" +\r
-                "                                      \"artifactURL\" : \"/sdc/v1/catalog/services/Testnotificationser1/1.0/" +\r
-                "                                       resourceInstances/testnotificationvf11/artifacts/" +\r
-                "                                       heat.yaml\",\r\n" +\r
-                "                                      \"artifactChecksum\" : \"ODEyNjE4YTMzYzRmMTk2ODVhNTU2NTg3YWEyNmIxMTM\\u003d\",\r\n" +\r
-                "                                      \"artifactDescription\" : \"heat\",\r\n" +\r
-                "                                      \"artifactTimeout\" : 60,\r\n" +\r
-                "                                      \"artifactUUID\" : \"8df6123c-f368-47d3-93be-1972cefbcc35\",\r\n" +\r
-                "                                      \"artifactVersion\" : \"1\"\r\n" +\r
-                "                              }" +\r
-                "                      ]\r\n" +\r
-                "              }\r\n" +\r
-                "      ]}";\r
-    }\r
-}\r
-\r
-class NotificationDataInstance implements INotificationData{\r
-\r
-    private String distributionID;\r
-    private String serviceName;\r
-    private String serviceVersion;\r
-    private String serviceUUID;\r
-    private String serviceDescription;\r
-    private String serviceInvariantUUID;\r
-    private List<JsonContainerResourceInstance> resources;\r
-    private List<ArtifactInfoImpl> serviceArtifacts;\r
-    private String workloadContext;\r
-\r
-    @Override\r
-    public String getDistributionID() {\r
-        return distributionID;\r
-    }\r
-\r
-    @Override\r
-    public String getServiceName() {\r
-        return serviceName;\r
-    }\r
-\r
-    @Override\r
-    public String getServiceVersion() {\r
-        return serviceVersion;\r
-    }\r
-\r
-    @Override\r
-    public String getServiceUUID() {\r
-        return serviceUUID;\r
-    }\r
-\r
-    public void setDistributionID(String distributionID) {\r
-        this.distributionID = distributionID;\r
-    }\r
-\r
-    public void setServiceName(String serviceName) {\r
-        this.serviceName = serviceName;\r
-    }\r
-\r
-    public void setServiceVersion(String serviceVersion) {\r
-        this.serviceVersion = serviceVersion;\r
-    }\r
-\r
-    public void setServiceUUID(String serviceUUID) {\r
-        this.serviceUUID = serviceUUID;\r
-    }\r
-\r
-\r
-\r
-    public String getServiceDescription() {\r
-        return serviceDescription;\r
-    }\r
-\r
-    public void setServiceDescription(String serviceDescription) {\r
-        this.serviceDescription = serviceDescription;\r
-    }\r
-\r
-    public String getWorkloadContext() {\r
-        return workloadContext;\r
-    }\r
-\r
-    public void setWorkloadContext(String workloadContext) {\r
-        this.workloadContext = workloadContext;\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-        return "NotificationDataImpl [distributionID=" + distributionID + ", serviceName=" + serviceName\r
-                + ", serviceVersion=" + serviceVersion + ", serviceUUID=" + serviceUUID + ", serviceDescription="\r
-                + serviceDescription + ", serviceInvariantUUID=" + serviceInvariantUUID + ", resources=" + resources\r
-                + ", serviceArtifacts=" + serviceArtifacts + ", workloadContext=" + workloadContext + "]";\r
-    }\r
-\r
-    @Override\r
-    public List<IResourceInstance> getResources() {\r
-        List<IResourceInstance> ret = new ArrayList<IResourceInstance>();\r
-        if( resources != null ){\r
-            ret.addAll(resources);\r
-        }\r
-        return ret;\r
-    }\r
-\r
-    public void setResources(List<IResourceInstance> resources){\r
-        this.resources = JsonContainerResourceInstance.convertToJsonContainer(resources);\r
-    }\r
-\r
-    public List<JsonContainerResourceInstance> getResourcesImpl(){\r
-        return resources;\r
-    }\r
-\r
-    List<ArtifactInfoImpl> getServiceArtifactsImpl(){\r
-        return serviceArtifacts;\r
-    }\r
-\r
-    @Override\r
-    public List<IArtifactInfo> getServiceArtifacts() {\r
-\r
-        List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();\r
-        if( serviceArtifacts != null ){\r
-            temp.addAll(serviceArtifacts);\r
-        }\r
-        return temp;\r
-    }\r
-\r
-    void setServiceArtifacts(List<ArtifactInfoImpl> relevantServiceArtifacts) {\r
-        serviceArtifacts = relevantServiceArtifacts;\r
-\r
-    }\r
-\r
-    @Override\r
-    public String getServiceInvariantUUID() {\r
-        return serviceInvariantUUID;\r
-    }\r
-\r
-\r
-    public void setServiceInvariantUUID(String serviceInvariantUUID) {\r
-        this.serviceInvariantUUID = serviceInvariantUUID;\r
-    }\r
-    @Override\r
-    public IArtifactInfo getArtifactMetadataByUUID(String artifactUUID){\r
-        IArtifactInfo ret = findArtifactInfoByUUID(artifactUUID, serviceArtifacts);\r
-        if( ret == null && resources != null ){\r
-            for( JsonContainerResourceInstance currResourceInstance : resources ){\r
-                ret = findArtifactInfoByUUID(artifactUUID, currResourceInstance.getArtifactsImpl());\r
-                if( ret != null ){\r
-                    break;\r
-                }\r
-            }\r
-        }\r
-        return ret;\r
-\r
-    }\r
-\r
-    private IArtifactInfo findArtifactInfoByUUID(String artifactUUID, List<ArtifactInfoImpl> listToCheck) {\r
-        IArtifactInfo ret = null;\r
-        if( listToCheck != null ){\r
-            for(IArtifactInfo curr: listToCheck ){\r
-                if(curr.getArtifactUUID().equals(artifactUUID) ){\r
-                    ret = curr;\r
-                    break;\r
-                }\r
-            }\r
-        }\r
-        return ret;\r
-    }\r
-}\r
-\r
-class ArtifactInfoImpl implements IArtifactInfo{\r
-\r
-    private String artifactName;\r
-    private String artifactType;\r
-    private String artifactURL;\r
-    private String artifactChecksum;\r
-    private String artifactDescription;\r
-    private Integer artifactTimeout;\r
-    private String artifactVersion;\r
-    private String artifactUUID;\r
-    private String generatedFromUUID;\r
-    private IArtifactInfo generatedArtifact;\r
-    private List<String> relatedArtifacts;\r
-    private List<IArtifactInfo> relatedArtifactsInfo;\r
-    ArtifactInfoImpl(){}\r
-\r
-    private ArtifactInfoImpl(IArtifactInfo iArtifactInfo){\r
-        artifactName = iArtifactInfo.getArtifactName();\r
-        artifactType = iArtifactInfo.getArtifactType();\r
-        artifactURL = iArtifactInfo.getArtifactURL();\r
-        artifactChecksum = iArtifactInfo.getArtifactChecksum();\r
-        artifactDescription = iArtifactInfo.getArtifactDescription();\r
-        artifactTimeout = iArtifactInfo.getArtifactTimeout();\r
-        artifactVersion = iArtifactInfo.getArtifactVersion();\r
-        artifactUUID = iArtifactInfo.getArtifactUUID();\r
-        generatedArtifact = iArtifactInfo.getGeneratedArtifact();\r
-        relatedArtifactsInfo = iArtifactInfo.getRelatedArtifacts();\r
-        relatedArtifacts = fillRelatedArtifactsUUID(relatedArtifactsInfo);\r
-\r
-    }\r
-\r
-\r
-    private List<String> fillRelatedArtifactsUUID(List<IArtifactInfo> relatedArtifactsInfo) {\r
-        List<String> relatedArtifactsUUID = null;\r
-        if( relatedArtifactsInfo != null && !relatedArtifactsInfo.isEmpty()){\r
-            relatedArtifactsUUID = new ArrayList<>();\r
-            for(IArtifactInfo curr: relatedArtifactsInfo){\r
-                relatedArtifactsUUID.add(curr.getArtifactUUID());\r
-            }\r
-        }\r
-        return relatedArtifactsUUID;\r
-    }\r
-\r
-    public static List<ArtifactInfoImpl> convertToArtifactInfoImpl(List<IArtifactInfo> list){\r
-        List<ArtifactInfoImpl> ret = new ArrayList<ArtifactInfoImpl>();\r
-        if( list != null ){\r
-            for(IArtifactInfo artifactInfo : list  ){\r
-                ret.add(new ArtifactInfoImpl(artifactInfo));\r
-            }\r
-        }\r
-        return ret;\r
-    }\r
-\r
-    public String getArtifactName() {\r
-        return artifactName;\r
-    }\r
-\r
-    public void setArtifactName(String artifactName) {\r
-        this.artifactName = artifactName;\r
-    }\r
-\r
-    public String getArtifactType() {\r
-        return artifactType;\r
-    }\r
-\r
-    public void setArtifactType(String artifactType) {\r
-        this.artifactType = artifactType;\r
-    }\r
-\r
-    public String getArtifactURL() {\r
-        return artifactURL;\r
-    }\r
-\r
-    public void setArtifactURL(String artifactURL) {\r
-        this.artifactURL = artifactURL;\r
-    }\r
-\r
-    public String getArtifactChecksum() {\r
-        return artifactChecksum;\r
-    }\r
-\r
-    public void setArtifactChecksum(String artifactChecksum) {\r
-        this.artifactChecksum = artifactChecksum;\r
-    }\r
-\r
-    public String getArtifactDescription() {\r
-        return artifactDescription;\r
-    }\r
-\r
-    public void setArtifactDescription(String artifactDescription) {\r
-        this.artifactDescription = artifactDescription;\r
-    }\r
-\r
-    public Integer getArtifactTimeout() {\r
-        return artifactTimeout;\r
-    }\r
-\r
-    public void setArtifactTimeout(Integer artifactTimeout) {\r
-        this.artifactTimeout = artifactTimeout;\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-        return "BaseArtifactInfoImpl [artifactName=" + artifactName\r
-                + ", artifactType=" + artifactType + ", artifactURL="\r
-                + artifactURL + ", artifactChecksum=" + artifactChecksum\r
-                + ", artifactDescription=" + artifactDescription\r
-                + ", artifactVersion=" + artifactVersion\r
-                + ", artifactUUID=" + artifactUUID\r
-                + ", artifactTimeout=" + artifactTimeout + "]";\r
-    }\r
-\r
-    public String getArtifactVersion() {\r
-        return artifactVersion;\r
-    }\r
-\r
-    public void setArtifactVersion(String artifactVersion) {\r
-        this.artifactVersion = artifactVersion;\r
-    }\r
-\r
-    public String getArtifactUUID() {\r
-        return artifactUUID;\r
-    }\r
-\r
-    public void setArtifactUUID(String artifactUUID) {\r
-        this.artifactUUID = artifactUUID;\r
-    }\r
-\r
-    public String getGeneratedFromUUID() {\r
-        return generatedFromUUID;\r
-    }\r
-\r
-    public void setGeneratedFromUUID(String generatedFromUUID) {\r
-        this.generatedFromUUID = generatedFromUUID;\r
-    }\r
-\r
-    public IArtifactInfo getGeneratedArtifact() {\r
-        return generatedArtifact;\r
-    }\r
-\r
-    public void setGeneratedArtifact(IArtifactInfo generatedArtifact) {\r
-        this.generatedArtifact = generatedArtifact;\r
-    }\r
-\r
-    public List<IArtifactInfo> getRelatedArtifacts(){\r
-        List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();\r
-        if( relatedArtifactsInfo != null ){\r
-            temp.addAll(relatedArtifactsInfo);\r
-        }\r
-        return temp;\r
-    }\r
-\r
-    public void setRelatedArtifacts(List<String> relatedArtifacts) {\r
-        this.relatedArtifacts = relatedArtifacts;\r
-    }\r
-\r
-    public void setRelatedArtifactsInfo(List<IArtifactInfo> relatedArtifactsInfo) {\r
-        this.relatedArtifactsInfo = relatedArtifactsInfo;\r
-    }\r
+    private static final String CONFIG_FILE = "model-loader.properties";\r
 \r
-    public List<String> getRelatedArtifactsUUID(){\r
-        return relatedArtifacts;\r
-    }\r
-}\r
-\r
-class JsonContainerResourceInstance implements IResourceInstance{\r
-    JsonContainerResourceInstance (){}\r
-    private String resourceInstanceName;\r
-    private String resourceCustomizationUUID;\r
-    private String resourceName;\r
-    private String resourceVersion;\r
-    private String resoucreType;\r
-    private String resourceUUID;\r
-    private String resourceInvariantUUID;\r
-    private String category;\r
-    private String subcategory;\r
-    private List<ArtifactInfoImpl> artifacts;\r
+    private ModelLoaderConfig config;\r
+    private Properties configProperties;\r
+    private EventCallback eventCallback;\r
 \r
-    private JsonContainerResourceInstance(IResourceInstance resourceInstance){\r
-        resourceInstanceName = resourceInstance.getResourceInstanceName();\r
-        resourceCustomizationUUID = resourceInstance.getResourceCustomizationUUID();\r
-        resourceName = resourceInstance.getResourceName();\r
-        resourceVersion = resourceInstance.getResourceVersion();\r
-        resoucreType = resourceInstance.getResourceType();\r
-        resourceUUID = resourceInstance.getResourceUUID();\r
-        resourceInvariantUUID = resourceInstance.getResourceInvariantUUID();\r
-        category = resourceInstance.getCategory();\r
-        subcategory = resourceInstance.getSubcategory();\r
-        artifacts = ArtifactInfoImpl.convertToArtifactInfoImpl(resourceInstance.getArtifacts());\r
-    }\r
-\r
-    public static List<JsonContainerResourceInstance> convertToJsonContainer(List<IResourceInstance> resources){\r
-        List<JsonContainerResourceInstance> buildResources = new ArrayList<JsonContainerResourceInstance>();\r
-        if( resources != null ){\r
-            for( IResourceInstance resourceInstance : resources ){\r
-                buildResources.add(new JsonContainerResourceInstance(resourceInstance));\r
-            }\r
-        }\r
-        return buildResources;\r
-    }\r
+    private ArtifactDeploymentManager mockArtifactDeploymentManager;\r
+    private ArtifactDownloadManager mockArtifactDownloadManager;\r
+    private IDistributionClient mockDistributionClient;\r
 \r
-    @Override\r
-    public String getResourceInstanceName() {\r
-        return resourceInstanceName;\r
-    }\r
-\r
-    public void setResourceInstanceName(String resourceInstanceName) {\r
-        this.resourceInstanceName = resourceInstanceName;\r
-    }\r
-\r
-    @Override\r
-    public String getResourceName() {\r
-        return resourceName;\r
-    }\r
-\r
-    public void setResourceName(String resourceName) {\r
-        this.resourceName = resourceName;\r
-    }\r
-\r
-    @Override\r
-    public String getResourceVersion() {\r
-        return resourceVersion;\r
-    }\r
-\r
-    public void setResourceVersion(String resourceVersion) {\r
-        this.resourceVersion = resourceVersion;\r
-    }\r
+    @Before\r
+    public void setup() throws IOException {\r
+        configProperties = new Properties();\r
+        configProperties.load(this.getClass().getClassLoader().getResourceAsStream(CONFIG_FILE));\r
+        config = new ModelLoaderConfig(configProperties, null);\r
 \r
-    @Override\r
-    public String getResourceType() {\r
-        return resoucreType;\r
-    }\r
+        mockArtifactDeploymentManager = PowerMockito.mock(ArtifactDeploymentManager.class);\r
+        mockArtifactDownloadManager = PowerMockito.mock(ArtifactDownloadManager.class);\r
+        mockDistributionClient = PowerMockito.mock(IDistributionClient.class);\r
 \r
-    public void setResoucreType(String resoucreType) {\r
-        this.resoucreType = resoucreType;\r
-    }\r
-\r
-    @Override\r
-    public String getResourceUUID() {\r
-        return resourceUUID;\r
-    }\r
+        eventCallback = new EventCallback(mockDistributionClient, config);\r
 \r
-    public void setResourceUUID(String resourceUUID) {\r
-        this.resourceUUID = resourceUUID;\r
+        Whitebox.setInternalState(eventCallback, mockArtifactDeploymentManager);\r
+        Whitebox.setInternalState(eventCallback, mockArtifactDownloadManager);\r
     }\r
 \r
-    @Override\r
-    public List<IArtifactInfo> getArtifacts() {\r
-        List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();\r
-        if( artifacts != null ){\r
-            temp.addAll(artifacts);\r
-        }\r
-        return temp;\r
+    @After\r
+    public void tearDown() {\r
+        config = null;\r
+        configProperties = null;\r
+        eventCallback = null;\r
+        mockArtifactDeploymentManager = null;\r
+        mockArtifactDownloadManager = null;\r
+        mockDistributionClient = null;\r
     }\r
 \r
-    public void setArtifacts(List<ArtifactInfoImpl> artifacts) {\r
-        this.artifacts = artifacts;\r
-    }\r
+    @Test\r
+    @SuppressWarnings("unchecked")\r
+    public void activateCallback_downloadFails() {\r
+        INotificationData data = NotificationDataFixtureBuilder.getNotificationDataWithToscaCsarFile();\r
 \r
-    public List<ArtifactInfoImpl> getArtifactsImpl(){\r
-        return artifacts;\r
-    }\r
+        PowerMockito.when(mockArtifactDownloadManager.downloadArtifacts(Mockito.any(INotificationData.class),\r
+                Mockito.any(List.class), Mockito.any(List.class), Mockito.any(List.class)))\r
+                .thenReturn(false);\r
 \r
-    @Override\r
-    public String getResourceInvariantUUID() {\r
-        return resourceInvariantUUID;\r
-    }\r
+        eventCallback.activateCallback(data);\r
 \r
-    public void setResourceInvariantUUID(String resourceInvariantUUID) {\r
-        this.resourceInvariantUUID = resourceInvariantUUID;\r
-    }\r
-    public String getResourceCustomizationUUID() {\r
-        return resourceCustomizationUUID;\r
+        Mockito.verify(mockArtifactDownloadManager).downloadArtifacts(Mockito.any(INotificationData.class),\r
+                Mockito.any(List.class), Mockito.any(List.class), Mockito.any(List.class));\r
+        Mockito.verifyZeroInteractions(mockArtifactDeploymentManager);\r
     }\r
 \r
-    public void setResourceCustomizationUUID(String resourceCustomizationUUID) {\r
-        this.resourceCustomizationUUID = resourceCustomizationUUID;\r
-    }\r
+    @SuppressWarnings("unchecked")\r
+    @Test\r
+    public void activateCallback() throws BabelArtifactParsingException {\r
+        INotificationData data = NotificationDataFixtureBuilder.getNotificationDataWithToscaCsarFile();\r
 \r
-    public String getCategory() {\r
-        return category;\r
-    }\r
+        PowerMockito.when(mockArtifactDownloadManager.downloadArtifacts(Mockito.any(INotificationData.class),\r
+                Mockito.any(List.class), Mockito.any(List.class), Mockito.any(List.class)))\r
+                .thenReturn(true);\r
 \r
-    public void setCategory(String category) {\r
-        this.category = category;\r
-    }\r
+        PowerMockito\r
+                .when(mockArtifactDeploymentManager.deploy(Mockito.any(INotificationData.class),\r
+                        Mockito.any(List.class), Mockito.any(List.class), Mockito.any(List.class)))\r
+                .thenReturn(true);\r
 \r
-    public String getSubcategory() {\r
-        return subcategory;\r
-    }\r
+        eventCallback.activateCallback(data);\r
 \r
-    public void setSubcategory(String subcategory) {\r
-        this.subcategory = subcategory;\r
+        Mockito.verify(mockArtifactDownloadManager).downloadArtifacts(Mockito.any(INotificationData.class),\r
+                Mockito.any(List.class), Mockito.any(List.class), Mockito.any(List.class));\r
+        Mockito.verify(mockArtifactDeploymentManager).deploy(Mockito.any(INotificationData.class),\r
+                Mockito.any(List.class), Mockito.any(List.class), Mockito.any(List.class));\r
     }\r
 }\r