2 * ============LICENSE_START=======================================================
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
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.openecomp.sdc.ci.tests.utils.rest;
23 import com.fasterxml.jackson.databind.DeserializationFeature;
24 import com.fasterxml.jackson.databind.ObjectMapper;
25 import com.google.gson.Gson;
26 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
27 import org.openecomp.sdc.be.model.User;
28 import org.openecomp.sdc.ci.tests.api.Urls;
29 import org.openecomp.sdc.ci.tests.config.Config;
30 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
31 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
32 import org.openecomp.sdc.ci.tests.utils.Utils;
36 import static org.testng.AssertJUnit.assertEquals;
38 public class ConsumerRestUtils extends BaseRestUtils {
40 public static final int STATUS_CODE_SUCCESS = 200;
41 public static final int STATUS_CODE_CREATED = 201;
42 public static final int STATUS_CODE_DELETE = 204;
43 public static final int STATUS_CODE_NOT_FOUND = 404;
44 Utils utils = new Utils();
45 private static Long expectedsLastupdatedtime;
46 private static Long expectedLastAuthenticationTime;
48 public static RestResponse createConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
51 Config config = Utils.getConfig();
52 String url = String.format(Urls.CREATE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort());
54 String userId = sdncModifierDetails.getUserId();
56 Map<String, String> headersMap = prepareHeadersMap(userId);
58 Gson gson = new Gson();
59 String userBodyJson = gson.toJson(consumerDataDefinition);
61 HttpRequest http = new HttpRequest();
62 // System.out.println(url);
63 // System.out.println(userBodyJson);
64 RestResponse createConsumerResponse = http.httpSendPost(url, userBodyJson, headersMap);
65 if (createConsumerResponse.getErrorCode() == STATUS_CODE_CREATED) {
66 ConsumerDataDefinition getConsumerDataObject = parseComsumerResp(createConsumerResponse);
67 consumerDataDefinition
68 .setConsumerDetailsLastupdatedtime(getConsumerDataObject.getConsumerDetailsLastupdatedtime());
69 consumerDataDefinition
70 .setConsumerLastAuthenticationTime(getConsumerDataObject.getConsumerLastAuthenticationTime());
71 consumerDataDefinition.setLastModfierAtuid(getConsumerDataObject.getLastModfierAtuid());
73 return createConsumerResponse;
76 public static RestResponse createConsumerHttpCspAtuUidIsMissing(ConsumerDataDefinition consumerDataDefinition,
77 User sdncModifierDetails) throws Exception {
79 Config config = Utils.getConfig();
80 String url = String.format(Urls.CREATE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort());
82 String userId = sdncModifierDetails.getUserId();
83 Map<String, String> headersMap = prepareHeadersMap(userId);
84 headersMap.remove("USER_ID");
85 Gson gson = new Gson();
86 String userBodyJson = gson.toJson(consumerDataDefinition);
87 HttpRequest http = new HttpRequest();
88 // System.out.println(url);
89 // System.out.println(userBodyJson);
90 RestResponse createConsumerResponse = http.httpSendPost(url, userBodyJson, headersMap);
91 if (createConsumerResponse.getErrorCode() == STATUS_CODE_CREATED) {
92 ConsumerDataDefinition getConsumerDataObject = parseComsumerResp(createConsumerResponse);
93 consumerDataDefinition
94 .setConsumerDetailsLastupdatedtime(getConsumerDataObject.getConsumerDetailsLastupdatedtime());
95 consumerDataDefinition
96 .setConsumerLastAuthenticationTime(getConsumerDataObject.getConsumerLastAuthenticationTime());
97 consumerDataDefinition.setLastModfierAtuid(getConsumerDataObject.getLastModfierAtuid());
99 return createConsumerResponse;
102 public static RestResponse deleteConsumerHttpCspAtuUidIsMissing(ConsumerDataDefinition consumerDataDefinition,
103 User sdncModifierDetails) throws Exception {
105 Config config = Utils.getConfig();
106 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
107 consumerDataDefinition.getConsumerName());
109 String userId = sdncModifierDetails.getUserId();
110 Map<String, String> headersMap = prepareHeadersMap(userId);
111 headersMap.remove("USER_ID");
112 Gson gson = new Gson();
113 String userBodyJson = gson.toJson(consumerDataDefinition);
114 HttpRequest http = new HttpRequest();
115 // System.out.println(url);
116 // System.out.println(userBodyJson);
117 RestResponse deleteConsumerResponse = http.httpSendDelete(url, headersMap);
118 return deleteConsumerResponse;
121 public static ConsumerDataDefinition parseComsumerResp(RestResponse restResponse) throws Exception {
123 String bodyToParse = restResponse.getResponse();
124 ObjectMapper mapper = new ObjectMapper();
125 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
127 ConsumerDataDefinition component = mapper.readValue(bodyToParse, ConsumerDataDefinition.class);
129 } catch (Exception e) {
136 public static RestResponse deleteConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
139 Config config = Utils.getConfig();
140 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
141 consumerDataDefinition.getConsumerName());
143 String userId = sdncModifierDetails.getUserId();
145 Map<String, String> headersMap = prepareHeadersMap(userId);
146 HttpRequest http = new HttpRequest();
147 // System.out.println(url);
148 RestResponse deleteConsumerResponse = http.httpSendDelete(url, headersMap);
149 return deleteConsumerResponse;
152 public static RestResponse getConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
155 Config config = Utils.getConfig();
156 String url = String.format(Urls.GET_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
157 consumerDataDefinition.getConsumerName());
159 String userId = sdncModifierDetails.getUserId();
161 Map<String, String> headersMap = prepareHeadersMap(userId);
162 HttpRequest http = new HttpRequest();
163 // System.out.println(url);
164 RestResponse getConsumerResponse = http.httpSendGet(url, headersMap);
165 return getConsumerResponse;
168 public static void validateConsumerReqVsResp(ConsumerDataDefinition consumerDefinition,
169 ConsumerDataDefinition getConsumerDataObject) {
173 expected = consumerDefinition.getConsumerName();
174 assertEquals("consumer name - ", expected, getConsumerDataObject.getConsumerName());
176 expected = consumerDefinition.getConsumerPassword().toLowerCase();
177 assertEquals("consumer password - ", expected, getConsumerDataObject.getConsumerPassword());
179 expected = consumerDefinition.getLastModfierAtuid();
180 assertEquals("consumer Last Modfier Atuid - ", expected, getConsumerDataObject.getLastModfierAtuid());
182 expected = consumerDefinition.getConsumerSalt();
183 assertEquals("consumer Salt - ", expected, getConsumerDataObject.getConsumerSalt());
185 expectedsLastupdatedtime = consumerDefinition.getConsumerDetailsLastupdatedtime();
186 assertEquals("consumer Last updated time - ", expectedsLastupdatedtime,
187 getConsumerDataObject.getConsumerDetailsLastupdatedtime());
189 expectedLastAuthenticationTime = consumerDefinition.getConsumerLastAuthenticationTime();
190 assertEquals("consumer Last authentication time - ", expectedLastAuthenticationTime,
191 getConsumerDataObject.getConsumerLastAuthenticationTime());
195 public enum EcompConsumerAuditJsonKeysEnum {
196 ACTION("ACTION"), MODIFIER("MODIFIER"), ECOMP_USER("ECOMP_USER"), STATUS("STATUS"), DESC("DESCRIPTION");
197 private String auditJsonKeyName;
199 private EcompConsumerAuditJsonKeysEnum(String auditJsonKeyName) {
200 this.auditJsonKeyName = auditJsonKeyName;
203 public String getAuditJsonKeyName() {
204 return auditJsonKeyName.toLowerCase();
209 * protected void resourceArtifatAuditSuccess(String action,
210 * ArtifactReqDetails artifact, ResourceReqDetails resourceDetails , User
211 * user) throws Exception { ExpectedResourceAuditJavaObject
212 * expectedResourceAuditJavaObject =
213 * Convertor.constructFieldsForAuditValidation(resourceDetails,
214 * resourceDetails.getVersion(), user); String auditAction = action;
215 * expectedResourceAuditJavaObject.setAction(auditAction);
216 * expectedResourceAuditJavaObject.setPrevState("");
217 * expectedResourceAuditJavaObject.setPrevVersion("");
218 * expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.
219 * NOT_CERTIFIED_CHECKOUT).toString());
220 * expectedResourceAuditJavaObject.setStatus("200");
221 * expectedResourceAuditJavaObject.setDesc("OK");
222 * expectedResourceAuditJavaObject.setArtifactName(artifact.getArtifactName(
223 * )); AuditUtils.validateAudit(expectedResourceAuditJavaObject,
224 * auditAction, null); }
228 * protected void resourceArtifatValidateAuditWithErrorMessage(String
229 * actionStatus, ResourceReqDetails resourceDetails, String auditAction,
230 * String setCurrState, Object ... variables)throws Exception { ErrorInfo
231 * errorInfo = utils.parseYaml(actionStatus);
232 * ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
233 * Convertor.constructFieldsForAuditValidation(resourceDetails,
234 * resourceDetails.getVersion(), sdncUserDetails);
235 * expectedResourceAuditJavaObject.setAction(auditAction);
236 * expectedResourceAuditJavaObject.setPrevState("");
237 * expectedResourceAuditJavaObject.setPrevVersion("");
238 * expectedResourceAuditJavaObject.setCurrState(setCurrState);
239 * expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString())
241 * expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables)
242 * ); expectedResourceAuditJavaObject.setArtifactName("");
243 * AuditUtils.validateAudit(expectedResourceAuditJavaObject, auditAction,