2 * ================================================================================
\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
11 * http://www.apache.org/licenses/LICENSE-2.0
\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
20 package org.openecomp.portalapp.portal.test.core;
\r
22 import static org.junit.Assert.assertEquals;
\r
24 import java.io.IOException;
\r
25 import java.nio.charset.Charset;
\r
26 import java.util.ArrayList;
\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
41 import com.fasterxml.jackson.annotation.JsonInclude;
\r
42 import com.fasterxml.jackson.databind.ObjectMapper;
\r
46 * @author sk434m Use RestURLsTestSuite to test Rest API URL's
\r
48 public class RestURLsTestSuite extends ApplicationCommonContextTestSuite {
\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
55 MockEPUser mockUser = new MockEPUser();
\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
63 public void requestBuilder(String url) throws Exception {
\r
64 EPUser user = mockUser.mockEPUser();
\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
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
79 public void getMenuItemsTest() throws Exception {
\r
81 url = "/portalApi/functionalMenu";
\r
82 requestBuilder(url);
\r
86 public void getMenuItemsForNotificationsTest() throws Exception {
\r
87 url = "/portalApi/functionalMenuForNotificationTree";
\r
88 requestBuilder(url);
\r
92 public void getUserAppsTestnew() throws Exception {
\r
94 url = "/portalApi/userApps";
\r
95 requestBuilder(url);
\r
99 public void getPersUserAppsTest() throws Exception {
\r
101 url = "/portalApi/persUserApps";
\r
102 requestBuilder(url);
\r
106 public void getAppCatalogTest() throws Exception {
\r
108 url = "/portalApi/appCatalog";
\r
109 requestBuilder(url);
\r
113 public void getAppListNewTest() throws Exception {
\r
114 ResultActions ra = getMockMvc()
\r
115 .perform(MockMvcRequestBuilders.get("/portalApi/userApplicationRoles").param("userId", "guest"));
\r
120 public void getAvailableAppListTest() throws Exception {
\r
121 url = "/portalApi/availableApps";
\r
122 requestBuilder(url);
\r
126 public void getAllAppsTest() throws Exception {
\r
127 url = "/portalApi/allAvailableApps";
\r
128 requestBuilder(url);
\r
132 public void getUserProfileTest() throws Exception {
\r
133 url = "/portalApi/userProfile";
\r
134 requestBuilder(url);
\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
147 public void getAppsWithAdminRoleStateForUserTest() throws Exception {
\r
148 url = "/portalApi/adminAppsRoles?user=guest";
\r
149 requestBuilder(url);
\r
154 public void getUsersFromAppEndpointTest() throws Exception {
\r
155 url = "/portalApi/app/550/users";
\r
156 requestBuilder(url);
\r
160 public void getOnboardingAppsTest() throws Exception {
\r
161 url = "/portalApi/onboardingApps";
\r
162 requestBuilder(url);
\r
166 public void getMenuItemsForAuthUserTest() throws Exception {
\r
167 url = "/portalApi/functionalMenuForAuthUser";
\r
168 requestBuilder(url);
\r
172 public void getMenuItemsForEditingTest() throws Exception {
\r
173 url = "/portalApi/functionalMenuForEditing";
\r
174 requestBuilder(url);
\r
178 public void getAppRolesTest() throws Exception {
\r
179 url = "/portalApi/appRoles/455";
\r
180 requestBuilder(url);
\r
184 public void regenerateAncestorTableTest() throws Exception {
\r
186 EPUser user = mockUser.mockEPUser();
\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
198 public void getAppListTest() throws Exception {
\r
199 url = "/portalApi/getAppList";
\r
200 requestBuilder(url);
\r
204 public void getFavoritesForUserTest() throws Exception {
\r
205 url = "/portalApi/getFavoriteItems";
\r
206 requestBuilder(url);
\r
210 public void getManifestTest() throws Exception {
\r
211 url = "/portalApi/manifest";
\r
212 requestBuilder(url);
\r
216 public void getActiveUsersTest() throws Exception {
\r
217 url = "/portalApi/dashboard/activeUsers";
\r
218 requestBuilder(url);
\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
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
242 public void getAppsAndContactsTest() throws Exception {
\r
243 url = "/portalApi/contactus/allapps";
\r
244 requestBuilder(url);
\r
248 public void getPortalDetailsTest() throws Exception {
\r
249 url = "/portalApi/contactus/feedback";
\r
250 requestBuilder(url);
\r
254 public void getAppCategoryFunctionsTest() throws Exception {
\r
255 url = "/portalApi/contactus/functions";
\r
256 requestBuilder(url);
\r
260 public void getOnlineUserUpdateRateTest() throws Exception {
\r
261 url = "/portalApi/dashboard/onlineUserUpdateRate";
\r
262 requestBuilder(url);
\r
266 public void getMenuIdRoleIdTest() throws Exception {
\r
267 url = "/portalApi/getFunctionalMenuRole";
\r
268 requestBuilder(url);
\r
272 public void getNotificationsTest() throws Exception {
\r
273 url = "/portalApi/getNotifications";
\r
274 requestBuilder(url);
\r
278 public void getAdminNotificationsTest() throws Exception {
\r
279 url = "/portalApi/getAdminNotifications";
\r
280 requestBuilder(url);
\r
284 public void getNotificationAppRolesTest() throws Exception {
\r
285 url = "/portalApi/getNotificationAppRoles";
\r
286 requestBuilder(url);
\r
290 public void getNotificationUpdateRateTest() throws Exception {
\r
291 url = "/portalApi/notificationUpdateRate";
\r
292 requestBuilder(url);
\r
296 public void notificationReadTest() throws Exception {
\r
297 url = "/portalApi/notificationRead?notificationId=262";
\r
298 requestBuilder(url);
\r
302 public void testGetRolesTest() throws Exception {
\r
303 url = "/portalApi/notificationRole/248/roles";
\r
304 requestBuilder(url);
\r
308 public void putAppsWithAdminRoleStateForUserTest() throws Exception {
\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
324 requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
\r
325 ResultActions ra = getMockMvc().perform(requestBuilder);
\r