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.sdc.api.results.IDistributionClientDownloadResult;
20 import org.openecomp.sdc.api.results.IDistributionClientResult;
21 import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl;
22 import org.openecomp.sdc.impl.DistributionClientResultImpl;
23 import org.openecomp.sdc.utils.DistributionActionResultEnum;
25 public class DistributionClientEmulator implements IDistributionClient {
27 private String resourcePath;
29 private List<IVfModuleMetadata> listVFModuleMetaData;
31 private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
33 public DistributionClientEmulator(String notifFolderInResource) {
35 resourcePath = notifFolderInResource;
38 public List<IDistributionStatusMessage> getDistributionMessageReceived() {
39 return distributionMessageReceived;
43 public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
45 listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference<List<JsonVfModuleMetaData>>(){});
46 return listVFModuleMetaData;
48 } catch (JsonParseException e) {
50 } catch (JsonMappingException e) {
52 } catch (IOException e) {
58 public List<IVfModuleMetadata> getListVFModuleMetaData() {
59 return listVFModuleMetaData;
63 public IDistributionClientDownloadResult download (IArtifactInfo arg0) {
66 //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
67 String filename = arg0.getArtifactURL();
68 System.out.println("Emulating the download from resources files:"+filename);
69 InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath+"/artifacts/"+filename);
71 if (inputStream == null) {
72 System.out.println("InputStream is NULL for:"+filename);
75 return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),IOUtils.toByteArray(inputStream));
76 } catch (IOException e) {
84 public IConfiguration getConfiguration() {
89 public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
90 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
94 public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
95 this.distributionMessageReceived.add(arg0);
96 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
100 public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
101 this.distributionMessageReceived.add(arg0);
102 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
106 public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
107 this.distributionMessageReceived.add(arg0);
108 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
112 public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
113 this.distributionMessageReceived.add(arg0);
114 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
118 public IDistributionClientResult start() {
119 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
123 public IDistributionClientResult stop() {
124 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
129 public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
130 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());