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 static org.testng.AssertJUnit.assertEquals;
27 import org.codehaus.jackson.map.DeserializationConfig;
28 import org.codehaus.jackson.map.ObjectMapper;
29 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
30 import org.openecomp.sdc.be.model.User;
31 import org.openecomp.sdc.ci.tests.api.Urls;
32 import org.openecomp.sdc.ci.tests.config.Config;
33 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
34 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
35 import org.openecomp.sdc.ci.tests.utils.Utils;
37 import com.google.gson.Gson;
39 public class ConsumerRestUtils extends BaseRestUtils {
41 public static final int STATUS_CODE_SUCCESS = 200;
42 public static final int STATUS_CODE_CREATED = 201;
43 public static final int STATUS_CODE_DELETE = 204;
44 public static final int STATUS_CODE_NOT_FOUND = 404;
45 Utils utils = new Utils();
46 private static Long expectedsLastupdatedtime;
47 private static Long expectedLastAuthenticationTime;
49 public static RestResponse createConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
52 Config config = Utils.getConfig();
53 String url = String.format(Urls.CREATE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort());
55 String userId = sdncModifierDetails.getUserId();
57 Map<String, String> headersMap = prepareHeadersMap(userId);
59 Gson gson = new Gson();
60 String userBodyJson = gson.toJson(consumerDataDefinition);
62 HttpRequest http = new HttpRequest();
63 // System.out.println(url);
64 // System.out.println(userBodyJson);
65 RestResponse createConsumerResponse = http.httpSendPost(url, userBodyJson, headersMap);
66 if (createConsumerResponse.getErrorCode() == STATUS_CODE_CREATED) {
67 ConsumerDataDefinition getConsumerDataObject = parseComsumerResp(createConsumerResponse);
68 consumerDataDefinition
69 .setConsumerDetailsLastupdatedtime(getConsumerDataObject.getConsumerDetailsLastupdatedtime());
70 consumerDataDefinition
71 .setConsumerLastAuthenticationTime(getConsumerDataObject.getConsumerLastAuthenticationTime());
72 consumerDataDefinition.setLastModfierAtuid(getConsumerDataObject.getLastModfierAtuid());
74 return createConsumerResponse;
77 public static RestResponse createConsumerHttpCspAtuUidIsMissing(ConsumerDataDefinition consumerDataDefinition,
78 User sdncModifierDetails) throws Exception {
80 Config config = Utils.getConfig();
81 String url = String.format(Urls.CREATE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort());
83 String userId = sdncModifierDetails.getUserId();
84 Map<String, String> headersMap = prepareHeadersMap(userId);
85 headersMap.remove("USER_ID");
86 Gson gson = new Gson();
87 String userBodyJson = gson.toJson(consumerDataDefinition);
88 HttpRequest http = new HttpRequest();
89 // System.out.println(url);
90 // System.out.println(userBodyJson);
91 RestResponse createConsumerResponse = http.httpSendPost(url, userBodyJson, headersMap);
92 if (createConsumerResponse.getErrorCode() == STATUS_CODE_CREATED) {
93 ConsumerDataDefinition getConsumerDataObject = parseComsumerResp(createConsumerResponse);
94 consumerDataDefinition
95 .setConsumerDetailsLastupdatedtime(getConsumerDataObject.getConsumerDetailsLastupdatedtime());
96 consumerDataDefinition
97 .setConsumerLastAuthenticationTime(getConsumerDataObject.getConsumerLastAuthenticationTime());
98 consumerDataDefinition.setLastModfierAtuid(getConsumerDataObject.getLastModfierAtuid());
100 return createConsumerResponse;
103 public static RestResponse deleteConsumerHttpCspAtuUidIsMissing(ConsumerDataDefinition consumerDataDefinition,
104 User sdncModifierDetails) throws Exception {
106 Config config = Utils.getConfig();
107 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
108 consumerDataDefinition.getConsumerName());
110 String userId = sdncModifierDetails.getUserId();
111 Map<String, String> headersMap = prepareHeadersMap(userId);
112 headersMap.remove("USER_ID");
113 Gson gson = new Gson();
114 String userBodyJson = gson.toJson(consumerDataDefinition);
115 HttpRequest http = new HttpRequest();
116 // System.out.println(url);
117 // System.out.println(userBodyJson);
118 RestResponse deleteConsumerResponse = http.httpSendDelete(url, headersMap);
119 return deleteConsumerResponse;
122 public static ConsumerDataDefinition parseComsumerResp(RestResponse restResponse) throws Exception {
124 String bodyToParse = restResponse.getResponse();
125 ObjectMapper mapper = new ObjectMapper();
127 mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
128 ConsumerDataDefinition component = mapper.readValue(bodyToParse, ConsumerDataDefinition.class);
130 } catch (Exception e) {
137 public static RestResponse deleteConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
140 Config config = Utils.getConfig();
141 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
142 consumerDataDefinition.getConsumerName());
144 String userId = sdncModifierDetails.getUserId();
146 Map<String, String> headersMap = prepareHeadersMap(userId);
147 HttpRequest http = new HttpRequest();
148 // System.out.println(url);
149 RestResponse deleteConsumerResponse = http.httpSendDelete(url, headersMap);
150 return deleteConsumerResponse;
153 public static RestResponse getConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
156 Config config = Utils.getConfig();
157 String url = String.format(Urls.GET_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
158 consumerDataDefinition.getConsumerName());
160 String userId = sdncModifierDetails.getUserId();
162 Map<String, String> headersMap = prepareHeadersMap(userId);
163 HttpRequest http = new HttpRequest();
164 // System.out.println(url);
165 RestResponse getConsumerResponse = http.httpSendGet(url, headersMap);
166 return getConsumerResponse;
169 public static void validateConsumerReqVsResp(ConsumerDataDefinition consumerDefinition,
170 ConsumerDataDefinition getConsumerDataObject) {
174 expected = consumerDefinition.getConsumerName();
175 assertEquals("consumer name - ", expected, getConsumerDataObject.getConsumerName());
177 expected = consumerDefinition.getConsumerPassword().toLowerCase();
178 assertEquals("consumer password - ", expected, getConsumerDataObject.getConsumerPassword());
180 expected = consumerDefinition.getLastModfierAtuid();
181 assertEquals("consumer Last Modfier Atuid - ", expected, getConsumerDataObject.getLastModfierAtuid());
183 expected = consumerDefinition.getConsumerSalt();
184 assertEquals("consumer Salt - ", expected, getConsumerDataObject.getConsumerSalt());
186 expectedsLastupdatedtime = consumerDefinition.getConsumerDetailsLastupdatedtime();
187 assertEquals("consumer Last updated time - ", expectedsLastupdatedtime,
188 getConsumerDataObject.getConsumerDetailsLastupdatedtime());
190 expectedLastAuthenticationTime = consumerDefinition.getConsumerLastAuthenticationTime();
191 assertEquals("consumer Last authentication time - ", expectedLastAuthenticationTime,
192 getConsumerDataObject.getConsumerLastAuthenticationTime());
196 public enum EcompConsumerAuditJsonKeysEnum {
197 ACTION("ACTION"), MODIFIER("MODIFIER"), ECOMP_USER("ECOMP_USER"), STATUS("STATUS"), DESC("DESCRIPTION");
198 private String auditJsonKeyName;
200 private EcompConsumerAuditJsonKeysEnum(String auditJsonKeyName) {
201 this.auditJsonKeyName = auditJsonKeyName;
204 public String getAuditJsonKeyName() {
205 return auditJsonKeyName.toLowerCase();
210 * protected void resourceArtifatAuditSuccess(String action,
211 * ArtifactReqDetails artifact, ResourceReqDetails resourceDetails , User
212 * user) throws Exception { ExpectedResourceAuditJavaObject
213 * expectedResourceAuditJavaObject =
214 * Convertor.constructFieldsForAuditValidation(resourceDetails,
215 * resourceDetails.getVersion(), user); String auditAction = action;
216 * expectedResourceAuditJavaObject.setAction(auditAction);
217 * expectedResourceAuditJavaObject.setPrevState("");
218 * expectedResourceAuditJavaObject.setPrevVersion("");
219 * expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.
220 * NOT_CERTIFIED_CHECKOUT).toString());
221 * expectedResourceAuditJavaObject.setStatus("200");
222 * expectedResourceAuditJavaObject.setDesc("OK");
223 * expectedResourceAuditJavaObject.setArtifactName(artifact.getArtifactName(
224 * )); AuditUtils.validateAudit(expectedResourceAuditJavaObject,
225 * auditAction, null); }
229 * protected void resourceArtifatValidateAuditWithErrorMessage(String
230 * actionStatus, ResourceReqDetails resourceDetails, String auditAction,
231 * String setCurrState, Object ... variables)throws Exception { ErrorInfo
232 * errorInfo = utils.parseYaml(actionStatus);
233 * ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
234 * Convertor.constructFieldsForAuditValidation(resourceDetails,
235 * resourceDetails.getVersion(), sdncUserDetails);
236 * expectedResourceAuditJavaObject.setAction(auditAction);
237 * expectedResourceAuditJavaObject.setPrevState("");
238 * expectedResourceAuditJavaObject.setPrevVersion("");
239 * expectedResourceAuditJavaObject.setCurrState(setCurrState);
240 * expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString())
242 * expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables)
243 * ); expectedResourceAuditJavaObject.setArtifactName("");
244 * AuditUtils.validateAudit(expectedResourceAuditJavaObject, auditAction,