Replaced all tabs with spaces in java and pom.xml
[so.git] / asdc-controller / src / test / java / org / onap / so / asdc / client / test / emulators / DistributionClientEmulatorTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.onap.so.asdc.client.test.emulators;
22
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;
42
43 public class DistributionClientEmulatorTest {
44
45     private DistributionClientEmulator distClientEmulator;
46
47     @Before
48     public void before() {
49         distClientEmulator = new DistributionClientEmulator();
50     }
51
52     @Test
53     public void getDistributionMessageReceived() {
54         List<IDistributionStatusMessage> receivedMessages = distClientEmulator.getDistributionMessageReceived();
55         assertEquals(new LinkedList<>(), receivedMessages);
56
57         IDistributionStatusMessage message = new DistributionStatusMessage("testArtifactUrl", "testConsumerId",
58                 "testDistributionId", DistributionStatusEnum.DOWNLOAD_OK, 123456);
59         distClientEmulator.sendDeploymentStatus(message);
60         assertEquals(message, receivedMessages.get(0));
61
62         IDistributionStatusMessage message2 = new DistributionStatusMessage("testArtifactUrl2", "testConsumerId2",
63                 "testDistributionId2", DistributionStatusEnum.DOWNLOAD_OK, 1234567);
64         distClientEmulator.sendDeploymentStatus(message2);
65         assertEquals(message2, receivedMessages.get(1));
66     }
67
68     @Test
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());
78     }
79
80     @Test
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());
90     }
91
92     @Test
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());
102     }
103
104     @Test
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());
114     }
115
116     @Test
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());
124     }
125
126     @Test
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());
134     }
135
136     @Test
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());
143     }
144
145     @Test
146     public void stop() {
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());
152     }
153
154     @Test
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());
161     }
162
163     @Test
164     public void getResourcePath() {
165         String testResourcePath = "testResourcePath";
166         distClientEmulator = new DistributionClientEmulator(testResourcePath);
167         assertEquals(testResourcePath, distClientEmulator.getResourcePath());
168     }
169
170     @Test
171     public void setResourcePath() {
172         String testResourcePath = "testResourcePath";
173         distClientEmulator.setResourcePath(testResourcePath);
174         assertEquals(testResourcePath, distClientEmulator.getResourcePath());
175     }
176
177     @Test
178     public void downloadSuccess() throws IOException {
179         ArtifactInfoImpl info = new ArtifactInfoImpl();
180         info.setArtifactURL("mso.json");
181         info.setArtifactName("testArtifactName");
182
183         distClientEmulator.setResourcePath("src/test/resources/");
184
185         IDistributionClientDownloadResult result = distClientEmulator.download(info);
186
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);
192
193         assertEquals(expectedResult.getDistributionActionResult(), result.getDistributionActionResult());
194         assertEquals(expectedResult.getDistributionMessageResult(), result.getDistributionMessageResult());
195     }
196 }