Fix for radio buttons
[sdc.git] / asdc-tests / src / main / java / org / openecomp / sdc / externalApis / GetAssetServlet.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 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.openecomp.sdc.externalApis;
22
23 import static org.testng.AssertJUnit.assertEquals;
24
25 import java.io.InputStream;
26 import java.util.ArrayList;
27 import java.util.List;
28
29 import org.apache.commons.codec.binary.Base64;
30 import org.apache.commons.io.IOUtils;
31 import org.apache.http.HttpResponse;
32 import org.apache.http.client.methods.HttpGet;
33 import org.apache.http.impl.client.CloseableHttpClient;
34 import org.apache.http.impl.client.HttpClients;
35 import org.codehaus.jackson.map.ObjectMapper;
36 import org.junit.Rule;
37 import org.junit.rules.TestName;
38 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
39 import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
40 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
41 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
42 import org.openecomp.sdc.be.model.ArtifactUiDownloadData;
43 import org.openecomp.sdc.be.model.Resource;
44 import org.openecomp.sdc.be.model.Service;
45 import org.openecomp.sdc.be.model.User;
46 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
47 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
48 import org.openecomp.sdc.ci.tests.api.Urls;
49 import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails;
50 import org.openecomp.sdc.ci.tests.datatypes.ResourceAssetStructure;
51 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
52 import org.openecomp.sdc.ci.tests.datatypes.ServiceAssetStructure;
53 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
54 import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum;
55 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
56 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
57 import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedExternalAudit;
58 import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum;
59 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
60 import org.openecomp.sdc.ci.tests.utils.Utils;
61 import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
62 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
63 import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils;
64 import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils;
65 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
66 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
67 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
68 import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
69 import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils;
70 import org.openecomp.sdc.common.api.Constants;
71 import org.testng.annotations.BeforeMethod;
72 import org.testng.annotations.Test;
73
74 import com.google.gson.Gson;
75
76 public class GetAssetServlet extends ComponentBaseTest {
77
78         protected User sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
79         protected User sdncAdminUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
80         protected ConsumerDataDefinition consumerDataDefinition;
81
82         @Rule
83         public static TestName name = new TestName();
84
85         public GetAssetServlet() {
86                 super(name, GetAssetServlet.class.getName());
87         }
88
89         Gson gson = new Gson();
90
91         @BeforeMethod
92         public void setup() throws Exception {
93
94                 AtomicOperationUtils.createDefaultConsumer(true);
95                 // consumerDataDefinition =
96                 // ConsumerRestUtils.getDefaultConsumerDetails();
97                 // RestResponse deleteResponse =
98                 // ConsumerRestUtils.deleteConsumer(consumerDataDefinition,
99                 // sdncAdminUserDetails);
100                 // BaseRestUtils.checkStatusCode(deleteResponse, "delete operation
101                 // filed", false, 404,200);;
102                 //
103                 // RestResponse createResponse =
104                 // ConsumerRestUtils.createConsumer(consumerDataDefinition,
105                 // sdncAdminUserDetails);
106                 // BaseRestUtils.checkCreateResponse(createResponse);
107
108         }
109
110         // @AfterMethod
111         // public void tearDown() throws Exception{
112         // RestResponse deleteResponse =
113         // ConsumerRestUtils.deleteConsumer(consumerDataDefinition,
114         // sdncAdminUserDetails);
115         // BaseRestUtils.checkStatusCode(deleteResponse, "delete operation filed",
116         // false, 404,200);
117         //
118         // }
119
120         @Test // (enabled = false)
121         public void getResourceAssetSuccess() throws Exception {
122
123                 List<String> expectedAssetNamesList = new ArrayList<>();
124
125                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
126                 resourceDetails.setName("ciResource1");
127                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
128                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
129                 BaseRestUtils.checkCreateResponse(createResource);
130                 Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
131                 expectedAssetNamesList.add(resource.getName());
132
133                 resourceDetails.setName("ciResource2");
134                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
135                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
136                 BaseRestUtils.checkCreateResponse(createResource);
137                 resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
138                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
139                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
140                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
141                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
142                 expectedAssetNamesList.add(resource.getName());
143                 expectedAssetNamesList.add(resource.getName());
144
145                 resourceDetails.setName("ciResource3");
146                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
147                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
148                 BaseRestUtils.checkCreateResponse(createResource);
149                 resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
150                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
151                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
152                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
153                 expectedAssetNamesList.add(resource.getName());
154
155                 resourceDetails.setName("ciResource4");
156                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
157                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
158                 BaseRestUtils.checkCreateResponse(createResource);
159                 resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
160                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
161                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
162                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
163                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
164                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
165                 expectedAssetNamesList.add(resource.getName());
166
167                 resourceDetails.setName("ciResource5");
168                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
169                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
170                 BaseRestUtils.checkCreateResponse(createResource);
171                 resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
172                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
173                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
174                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
175                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
176                 expectedAssetNamesList.add(resource.getName());
177
178                 resourceDetails.setName("ciResource6");
179                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
180                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
181                 BaseRestUtils.checkCreateResponse(createResource);
182                 resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
183                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.STARTCERTIFICATION, true).getLeft();
184                 expectedAssetNamesList.add(resource.getName());
185
186                 resourceDetails.setName("ciResource7");
187                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
188                 createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
189                 BaseRestUtils.checkCreateResponse(createResource);
190                 resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
191                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
192                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFICATIONREQUEST, true).getLeft();
193                 expectedAssetNamesList.add(resource.getName());
194                 expectedAssetNamesList.add(resource.getName());
195
196                 System.out.println("7 VF resources were created");
197
198                 RestResponse assetResponse = AssetRestUtils.getComponentListByAssetType(true, AssetTypeEnum.RESOURCES);
199                 BaseRestUtils.checkSuccess(assetResponse);
200
201                 List<ResourceAssetStructure> resourceAssetList = AssetRestUtils.getResourceAssetList(assetResponse);
202                 List<String> getActualAssetNamesList = AssetRestUtils.getResourceNamesList(resourceAssetList);
203                 Utils.compareArrayLists(getActualAssetNamesList, expectedAssetNamesList, "Element");
204
205                 AssetRestUtils.checkComponentTypeInObjectList(resourceAssetList, ComponentTypeEnum.RESOURCE);
206
207                 // Validate audit message
208                 ExpectedExternalAudit expectedAssetListAudit = ElementFactory.getDefaultAssetListAudit(AssetTypeEnum.RESOURCES, AuditingActionEnum.GET_ASSET_LIST);
209                 AuditValidationUtils.validateExternalAudit(expectedAssetListAudit, AuditingActionEnum.GET_ASSET_LIST.getName(), null);
210
211         }
212
213         @Test // (enabled = false)
214         public void getServiceAssetSuccess() throws Exception {
215
216                 List<String> expectedAssetNamesList = new ArrayList<>();
217                 ArtifactReqDetails artifactDetails = ElementFactory.getArtifactByType(ArtifactTypeEnum.OTHER, ArtifactTypeEnum.OTHER, true);
218
219                 ServiceReqDetails serviceDetails = ElementFactory.getDefaultService();
220                 serviceDetails.setName("ciService1");
221                 RestResponse createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
222                 BaseRestUtils.checkCreateResponse(createService);
223                 Service service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
224                 expectedAssetNamesList.add(service.getName());
225
226                 serviceDetails.setName("ciService2");
227                 createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
228                 BaseRestUtils.checkCreateResponse(createService);
229                 service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
230                 RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(artifactDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), service.getUniqueId());
231                 BaseRestUtils.checkSuccess(addInformationalArtifactToService);
232                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
233                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
234                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
235                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
236                 expectedAssetNamesList.add(service.getName());
237                 expectedAssetNamesList.add(service.getName());
238
239                 serviceDetails.setName("ciService3");
240                 createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
241                 BaseRestUtils.checkCreateResponse(createService);
242                 service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
243                 addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(artifactDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), service.getUniqueId());
244                 BaseRestUtils.checkSuccess(addInformationalArtifactToService);
245                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
246                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
247                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
248                 expectedAssetNamesList.add(service.getName());
249
250                 serviceDetails.setName("ciService4");
251                 createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
252                 BaseRestUtils.checkCreateResponse(createService);
253                 service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
254                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
255                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
256                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
257                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
258                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
259                 expectedAssetNamesList.add(service.getName());
260
261                 serviceDetails.setName("ciService5");
262                 createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
263                 BaseRestUtils.checkCreateResponse(createService);
264                 service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
265                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
266                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
267                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft();
268                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft();
269                 expectedAssetNamesList.add(service.getName());
270
271                 serviceDetails.setName("ciService6");
272                 createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
273                 BaseRestUtils.checkCreateResponse(createService);
274                 service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
275                 addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(artifactDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), service.getUniqueId());
276                 BaseRestUtils.checkSuccess(addInformationalArtifactToService);
277                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.STARTCERTIFICATION, true).getLeft();
278                 expectedAssetNamesList.add(service.getName());
279
280                 serviceDetails.setName("ciService7");
281                 createService = ServiceRestUtils.createService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER));
282                 BaseRestUtils.checkCreateResponse(createService);
283                 service = ResponseParser.parseToObjectUsingMapper(createService.getResponse(), Service.class);
284                 addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(artifactDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), service.getUniqueId());
285                 BaseRestUtils.checkSuccess(addInformationalArtifactToService);
286                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
287                 service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFICATIONREQUEST, true).getLeft();
288                 expectedAssetNamesList.add(service.getName());
289                 expectedAssetNamesList.add(service.getName());
290
291                 System.out.println("7 Services were created");
292
293                 RestResponse assetResponse = AssetRestUtils.getComponentListByAssetType(true, AssetTypeEnum.SERVICES);
294                 BaseRestUtils.checkSuccess(assetResponse);
295
296                 List<ServiceAssetStructure> serviceAssetList = AssetRestUtils.getServiceAssetList(assetResponse);
297                 List<String> getActualAssetNamesList = AssetRestUtils.getServiceNamesList(serviceAssetList);
298                 Utils.compareArrayLists(getActualAssetNamesList, expectedAssetNamesList, "Element");
299
300                 // Validate audit message
301                 ExpectedExternalAudit expectedAssetListAudit = ElementFactory.getDefaultAssetListAudit(AssetTypeEnum.SERVICES, AuditingActionEnum.GET_ASSET_LIST);
302                 AuditValidationUtils.validateExternalAudit(expectedAssetListAudit, AuditingActionEnum.GET_ASSET_LIST.getName(), null);
303
304         }
305
306         @Test
307         public void getToscaModelSuccess() throws Exception {
308
309                 CloseableHttpClient httpclient = HttpClients.createDefault();
310                 ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource();
311                 resourceDetails.setName("ciResource1");
312                 resourceDetails.setResourceType(ResourceTypeEnum.VF.name());
313                 RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncUserDetails);
314                 BaseRestUtils.checkCreateResponse(createResource);
315                 Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class);
316                 HttpResponse assetResponse = AssetRestUtils.getComponentToscaModel(AssetTypeEnum.RESOURCES, resource.getUUID());
317                 resource = (Resource) AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft();
318                 String artId = resource.getToscaArtifacts().get("assettoscacsar").getEsId();
319                 String url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, config.getCatalogBeHost(), config.getCatalogBePort(), resource.getUniqueId(), artId);
320                 HttpGet httpGet = createGetRequest(url);
321                 HttpResponse response = httpclient.execute(httpGet);
322                 InputStream inputStream = response.getEntity().getContent();
323                 ArtifactUiDownloadData artifactUiDownloadData = getArtifactUiDownloadData(IOUtils.toString(inputStream));
324                 assetResponse = AssetRestUtils.getComponentToscaModel(AssetTypeEnum.RESOURCES, resource.getUUID());
325                 inputStream = assetResponse.getEntity().getContent();
326                 int len = (int) assetResponse.getEntity().getContentLength();
327                 byte[] res = new byte[len];
328                 inputStream.read(res, 0, len);
329                 byte[] fromUiDownload = artifactUiDownloadData.getBase64Contents().getBytes();
330                 assertEquals(Base64.encodeBase64(res), fromUiDownload);
331                 String fileName = assetResponse.getFirstHeader(Constants.CONTENT_DISPOSITION_HEADER).getValue();
332                 assertEquals(fileName, new StringBuilder().append("attachment; filename=\"").append(artifactUiDownloadData.getArtifactName()).append("\"").toString());
333         }
334
335         private HttpGet createGetRequest(String url) {
336                 HttpGet httpGet = new HttpGet(url);
337                 httpGet.addHeader(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId());
338                 return httpGet;
339         }
340
341         private ArtifactUiDownloadData getArtifactUiDownloadData(String artifactUiDownloadDataStr) throws Exception {
342
343                 ObjectMapper mapper = new ObjectMapper();
344                 try {
345                         ArtifactUiDownloadData artifactUiDownloadData = mapper.readValue(artifactUiDownloadDataStr, ArtifactUiDownloadData.class);
346                         return artifactUiDownloadData;
347                 } catch (Exception e) {
348                         e.printStackTrace();
349                 }
350                 return null;
351         }
352 }