2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.asdc.client.test.emulators;
23 import static org.junit.Assert.assertEquals;
25 import java.io.IOException;
26 import java.nio.file.Files;
27 import java.nio.file.Paths;
28 import java.util.LinkedList;
29 import java.util.List;
31 import org.junit.Before;
32 import org.junit.Test;
33 import org.onap.sdc.api.consumer.IDistributionStatusMessage;
34 import org.onap.sdc.api.results.IDistributionClientDownloadResult;
35 import org.onap.sdc.api.results.IDistributionClientResult;
36 import org.onap.sdc.impl.DistributionClientDownloadResultImpl;
37 import org.onap.sdc.impl.DistributionClientResultImpl;
38 import org.onap.sdc.utils.DistributionActionResultEnum;
39 import org.onap.sdc.utils.DistributionStatusEnum;
40 import org.onap.so.asdc.client.ASDCConfiguration;
41 import org.onap.so.asdc.client.ASDCNotificationCallBack;
42 import org.onap.so.asdc.client.ASDCStatusCallBack;
43 import org.onap.so.asdc.client.DistributionStatusMessage;
45 public class DistributionClientEmulatorTest {
47 private DistributionClientEmulator distClientEmulator;
50 public void before() {
51 distClientEmulator = new DistributionClientEmulator();
55 public void getDistributionMessageReceived() {
56 List<IDistributionStatusMessage> receivedMessages = distClientEmulator.getDistributionMessageReceived();
57 assertEquals(new LinkedList<>(), receivedMessages);
59 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId", "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
60 distClientEmulator.sendDeploymentStatus(message);
61 assertEquals(message, receivedMessages.get(0));
63 IDistributionStatusMessage message2 = new DistributionStatusMessage("testArtifactUrl2", "testConsumerId2", "testDistributionId2", DistributionStatusEnum.DOWNLOAD_OK, 1234567);
64 distClientEmulator.sendDeploymentStatus(message2);
65 assertEquals(message2, receivedMessages.get(1));
69 public void sendDeploymentStatusPrimary() {
70 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId", "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
71 IDistributionClientResult result = distClientEmulator.sendDeploymentStatus(message);
72 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
73 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
74 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
75 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
79 public void sendDeploymentStatusSecondary() {
80 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId", "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
81 IDistributionClientResult result = distClientEmulator.sendDeploymentStatus(message, "test");
82 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
83 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
84 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
85 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
89 public void sendDownloadStatusPrimary() {
90 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId", "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
91 IDistributionClientResult result = distClientEmulator.sendDownloadStatus(message);
92 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
93 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
94 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
95 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
99 public void sendDownloadStatusSecondary() {
100 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId", "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
101 IDistributionClientResult result = distClientEmulator.sendDownloadStatus(message, "test");
102 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
103 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
104 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
105 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
109 public void initPrimary() {
110 IDistributionClientResult result = distClientEmulator.init(new ASDCConfiguration(), new ASDCNotificationCallBack());
111 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
112 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
113 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
117 public void initSecondary() {
118 IDistributionClientResult result = distClientEmulator.init(new ASDCConfiguration(), new ASDCNotificationCallBack(), new ASDCStatusCallBack());
119 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
120 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
121 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
125 public void start() {
126 IDistributionClientResult result = distClientEmulator.start();
127 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
128 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
129 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
134 IDistributionClientResult result = distClientEmulator.stop();
135 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
136 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
137 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
141 public void updateConfiguration() {
142 IDistributionClientResult result = distClientEmulator.updateConfiguration(new ASDCConfiguration());
143 IDistributionClientResult expectedResult = new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
144 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
145 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
149 public void getResourcePath() {
150 String testResourcePath = "testResourcePath";
151 distClientEmulator = new DistributionClientEmulator(testResourcePath);
152 assertEquals(testResourcePath, distClientEmulator.getResourcePath());
156 public void setResourcePath() {
157 String testResourcePath = "testResourcePath";
158 distClientEmulator.setResourcePath(testResourcePath);
159 assertEquals(testResourcePath, distClientEmulator.getResourcePath());
163 public void downloadSuccess() throws IOException {
164 ArtifactInfoImpl info = new ArtifactInfoImpl();
165 info.setArtifactURL("mso.json");
166 info.setArtifactName("testArtifactName");
168 distClientEmulator.setResourcePath("src/test/resources/");
170 IDistributionClientDownloadResult result = distClientEmulator.download(info);
172 byte[] expectedInputStream = Files.readAllBytes(Paths.get(distClientEmulator.getResourcePath() + info.getArtifactURL()));
173 IDistributionClientDownloadResult expectedResult = new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(), info.getArtifactName(), expectedInputStream);
175 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
176 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());