* 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.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * 
+ *
  * SPDX-License-Identifier: Apache-2.0
  * ============LICENSE_END=========================================================
  */
 
     private String csarFilePath;
 
-    public Csar(String csarFilePath) {
+    public Csar(final String csarFilePath) {
         this.csarFilePath = csarFilePath;
     }
 
     /**
      * Get the path to the CSAR file.
-     * 
+     *
      * @return the path of the CSAR file
      */
-    String getCsarPath() {
+    public String getCsarPath() {
         return csarFilePath;
     }
 
 
 
 package org.onap.policy.distribution.reception.handling.sdc;
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.common.parameters.ParameterService;
+import org.onap.policy.distribution.model.Csar;
 import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 import org.onap.policy.distribution.reception.decoding.PluginTerminationException;
+import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
 import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
+import org.onap.policy.distribution.reception.handling.sdc.exceptions.ArtifactDownloadException;
 import org.onap.sdc.api.IDistributionClient;
+import org.onap.sdc.api.consumer.INotificationCallback;
+import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.sdc.api.notification.INotificationData;
+import org.onap.sdc.api.results.IDistributionClientDownloadResult;
 import org.onap.sdc.api.results.IDistributionClientResult;
 import org.onap.sdc.impl.DistributionClientFactory;
 import org.onap.sdc.utils.DistributionActionResultEnum;
 /**
  * Handles reception of inputs from ONAP Service Design and Creation (SDC) from which policies may be decoded.
  */
-public class SdcReceptionHandler extends AbstractReceptionHandler {
+public class SdcReceptionHandler extends AbstractReceptionHandler implements INotificationCallback {
 
     private static final Logger LOGGER = FlexLogger.getLogger(SdcReceptionHandler.class);
+
     private SdcReceptionHandlerStatus sdcReceptionHandlerStatus = SdcReceptionHandlerStatus.STOPPED;
     private SdcReceptionHandlerConfigurationParameterGroup handlerParameters;
     private IDistributionClient distributionClient;
         LOGGER.debug("SDC Client is stopped successfully");
     }
 
+    @Override
+    public void activateCallback(final INotificationData notificationData) {
+        LOGGER.debug("Receieved the notification from SDC with ID: " + notificationData.getDistributionID());
+        changeSdcReceptionHandlerStatus(SdcReceptionHandlerStatus.BUSY);
+        processCsarServiceArtifacts(notificationData);
+        changeSdcReceptionHandlerStatus(SdcReceptionHandlerStatus.IDLE);
+        LOGGER.debug("Processed the notification from SDC with ID: " + notificationData.getDistributionID());
+    }
+
     /**
      * Method to change the status of this reception handler instance.
      *
      * @param newStatus the new status
      */
-    protected synchronized final void changeSdcReceptionHandlerStatus(final SdcReceptionHandlerStatus newStatus) {
+    private synchronized final void changeSdcReceptionHandlerStatus(final SdcReceptionHandlerStatus newStatus) {
         switch (newStatus) {
             case INIT:
             case STOPPED:
      */
     private void initializeSdcClient() throws PluginInitializationException {
 
-        LOGGER.debug("Going to initialize the SDC Client...");
+        LOGGER.debug("Initializing the SDC Client...");
         if (sdcReceptionHandlerStatus != SdcReceptionHandlerStatus.STOPPED) {
             final String message = "The SDC Client is already initialized";
             LOGGER.error(message);
         }
         final SdcConfiguration sdcConfig = new SdcConfiguration(handlerParameters);
         distributionClient = createSdcDistributionClient();
-        final IDistributionClientResult clientResult =
-                distributionClient.init(sdcConfig, new SdcNotificationCallBack());
+        final IDistributionClientResult clientResult = distributionClient.init(sdcConfig, this);
         if (!clientResult.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {
             changeSdcReceptionHandlerStatus(SdcReceptionHandlerStatus.STOPPED);
             final String message =
         LOGGER.debug("SDC Client is started successfully");
         this.changeSdcReceptionHandlerStatus(SdcReceptionHandlerStatus.IDLE);
     }
+
+    /**
+     * Method to process csar service artifacts from incoming SDC notification.
+     *
+     * @param iNotif the notification from SDC
+     */
+    public void processCsarServiceArtifacts(final INotificationData iNotif) {
+        boolean artifactsProcessedSuccessfully = true;
+
+        for (final IArtifactInfo artifact : iNotif.getServiceArtifacts()) {
+            try {
+                final IDistributionClientDownloadResult resultArtifact = downloadTheArtifact(artifact);
+                final Path filePath = writeArtifactToFile(artifact, resultArtifact);
+                final Csar csarObject = new Csar(filePath.toString());
+                inputReceived(csarObject);
+                // send deploy success status to sdc
+                deleteArtifactFile(filePath);
+            } catch (final ArtifactDownloadException | PolicyDecodingException exp) {
+                LOGGER.error("Failed to process csar service artifacts ", exp);
+                artifactsProcessedSuccessfully = false;
+                // send deploy failed status to sdc
+            }
+        }
+        if (artifactsProcessedSuccessfully) {
+            // send final distribution success status to sdc
+        } else {
+            // send final distribution failed status to sdc
+        }
+    }
+
+    /**
+     * Method to download the distribution artifact.
+     *
+     * @param artifact the artifact
+     * @return the download result
+     * @throws ArtifactDownloadException if download fails
+     */
+    private IDistributionClientDownloadResult downloadTheArtifact(final IArtifactInfo artifact)
+            throws ArtifactDownloadException {
+
+        final IDistributionClientDownloadResult downloadResult = distributionClient.download(artifact);
+        if (!downloadResult.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {
+            final String message = "Failed to download artifact with name: " + artifact.getArtifactName();
+            LOGGER.error(message);
+            // send failure download status to sdc
+            throw new ArtifactDownloadException(message);
+        }
+        // send success download status to sdc
+        return downloadResult;
+    }
+
+    /**
+     * Method to write the downloaded distribution artifact to local file system.
+     *
+     * @param artifact the notification artifact
+     * @param resultArtifact the download result artifact
+     * @return the local path of written file
+     * @throws ArtifactDownloadException if error occurs while writing the artifact
+     */
+    private Path writeArtifactToFile(final IArtifactInfo artifact,
+            final IDistributionClientDownloadResult resultArtifact) throws ArtifactDownloadException {
+        try {
+            final byte[] payloadBytes = resultArtifact.getArtifactPayload();
+            final File tempArtifactFile = File.createTempFile(artifact.getArtifactName(), null);
+            try (FileOutputStream fileOutputStream = new FileOutputStream(tempArtifactFile)) {
+                fileOutputStream.write(payloadBytes, 0, payloadBytes.length);
+                return tempArtifactFile.toPath();
+            }
+        } catch (final Exception exp) {
+            final String message = "Failed to write artifact to local repository";
+            LOGGER.error(message, exp);
+            throw new ArtifactDownloadException(message, exp);
+        }
+    }
+
+    /**
+     * Method to delete the downloaded notification artifact from local file system.
+     *
+     * @param filePath the path of file
+     */
+    private void deleteArtifactFile(final Path filePath) {
+        try {
+            Files.deleteIfExists(filePath);
+        } catch (final IOException exp) {
+            LOGGER.error("Failed to delete the downloaded artifact file", exp);
+        }
+    }
 }
 
 /**
  * Exception during download from Pssd.
  */
-public class PssdDownloadException extends Exception {
+public class ArtifactDownloadException extends Exception {
 
     /**
      * serialization id.
      *
      * @param message The message to dump
      */
-    public PssdDownloadException (final String message) {
+    public ArtifactDownloadException (final String message) {
         super (message);
        
     }
      * @param message The message to dump
      * @param e the exception that caused this exception to be thrown
      */
-    public PssdDownloadException (final String message, final Exception e) {
+    public ArtifactDownloadException (final String message, final Exception e) {
         super (message, e);
        
     }
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.reception.handling.sdc;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.onap.policy.distribution.model.Csar;
+import org.onap.policy.distribution.model.PolicyInput;
+import org.onap.policy.distribution.reception.decoding.PolicyDecoder;
+import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
+
+/**
+ * Class to create a dummy decoder for test cases.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
+ */
+public class DummyDecoder implements PolicyDecoder<Csar, DummyPolicy> {
+
+    public static final String DUMMY_POLICY = "DummyPolicy";
+    private DummyPolicy decodedPolicy;
+
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public boolean canHandle(final PolicyInput policyInput) {
+        return policyInput.getClass().isAssignableFrom(Csar.class);
+    }
+
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public Collection<DummyPolicy> decode(final Csar input) throws PolicyDecodingException {
+        final DummyPolicy dummyPolicy = new DummyPolicy(input.getCsarPath(), DUMMY_POLICY);
+        decodedPolicy = dummyPolicy;
+        return Arrays.asList(dummyPolicy);
+    }
+
+    /**
+     * Returns the policy decoded by this decoder.
+     *
+     * @return the policy
+     */
+    public DummyPolicy getDecodedPolicy() {
+        return decodedPolicy;
+    }
+}
 
 
 package org.onap.policy.distribution.reception.handling.sdc;
 
-import org.onap.policy.common.logging.flexlogger.FlexLogger;
-import org.onap.policy.common.logging.flexlogger.Logger;
-import org.onap.sdc.api.consumer.INotificationCallback;
-import org.onap.sdc.api.notification.INotificationData;
+import org.onap.policy.distribution.model.Policy;
 
 /**
- * Class to provide an implementation of INotificationCallback interface for receiving the incoming distribution
- * notifications from SDC.
+ * Class to create a dummy policy for test cases.
  *
  * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
  */
-public class SdcNotificationCallBack implements INotificationCallback {
+public class DummyPolicy implements Policy {
 
-    private static final Logger LOGGER = FlexLogger.getLogger(SdcNotificationCallBack.class);
+    private String policyName;
+    private String policyType;
 
-    @Override
-    public void activateCallback(final INotificationData notificationData) {
+    /**
+     * Constructor for instantiating {@link DummyPolicy} class.
+     *
+     * @param policyName the policy name
+     * @param policyType the policy type
+     */
+    public DummyPolicy(final String policyName, final String policyType) {
+        super();
+        this.policyName = policyName;
+        this.policyType = policyType;
+    }
 
-        LOGGER.debug("Got the message from SDC:" + notificationData.getDistributionID());
-        // Code for handling notification will come here
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public String getPolicyName() {
+        return policyName;
     }
 
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public String getPolicyType() {
+        return policyType;
+    }
 }
 
--- /dev/null
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.distribution.reception.handling.sdc;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.onap.policy.distribution.forwarding.PolicyForwarder;
+import org.onap.policy.distribution.forwarding.PolicyForwardingException;
+import org.onap.policy.distribution.model.Policy;
+
+/**
+ * Class to create a dummy forwarder for test cases.
+ *
+ * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
+ */
+public class DummyPolicyForwarder implements PolicyForwarder {
+    private int numberOfPoliciesReceived = 0;
+    private Collection<Policy> policiesReceived = new ArrayList<>();
+
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public void forward(final Collection<Policy> policies) throws PolicyForwardingException {
+        numberOfPoliciesReceived += policies.size();
+        policiesReceived.addAll(policies);
+    }
+
+    /**
+     * Returns the number of policies received by this forwarder.
+     *
+     * @return the integer value
+     */
+    public int getNumberOfPoliciesReceived() {
+        return numberOfPoliciesReceived;
+    }
+
+    /**
+     * Checks if the forwarder has received a policy with given policy type.
+     *
+     * @param policyType the policy type
+     * @return the boolean result
+     */
+    public boolean receivedPolicyWithGivenType(final String policyType) {
+        for (final Policy policy : policiesReceived) {
+            if (policy.getPolicyType().equals(policyType)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * {@inheritDoc}.
+     */
+    @Override
+    public void configure(final String parameterGroupName) {}
+}
 
 
 package org.onap.policy.distribution.reception.handling.sdc;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
 
 import java.io.FileReader;
 import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.junit.After;
 import org.junit.Before;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.common.parameters.ParameterService;
+import org.onap.policy.distribution.forwarding.PolicyForwarder;
+import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
+import org.onap.policy.distribution.model.Csar;
 import org.onap.policy.distribution.reception.decoding.PluginInitializationException;
 import org.onap.policy.distribution.reception.decoding.PluginTerminationException;
+import org.onap.policy.distribution.reception.decoding.PolicyDecoder;
+import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
+import org.onap.policy.distribution.reception.handling.PluginHandler;
+import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
+import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters;
+import org.onap.sdc.api.notification.IArtifactInfo;
+import org.onap.sdc.api.notification.INotificationData;
+import org.onap.sdc.api.results.IDistributionClientDownloadResult;
 import org.onap.sdc.api.results.IDistributionClientResult;
 import org.onap.sdc.impl.mock.DistributionClientStubImpl;
 import org.onap.sdc.utils.DistributionActionResultEnum;
 public class TestSdcReceptionHandler {
 
     private static final Logger LOGGER = FlexLogger.getLogger(TestSdcReceptionHandler.class);
+    private static final String DUMMY_SERVICE_CSAR = "dummyService.csar";
 
     @Mock
     private IDistributionClientResult successfulClientInitResult;
     private IDistributionClientResult failureClientInitResult;
     @Mock
     private DistributionClientStubImpl distributionClient;
+    @Mock
+    private IDistributionClientDownloadResult successfulClientDownloadResult;
+    @Mock
+    private INotificationData notificationData;
+    @Mock
+    private IArtifactInfo artifactInfo;
 
     private SdcReceptionHandlerConfigurationParameterGroup pssdConfigParameters;
     private SdcReceptionHandler sypHandler;
 
+
     /**
      * Setup for the test cases.
      *
         ParameterService.register(pssdConfigParameters);
         final SdcReceptionHandler sdcHandler = new SdcReceptionHandler();
         sypHandler = Mockito.spy(sdcHandler);
+
         Mockito.when(sypHandler.createSdcDistributionClient()).thenReturn(distributionClient);
         Mockito.when(distributionClient.init(any(), any())).thenReturn(successfulClientInitResult);
         Mockito.when(distributionClient.start()).thenReturn(successfulClientInitResult);
         Mockito.when(distributionClient.stop()).thenReturn(successfulClientInitResult);
+        Mockito.when(distributionClient.download(any())).thenReturn(successfulClientDownloadResult);
+        Mockito.when(notificationData.getServiceArtifacts()).thenReturn(Arrays.asList(artifactInfo));
+        Mockito.when(artifactInfo.getArtifactName()).thenReturn(DUMMY_SERVICE_CSAR);
+        Mockito.when(successfulClientDownloadResult.getArtifactPayload()).thenReturn(new byte[1]);
         Mockito.when(successfulClientInitResult.getDistributionActionResult())
                 .thenReturn(DistributionActionResultEnum.SUCCESS);
+        Mockito.when(successfulClientDownloadResult.getDistributionActionResult())
+                .thenReturn(DistributionActionResultEnum.SUCCESS);
+
     }
 
     @After
             assertTrue(exp.getMessage().startsWith("SDC client stop failed with reason"));
         }
     }
+
+    @Test
+    public void testNotificationCallBack() throws NoSuchFieldException, SecurityException, IllegalArgumentException,
+            IllegalAccessException, PluginInitializationException {
+
+        final DummyDecoder policyDecoder = new DummyDecoder();
+        final Collection<PolicyDecoder<Csar, DummyPolicy>> policyDecoders = new ArrayList<>();
+        policyDecoders.add(policyDecoder);
+
+        final DummyPolicyForwarder policyForwarder = new DummyPolicyForwarder();
+        final Collection<PolicyForwarder> policyForwarders = new ArrayList<>();
+        policyForwarders.add(policyForwarder);
+
+        setUpPlugins(sypHandler, policyDecoders, policyForwarders);
+        sypHandler.initializeReception(pssdConfigParameters.getName());
+        sypHandler.activateCallback(notificationData);
+
+        assertEquals(DummyDecoder.DUMMY_POLICY, policyDecoder.getDecodedPolicy().getPolicyType());
+        assertTrue(policyDecoder.getDecodedPolicy().getPolicyName().contains(DUMMY_SERVICE_CSAR));
+        assertEquals(1, policyForwarder.getNumberOfPoliciesReceived());
+        assertTrue(policyForwarder.receivedPolicyWithGivenType(DummyDecoder.DUMMY_POLICY));
+    }
+
+    @Test
+    public void testDownloadArtifactFailure() throws NoSuchFieldException, SecurityException, IllegalArgumentException,
+            IllegalAccessException, PluginInitializationException {
+
+        Mockito.when(successfulClientDownloadResult.getDistributionActionResult())
+                .thenReturn(DistributionActionResultEnum.FAIL);
+
+        final DummyDecoder policyDecoder = new DummyDecoder();
+        final Collection<PolicyDecoder<Csar, DummyPolicy>> policyDecoders = new ArrayList<>();
+        policyDecoders.add(policyDecoder);
+
+        final DummyPolicyForwarder policyForwarder = new DummyPolicyForwarder();
+        final Collection<PolicyForwarder> policyForwarders = new ArrayList<>();
+        policyForwarders.add(policyForwarder);
+
+        setUpPlugins(sypHandler, policyDecoders, policyForwarders);
+        sypHandler.initializeReception(pssdConfigParameters.getName());
+        sypHandler.activateCallback(notificationData);
+
+        assertEquals(null, policyDecoder.getDecodedPolicy());
+        assertEquals(0, policyForwarder.getNumberOfPoliciesReceived());
+    }
+
+    private void setUpPlugins(final AbstractReceptionHandler receptionHandler,
+            final Collection<PolicyDecoder<Csar, DummyPolicy>> decoders, final Collection<PolicyForwarder> forwarders)
+            throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException,
+            PluginInitializationException {
+        final PluginHandlerParameters pluginParameters = getPluginHandlerParameters();
+        pluginParameters.setName("DummyDistributionGroup");
+        ParameterService.register(pluginParameters);
+        final PluginHandler pluginHandler = new PluginHandler(pluginParameters.getName());
+
+        final Field decodersField = pluginHandler.getClass().getDeclaredField("policyDecoders");
+        decodersField.setAccessible(true);
+        decodersField.set(pluginHandler, decoders);
+
+        final Field forwardersField = pluginHandler.getClass().getDeclaredField("policyForwarders");
+        forwardersField.setAccessible(true);
+        forwardersField.set(pluginHandler, forwarders);
+
+        final Field pluginHandlerField = AbstractReceptionHandler.class.getDeclaredField("pluginHandler");
+        pluginHandlerField.setAccessible(true);
+        pluginHandlerField.set(receptionHandler, pluginHandler);
+        ParameterService.deregister(pluginParameters.getName());
+    }
+
+    private PluginHandlerParameters getPluginHandlerParameters() {
+        final Map<String, PolicyDecoderParameters> policyDecoders = getPolicyDecoders();
+        final Map<String, PolicyForwarderParameters> policyForwarders = getPolicyForwarders();
+        final PluginHandlerParameters pluginHandlerParameters =
+                new PluginHandlerParameters(policyDecoders, policyForwarders);
+        return pluginHandlerParameters;
+    }
+
+    private Map<String, PolicyDecoderParameters> getPolicyDecoders() {
+        final Map<String, PolicyDecoderParameters> policyDecoders = new HashMap<String, PolicyDecoderParameters>();
+        final PolicyDecoderParameters pDParameters = new PolicyDecoderParameters("DummyDecoder",
+                "org.onap.policy.distribution.reception.handling.sdc.DummyDecoder");
+        policyDecoders.put("DummyDecoderKey", pDParameters);
+        return policyDecoders;
+    }
+
+    private Map<String, PolicyForwarderParameters> getPolicyForwarders() {
+        final Map<String, PolicyForwarderParameters> policyForwarders =
+                new HashMap<String, PolicyForwarderParameters>();
+        final PolicyForwarderParameters pFParameters = new PolicyForwarderParameters("DummyForwarder",
+                "org.onap.policy.distribution.reception.handling.sdc.DummyPolicyForwarder", "DummyConfiguration");
+        policyForwarders.put("DummyForwarderKey", pFParameters);
+        return policyForwarders;
+    }
 }
 
 
 import org.junit.Test;
 
-public class PssdDownloadExceptionTest {
+public class ArtifactDownloadExceptionTest {
 
     @Test
     public void test() {
-        assertNotNull(new PssdDownloadException("Message"));
-        assertNotNull(new PssdDownloadException("Message", new IOException()));
+        assertNotNull(new ArtifactDownloadException("Message"));
+        assertNotNull(new ArtifactDownloadException("Message", new IOException()));
     }
 }