[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common-test / src / main / java / org / openecomp / portalapp / portal / test / core / RestURLsTestSuite.java
1 /*-\r
2  * ================================================================================\r
3  * ECOMP Portal\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ================================================================================\r
19  */\r
20 package org.openecomp.portalapp.portal.test.core;\r
21 \r
22 import static org.junit.Assert.assertEquals;\r
23 \r
24 import java.io.IOException;\r
25 import java.nio.charset.Charset;\r
26 import java.util.ArrayList;\r
27 \r
28 import org.junit.Assert;\r
29 import org.junit.Test;\r
30 import org.openecomp.portalapp.portal.domain.EPUser;\r
31 import org.openecomp.portalapp.portal.test.core.MockEPUser;\r
32 import org.openecomp.portalapp.portal.test.framework.ApplicationCommonContextTestSuite;\r
33 import org.openecomp.portalapp.portal.transport.AppNameIdIsAdmin;\r
34 import org.openecomp.portalapp.portal.transport.AppsListWithAdminRole;\r
35 import org.openecomp.portalsdk.core.util.SystemProperties;\r
36 import org.springframework.http.MediaType;\r
37 import org.springframework.test.web.servlet.ResultActions;\r
38 import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;\r
39 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;\r
40 \r
41 import com.fasterxml.jackson.annotation.JsonInclude;\r
42 import com.fasterxml.jackson.databind.ObjectMapper;\r
43 \r
44 /**\r
45  * \r
46  * @author sk434m Use RestURLsTestSuite to test Rest API URL's\r
47  */\r
48 public class RestURLsTestSuite extends ApplicationCommonContextTestSuite {\r
49 \r
50         public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(MediaType.APPLICATION_JSON.getType(),\r
51                         MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8"));\r
52 \r
53         String url = null;\r
54 \r
55         MockEPUser mockUser = new MockEPUser();\r
56 \r
57         public byte[] convertObjectToJsonBytes(Object object) throws IOException {\r
58                 ObjectMapper mapper = new ObjectMapper();\r
59                 mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);\r
60                 return mapper.writeValueAsBytes(object);\r
61         }\r
62 \r
63         public void requestBuilder(String url) throws Exception {\r
64                 EPUser user = mockUser.mockEPUser();\r
65 \r
66                 MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get(url);\r
67                 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
68                 ResultActions ra = getMockMvc().perform(requestBuilder);\r
69                 assertData(ra);\r
70         }\r
71 \r
72         public void assertData(ResultActions ra) {\r
73                 Assert.assertEquals("application/json", ra.andReturn().getResponse().getContentType());\r
74                 Assert.assertEquals(200, ra.andReturn().getResponse().getStatus());\r
75 \r
76         }\r
77 \r
78         @Test\r
79         public void getMenuItemsTest() throws Exception {\r
80 \r
81                 url = "/portalApi/functionalMenu";\r
82                 requestBuilder(url);\r
83         }\r
84 \r
85         @Test\r
86         public void getMenuItemsForNotificationsTest() throws Exception {\r
87                 url = "/portalApi/functionalMenuForNotificationTree";\r
88                 requestBuilder(url);\r
89         }\r
90 \r
91         @Test\r
92         public void getUserAppsTestnew() throws Exception {\r
93 \r
94                 url = "/portalApi/userApps";\r
95                 requestBuilder(url);\r
96         }\r
97 \r
98         @Test\r
99         public void getPersUserAppsTest() throws Exception {\r
100 \r
101                 url = "/portalApi/persUserApps";\r
102                 requestBuilder(url);\r
103         }\r
104 \r
105         @Test\r
106         public void getAppCatalogTest() throws Exception {\r
107 \r
108                 url = "/portalApi/appCatalog";\r
109                 requestBuilder(url);\r
110         }\r
111 \r
112         @Test\r
113         public void getAppListNewTest() throws Exception {\r
114                 ResultActions ra = getMockMvc()\r
115                                 .perform(MockMvcRequestBuilders.get("/portalApi/userApplicationRoles").param("userId", "guest"));\r
116                 assertData(ra);\r
117         }\r
118 \r
119         @Test\r
120         public void getAvailableAppListTest() throws Exception {\r
121                 url = "/portalApi/availableApps";\r
122                 requestBuilder(url);\r
123         }\r
124 \r
125         @Test\r
126         public void getAllAppsTest() throws Exception {\r
127                 url = "/portalApi/allAvailableApps";\r
128                 requestBuilder(url);\r
129         }\r
130 \r
131         @Test\r
132         public void getUserProfileTest() throws Exception {\r
133                 url = "/portalApi/userProfile";\r
134                 requestBuilder(url);\r
135         }\r
136 \r
137         @Test\r
138         public void getRolesByAppTest() throws Exception {\r
139                 EPUser user = mockUser.mockEPUser();\r
140                 MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/portalApi/adminAppsRoles/550");\r
141                 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
142                 ResultActions ra = getMockMvc().perform(requestBuilder);\r
143                 assertData(ra);\r
144         }\r
145 \r
146         @Test\r
147         public void getAppsWithAdminRoleStateForUserTest() throws Exception {\r
148                 url = "/portalApi/adminAppsRoles?user=guest";\r
149                 requestBuilder(url);\r
150 \r
151         }\r
152 \r
153         @Test\r
154         public void getUsersFromAppEndpointTest() throws Exception {\r
155                 url = "/portalApi/app/550/users";\r
156                 requestBuilder(url);\r
157         }\r
158 \r
159         @Test\r
160         public void getOnboardingAppsTest() throws Exception {\r
161                 url = "/portalApi/onboardingApps";\r
162                 requestBuilder(url);\r
163         }\r
164 \r
165         @Test\r
166         public void getMenuItemsForAuthUserTest() throws Exception {\r
167                 url = "/portalApi/functionalMenuForAuthUser";\r
168                 requestBuilder(url);\r
169         }\r
170 \r
171         @Test\r
172         public void getMenuItemsForEditingTest() throws Exception {\r
173                 url = "/portalApi/functionalMenuForEditing";\r
174                 requestBuilder(url);\r
175         }\r
176 \r
177         @Test\r
178         public void getAppRolesTest() throws Exception {\r
179                 url = "/portalApi/appRoles/455";\r
180                 requestBuilder(url);\r
181         }\r
182 \r
183         @Test\r
184         public void regenerateAncestorTableTest() throws Exception {\r
185 \r
186                 EPUser user = mockUser.mockEPUser();\r
187 \r
188                 MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders\r
189                                 .get("/portalApi/regenerateFunctionalMenuAncestors");\r
190                 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
191                 ResultActions ra = getMockMvc().perform(requestBuilder);\r
192                 assertEquals("application/json;charset=UTF-8", ra.andReturn().getResponse().getContentType());\r
193                 Assert.assertEquals(200, ra.andReturn().getResponse().getStatus());\r
194 \r
195         }\r
196 \r
197         @Test\r
198         public void getAppListTest() throws Exception {\r
199                 url = "/portalApi/getAppList";\r
200                 requestBuilder(url);\r
201         }\r
202 \r
203         @Test\r
204         public void getFavoritesForUserTest() throws Exception {\r
205                 url = "/portalApi/getFavoriteItems";\r
206                 requestBuilder(url);\r
207         }\r
208 \r
209         @Test\r
210         public void getManifestTest() throws Exception {\r
211                 url = "/portalApi/manifest";\r
212                 requestBuilder(url);\r
213         }\r
214 \r
215         @Test\r
216         public void getActiveUsersTest() throws Exception {\r
217                 url = "/portalApi/dashboard/activeUsers";\r
218                 requestBuilder(url);\r
219         }\r
220 \r
221         @Test\r
222         public void searchPortalTest() throws Exception {\r
223                 EPUser user = mockUser.mockEPUser();\r
224                 MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/portalApi/dashboard/search")\r
225                                 .param("searchString", "guest");\r
226                 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
227                 ResultActions ra = getMockMvc().perform(requestBuilder);\r
228                 assertData(ra);\r
229         }\r
230 \r
231         @Test\r
232         public void getWidgetDataTest() throws Exception {\r
233                 EPUser user = mockUser.mockEPUser();\r
234                 MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/portalApi/dashboard/widgetData")\r
235                                 .param("resourceType", "guest");\r
236                 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
237                 ResultActions ra = getMockMvc().perform(requestBuilder);\r
238                 assertData(ra);\r
239         }\r
240 \r
241         @Test\r
242         public void getAppsAndContactsTest() throws Exception {\r
243                 url = "/portalApi/contactus/allapps";\r
244                 requestBuilder(url);\r
245         }\r
246 \r
247         @Test\r
248         public void getPortalDetailsTest() throws Exception {\r
249                 url = "/portalApi/contactus/feedback";\r
250                 requestBuilder(url);\r
251         }\r
252 \r
253         @Test\r
254         public void getAppCategoryFunctionsTest() throws Exception {\r
255                 url = "/portalApi/contactus/functions";\r
256                 requestBuilder(url);\r
257         }\r
258 \r
259         @Test\r
260         public void getOnlineUserUpdateRateTest() throws Exception {\r
261                 url = "/portalApi/dashboard/onlineUserUpdateRate";\r
262                 requestBuilder(url);\r
263         }\r
264 \r
265         @Test\r
266         public void getMenuIdRoleIdTest() throws Exception {\r
267                 url = "/portalApi/getFunctionalMenuRole";\r
268                 requestBuilder(url);\r
269         }\r
270 \r
271         @Test\r
272         public void getNotificationsTest() throws Exception {\r
273                 url = "/portalApi/getNotifications";\r
274                 requestBuilder(url);\r
275         }\r
276 \r
277         @Test\r
278         public void getAdminNotificationsTest() throws Exception {\r
279                 url = "/portalApi/getAdminNotifications";\r
280                 requestBuilder(url);\r
281         }\r
282 \r
283         @Test\r
284         public void getNotificationAppRolesTest() throws Exception {\r
285                 url = "/portalApi/getNotificationAppRoles";\r
286                 requestBuilder(url);\r
287         }\r
288 \r
289         @Test\r
290         public void getNotificationUpdateRateTest() throws Exception {\r
291                 url = "/portalApi/notificationUpdateRate";\r
292                 requestBuilder(url);\r
293         }\r
294 \r
295         @Test\r
296         public void notificationReadTest() throws Exception {\r
297                 url = "/portalApi/notificationRead?notificationId=262";\r
298                 requestBuilder(url);\r
299         }\r
300 \r
301         @Test\r
302         public void testGetRolesTest() throws Exception {\r
303                 url = "/portalApi/notificationRole/248/roles";\r
304                 requestBuilder(url);\r
305         }\r
306 \r
307         @Test\r
308         public void putAppsWithAdminRoleStateForUserTest() throws Exception {\r
309 \r
310                 AppsListWithAdminRole appsListWithAdminRole = new AppsListWithAdminRole();\r
311                 appsListWithAdminRole.setOrgUserId("guest");\r
312                 ArrayList<AppNameIdIsAdmin> appsRoles = new ArrayList<AppNameIdIsAdmin>();\r
313                 AppNameIdIsAdmin appNameIdIsAdmin = new AppNameIdIsAdmin();\r
314                 appNameIdIsAdmin.setId((long) 455);\r
315                 appNameIdIsAdmin.setAppName("CCD");\r
316                 appNameIdIsAdmin.setIsAdmin(true);\r
317                 appNameIdIsAdmin.setRestrictedApp(false);\r
318                 appsRoles.add(appNameIdIsAdmin);\r
319                 appsListWithAdminRole.setAppsRoles(appsRoles);\r
320                 EPUser user = mockUser.mockEPUser();\r
321                 MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.put("/portalApi/adminAppsRoles")\r
322                                 .contentType(APPLICATION_JSON_UTF8).content(convertObjectToJsonBytes(appsListWithAdminRole));\r
323 \r
324                 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
325                 ResultActions ra = getMockMvc().perform(requestBuilder);\r
326                 assertData(ra);\r
327         }\r
328 \r
329 }\r