Sync Integ to Master
[sdc.git] / test-apis-ci / src / main / java / org / openecomp / sdc / ci / tests / utils / rest / ConsumerRestUtils.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.ci.tests.utils.rest;
22
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;
33
34 import java.util.Map;
35
36 import static org.testng.AssertJUnit.assertEquals;
37
38 public class ConsumerRestUtils extends BaseRestUtils {
39
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;
47
48         public static RestResponse createConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
49                         throws Exception {
50
51                 Config config = Utils.getConfig();
52                 String url = String.format(Urls.CREATE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort());
53
54                 String userId = sdncModifierDetails.getUserId();
55
56                 Map<String, String> headersMap = prepareHeadersMap(userId);
57
58                 Gson gson = new Gson();
59                 String userBodyJson = gson.toJson(consumerDataDefinition);
60
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());
72                 }
73                 return createConsumerResponse;
74         }
75
76         public static RestResponse createConsumerHttpCspAtuUidIsMissing(ConsumerDataDefinition consumerDataDefinition,
77                         User sdncModifierDetails) throws Exception {
78
79                 Config config = Utils.getConfig();
80                 String url = String.format(Urls.CREATE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort());
81
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());
98                 }
99                 return createConsumerResponse;
100         }
101
102         public static RestResponse deleteConsumerHttpCspAtuUidIsMissing(ConsumerDataDefinition consumerDataDefinition,
103                         User sdncModifierDetails) throws Exception {
104
105                 Config config = Utils.getConfig();
106                 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
107                                 consumerDataDefinition.getConsumerName());
108
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;
119         }
120
121         public static ConsumerDataDefinition parseComsumerResp(RestResponse restResponse) throws Exception {
122
123                 String bodyToParse = restResponse.getResponse();
124                 ObjectMapper mapper = new ObjectMapper();
125                 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
126                 try {
127                         ConsumerDataDefinition component = mapper.readValue(bodyToParse, ConsumerDataDefinition.class);
128                         return component;
129                 } catch (Exception e) {
130                         e.printStackTrace();
131                 }
132
133                 return null;
134         }
135
136         public static RestResponse deleteConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
137                         throws Exception {
138
139                 Config config = Utils.getConfig();
140                 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
141                                 consumerDataDefinition.getConsumerName());
142
143                 String userId = sdncModifierDetails.getUserId();
144
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;
150         }
151
152         public static RestResponse getConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
153                         throws Exception {
154
155                 Config config = Utils.getConfig();
156                 String url = String.format(Urls.GET_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
157                                 consumerDataDefinition.getConsumerName());
158
159                 String userId = sdncModifierDetails.getUserId();
160
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;
166         }
167
168         public static void validateConsumerReqVsResp(ConsumerDataDefinition consumerDefinition,
169                         ConsumerDataDefinition getConsumerDataObject) {
170
171                 String expected;
172
173                 expected = consumerDefinition.getConsumerName();
174                 assertEquals("consumer name - ", expected, getConsumerDataObject.getConsumerName());
175
176                 expected = consumerDefinition.getConsumerPassword().toLowerCase();
177                 assertEquals("consumer password  - ", expected, getConsumerDataObject.getConsumerPassword());
178
179                 expected = consumerDefinition.getLastModfierAtuid();
180                 assertEquals("consumer Last Modfier Atuid - ", expected, getConsumerDataObject.getLastModfierAtuid());
181
182                 expected = consumerDefinition.getConsumerSalt();
183                 assertEquals("consumer Salt - ", expected, getConsumerDataObject.getConsumerSalt());
184
185                 expectedsLastupdatedtime = consumerDefinition.getConsumerDetailsLastupdatedtime();
186                 assertEquals("consumer Last updated time - ", expectedsLastupdatedtime,
187                                 getConsumerDataObject.getConsumerDetailsLastupdatedtime());
188
189                 expectedLastAuthenticationTime = consumerDefinition.getConsumerLastAuthenticationTime();
190                 assertEquals("consumer Last authentication time - ", expectedLastAuthenticationTime,
191                                 getConsumerDataObject.getConsumerLastAuthenticationTime());
192         }
193
194         ///// New
195         public enum EcompConsumerAuditJsonKeysEnum {
196                 ACTION("ACTION"), MODIFIER("MODIFIER"), ECOMP_USER("ECOMP_USER"), STATUS("STATUS"), DESC("DESCRIPTION");
197                 private String auditJsonKeyName;
198
199                 private EcompConsumerAuditJsonKeysEnum(String auditJsonKeyName) {
200                         this.auditJsonKeyName = auditJsonKeyName;
201                 }
202
203                 public String getAuditJsonKeyName() {
204                         return auditJsonKeyName.toLowerCase();
205                 }
206         }
207
208         /*
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); }
225          */
226
227         /*
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())
240          * ;
241          * expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables)
242          * ); expectedResourceAuditJavaObject.setArtifactName("");
243          * AuditUtils.validateAudit(expectedResourceAuditJavaObject, auditAction,
244          * null); }
245          */
246 }