1 package org.openecomp.mso.global_tests.asdc.notif_emulator;
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.LinkedList;
8 import org.apache.commons.io.IOUtils;
9 import org.codehaus.jackson.JsonParseException;
10 import org.codehaus.jackson.map.JsonMappingException;
11 import org.codehaus.jackson.map.ObjectMapper;
12 import org.codehaus.jackson.type.TypeReference;
13 import org.openecomp.sdc.api.IDistributionClient;
14 import org.openecomp.sdc.api.consumer.IConfiguration;
15 import org.openecomp.sdc.api.consumer.IDistributionStatusMessage;
16 import org.openecomp.sdc.api.consumer.INotificationCallback;
17 import org.openecomp.sdc.api.notification.IArtifactInfo;
18 import org.openecomp.sdc.api.notification.IVfModuleMetadata;
19 import org.openecomp.mso.asdc.installer.IVfModuleData;
20 import org.openecomp.mso.asdc.installer.VfModuleMetaData;
21 import org.openecomp.mso.asdc.client.ASDCConfiguration;
22 import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;
23 import org.openecomp.sdc.api.results.IDistributionClientResult;
24 import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl;
25 import org.openecomp.sdc.impl.DistributionClientResultImpl;
26 import org.openecomp.sdc.utils.DistributionActionResultEnum;
28 public class DistributionClientEmulator implements IDistributionClient {
30 private String resourcePath;
32 private List<IVfModuleData> listVFModuleMetaData;
34 private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
36 public DistributionClientEmulator(String notifFolderInResource) {
38 resourcePath = notifFolderInResource;
41 public List<IDistributionStatusMessage> getDistributionMessageReceived() {
42 return distributionMessageReceived;
45 public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
51 public List<IVfModuleData> getListVFModuleMetaData() {
52 return listVFModuleMetaData;
56 public IDistributionClientDownloadResult download (IArtifactInfo arg0) {
58 //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
59 String filename = arg0.getArtifactURL();
60 System.out.println("Emulating the download from resources files:"+filename);
61 InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath+"/artifacts/"+filename);
63 if (inputStream == null) {
64 System.out.println("InputStream is NULL for:"+filename);
67 byte[] bytes = IOUtils.toByteArray(inputStream);
68 if (arg0.getArtifactType().equals(ASDCConfiguration.VF_MODULES_METADATA)) {
69 listVFModuleMetaData = new ObjectMapper().readValue(bytes, new TypeReference<List<VfModuleMetaData>>() {
72 return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),bytes);
73 } catch (IOException e) {
79 public IConfiguration getConfiguration() {
84 public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
85 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
89 public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
90 this.distributionMessageReceived.add(arg0);
91 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
95 public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
96 this.distributionMessageReceived.add(arg0);
97 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
101 public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
102 this.distributionMessageReceived.add(arg0);
103 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
107 public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
108 this.distributionMessageReceived.add(arg0);
109 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
113 public IDistributionClientResult start() {
114 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
118 public IDistributionClientResult stop() {
119 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
124 public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
125 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());