[SDC-29] rebase continue work to align source
[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 static org.testng.AssertJUnit.assertEquals;
24
25 import java.util.Map;
26
27 import org.codehaus.jackson.map.ObjectMapper;
28 import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition;
29 import org.openecomp.sdc.be.model.User;
30 import org.openecomp.sdc.ci.tests.api.Urls;
31 import org.openecomp.sdc.ci.tests.config.Config;
32 import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest;
33 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
34 import org.openecomp.sdc.ci.tests.utils.Utils;
35
36 import com.google.gson.Gson;
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                 try {
126                         ConsumerDataDefinition component = mapper.readValue(bodyToParse, ConsumerDataDefinition.class);
127                         return component;
128                 } catch (Exception e) {
129                         e.printStackTrace();
130                 }
131
132                 return null;
133         }
134
135         public static RestResponse deleteConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
136                         throws Exception {
137
138                 Config config = Utils.getConfig();
139                 String url = String.format(Urls.DELETE_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
140                                 consumerDataDefinition.getConsumerName());
141
142                 String userId = sdncModifierDetails.getUserId();
143
144                 Map<String, String> headersMap = prepareHeadersMap(userId);
145                 HttpRequest http = new HttpRequest();
146                 // System.out.println(url);
147                 RestResponse deleteConsumerResponse = http.httpSendDelete(url, headersMap);
148                 return deleteConsumerResponse;
149         }
150
151         public static RestResponse getConsumer(ConsumerDataDefinition consumerDataDefinition, User sdncModifierDetails)
152                         throws Exception {
153
154                 Config config = Utils.getConfig();
155                 String url = String.format(Urls.GET_CONSUMER, config.getCatalogBeHost(), config.getCatalogBePort(),
156                                 consumerDataDefinition.getConsumerName());
157
158                 String userId = sdncModifierDetails.getUserId();
159
160                 Map<String, String> headersMap = prepareHeadersMap(userId);
161                 HttpRequest http = new HttpRequest();
162                 // System.out.println(url);
163                 RestResponse getConsumerResponse = http.httpSendGet(url, headersMap);
164                 return getConsumerResponse;
165         }
166
167         public static void validateConsumerReqVsResp(ConsumerDataDefinition consumerDefinition,
168                         ConsumerDataDefinition getConsumerDataObject) {
169
170                 String expected;
171
172                 expected = consumerDefinition.getConsumerName();
173                 assertEquals("consumer name - ", expected, getConsumerDataObject.getConsumerName());
174
175                 expected = consumerDefinition.getConsumerPassword().toLowerCase();
176                 assertEquals("consumer password  - ", expected, getConsumerDataObject.getConsumerPassword());
177
178                 expected = consumerDefinition.getLastModfierAtuid();
179                 assertEquals("consumer Last Modfier Atuid - ", expected, getConsumerDataObject.getLastModfierAtuid());
180
181                 expected = consumerDefinition.getConsumerSalt();
182                 assertEquals("consumer Salt - ", expected, getConsumerDataObject.getConsumerSalt());
183
184                 expectedsLastupdatedtime = consumerDefinition.getConsumerDetailsLastupdatedtime();
185                 assertEquals("consumer Last updated time - ", expectedsLastupdatedtime,
186                                 getConsumerDataObject.getConsumerDetailsLastupdatedtime());
187
188                 expectedLastAuthenticationTime = consumerDefinition.getConsumerLastAuthenticationTime();
189                 assertEquals("consumer Last authentication time - ", expectedLastAuthenticationTime,
190                                 getConsumerDataObject.getConsumerLastAuthenticationTime());
191         }
192
193         ///// New
194         public enum EcompConsumerAuditJsonKeysEnum {
195                 ACTION("ACTION"), MODIFIER("MODIFIER"), ECOMP_USER("ECOMP_USER"), STATUS("STATUS"), DESC("DESCRIPTION");
196                 private String auditJsonKeyName;
197
198                 private EcompConsumerAuditJsonKeysEnum(String auditJsonKeyName) {
199                         this.auditJsonKeyName = auditJsonKeyName;
200                 }
201
202                 public String getAuditJsonKeyName() {
203                         return auditJsonKeyName.toLowerCase();
204                 }
205         }
206
207         /*
208          * protected void resourceArtifatAuditSuccess(String action,
209          * ArtifactReqDetails artifact, ResourceReqDetails resourceDetails , User
210          * user) throws Exception { ExpectedResourceAuditJavaObject
211          * expectedResourceAuditJavaObject =
212          * Convertor.constructFieldsForAuditValidation(resourceDetails,
213          * resourceDetails.getVersion(), user); String auditAction = action;
214          * expectedResourceAuditJavaObject.setAction(auditAction);
215          * expectedResourceAuditJavaObject.setPrevState("");
216          * expectedResourceAuditJavaObject.setPrevVersion("");
217          * expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.
218          * NOT_CERTIFIED_CHECKOUT).toString());
219          * expectedResourceAuditJavaObject.setStatus("200");
220          * expectedResourceAuditJavaObject.setDesc("OK");
221          * expectedResourceAuditJavaObject.setArtifactName(artifact.getArtifactName(
222          * )); AuditUtils.validateAudit(expectedResourceAuditJavaObject,
223          * auditAction, null); }
224          */
225
226         /*
227          * protected void resourceArtifatValidateAuditWithErrorMessage(String
228          * actionStatus, ResourceReqDetails resourceDetails, String auditAction,
229          * String setCurrState, Object ... variables)throws Exception { ErrorInfo
230          * errorInfo = utils.parseYaml(actionStatus);
231          * ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject =
232          * Convertor.constructFieldsForAuditValidation(resourceDetails,
233          * resourceDetails.getVersion(), sdncUserDetails);
234          * expectedResourceAuditJavaObject.setAction(auditAction);
235          * expectedResourceAuditJavaObject.setPrevState("");
236          * expectedResourceAuditJavaObject.setPrevVersion("");
237          * expectedResourceAuditJavaObject.setCurrState(setCurrState);
238          * expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString())
239          * ;
240          * expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc(variables)
241          * ); expectedResourceAuditJavaObject.setArtifactName("");
242          * AuditUtils.validateAudit(expectedResourceAuditJavaObject, auditAction,
243          * null); }
244          */
245 }