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;
24 import java.io.IOException;
25 import java.nio.file.Files;
26 import java.nio.file.Paths;
27 import java.util.LinkedList;
28 import java.util.List;
29 import org.junit.Before;
30 import org.junit.Test;
31 import org.onap.sdc.api.consumer.IDistributionStatusMessage;
32 import org.onap.sdc.api.results.IDistributionClientDownloadResult;
33 import org.onap.sdc.api.results.IDistributionClientResult;
34 import org.onap.sdc.impl.DistributionClientDownloadResultImpl;
35 import org.onap.sdc.impl.DistributionClientResultImpl;
36 import org.onap.sdc.utils.DistributionActionResultEnum;
37 import org.onap.sdc.utils.DistributionStatusEnum;
38 import org.onap.so.asdc.client.ASDCConfiguration;
39 import org.onap.so.asdc.client.ASDCNotificationCallBack;
40 import org.onap.so.asdc.client.ASDCStatusCallBack;
41 import org.onap.so.asdc.client.DistributionStatusMessage;
43 public class DistributionClientEmulatorTest {
45 private DistributionClientEmulator distClientEmulator;
48 public void before() {
49 distClientEmulator = new DistributionClientEmulator();
53 public void getDistributionMessageReceived() {
54 List<IDistributionStatusMessage> receivedMessages = distClientEmulator.getDistributionMessageReceived();
55 assertEquals(new LinkedList<>(), receivedMessages);
57 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId",
58 "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
59 distClientEmulator.sendDeploymentStatus(message);
60 assertEquals(message, receivedMessages.get(0));
62 IDistributionStatusMessage message2 = new DistributionStatusMessage("testArtifactUrl2", "testConsumerId2",
63 "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",
71 "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
72 IDistributionClientResult result = distClientEmulator.sendDeploymentStatus(message);
73 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
74 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
75 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
76 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
77 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
81 public void sendDeploymentStatusSecondary() {
82 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId",
83 "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
84 IDistributionClientResult result = distClientEmulator.sendDeploymentStatus(message, "test");
85 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
86 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
87 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
88 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
89 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
93 public void sendDownloadStatusPrimary() {
94 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId",
95 "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
96 IDistributionClientResult result = distClientEmulator.sendDownloadStatus(message);
97 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
98 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
99 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
100 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
101 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
105 public void sendDownloadStatusSecondary() {
106 IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId",
107 "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
108 IDistributionClientResult result = distClientEmulator.sendDownloadStatus(message, "test");
109 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
110 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
111 assertEquals(message, distClientEmulator.getDistributionMessageReceived().get(0));
112 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
113 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
117 public void initPrimary() {
118 IDistributionClientResult result =
119 distClientEmulator.init(new ASDCConfiguration(), new ASDCNotificationCallBack());
120 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
121 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
122 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
123 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
127 public void initSecondary() {
128 IDistributionClientResult result = distClientEmulator.init(new ASDCConfiguration(),
129 new ASDCNotificationCallBack(), new ASDCStatusCallBack());
130 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
131 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
132 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
133 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
137 public void start() {
138 IDistributionClientResult result = distClientEmulator.start();
139 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
140 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
141 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
142 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
147 IDistributionClientResult result = distClientEmulator.stop();
148 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
149 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
150 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
151 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
155 public void updateConfiguration() {
156 IDistributionClientResult result = distClientEmulator.updateConfiguration(new ASDCConfiguration());
157 IDistributionClientResult expectedResult = new DistributionClientResultImpl(
158 DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
159 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
160 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
164 public void getResourcePath() {
165 String testResourcePath = "testResourcePath";
166 distClientEmulator = new DistributionClientEmulator(testResourcePath);
167 assertEquals(testResourcePath, distClientEmulator.getResourcePath());
171 public void setResourcePath() {
172 String testResourcePath = "testResourcePath";
173 distClientEmulator.setResourcePath(testResourcePath);
174 assertEquals(testResourcePath, distClientEmulator.getResourcePath());
178 public void downloadSuccess() throws IOException {
179 ArtifactInfoImpl info = new ArtifactInfoImpl();
180 info.setArtifactURL("mso.json");
181 info.setArtifactName("testArtifactName");
183 distClientEmulator.setResourcePath("src/test/resources/");
185 IDistributionClientDownloadResult result = distClientEmulator.download(info);
187 byte[] expectedInputStream =
188 Files.readAllBytes(Paths.get(distClientEmulator.getResourcePath() + info.getArtifactURL()));
189 IDistributionClientDownloadResult expectedResult =
190 new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS,
191 DistributionActionResultEnum.SUCCESS.name(), info.getArtifactName(), expectedInputStream);
193 assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
194 assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());