9bc4417454a3363688470fb3c53f2629e5a4d059
[portal.git] / ecomp-portal-BE-common / src / test / java / org / openecomp / portalapp / portal / controller / ExternalAppsRestfulControllerTest.java
1 package org.openecomp.portalapp.portal.controller;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNull;
5
6 import java.util.ArrayList;
7 import java.util.List;
8
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12 import org.junit.Before;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15 import org.mockito.InjectMocks;
16 import org.mockito.Mock;
17 import org.mockito.Mockito;
18 import org.mockito.MockitoAnnotations;
19 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
20 import org.openecomp.portalapp.portal.controller.ExternalAppsRestfulController;
21 import org.openecomp.portalapp.portal.core.MockEPUser;
22 import org.openecomp.portalapp.portal.domain.EPUser;
23 import org.openecomp.portalapp.portal.service.AdminRolesService;
24 import org.openecomp.portalapp.portal.service.AdminRolesServiceImpl;
25 import org.openecomp.portalapp.portal.service.EPLoginService;
26 import org.openecomp.portalapp.portal.service.EPLoginServiceImpl;
27 import org.openecomp.portalapp.portal.service.EPRoleService;
28 import org.openecomp.portalapp.portal.service.EPRoleServiceImpl;
29 import org.openecomp.portalapp.portal.service.FunctionalMenuService;
30 import org.openecomp.portalapp.portal.service.FunctionalMenuServiceImpl;
31 import org.openecomp.portalapp.portal.service.UserNotificationService;
32 import org.openecomp.portalapp.portal.service.UserNotificationServiceImpl;
33 import org.openecomp.portalapp.portal.transport.FavoritesFunctionalMenuItemJson;
34 import org.openecomp.portalapp.portal.transport.FunctionalMenuItem;
35 import org.openecomp.portalapp.portal.utils.EPCommonSystemProperties;
36 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
37 import org.openecomp.portalsdk.core.service.DataAccessService;
38 import org.openecomp.portalsdk.core.service.DataAccessServiceImpl;
39 import org.powermock.api.mockito.PowerMockito;
40 import org.powermock.core.classloader.annotations.PrepareForTest;
41 import org.powermock.modules.junit4.PowerMockRunner;
42 import org.slf4j.MDC;
43
44 @RunWith(PowerMockRunner.class)
45 @PrepareForTest({ MDC.class, EPCommonSystemProperties.class })
46 public class ExternalAppsRestfulControllerTest {
47
48         @InjectMocks
49         ExternalAppsRestfulController externalAppsRestfulController = new ExternalAppsRestfulController();
50         @Mock
51         FunctionalMenuService functionalMenuService = new FunctionalMenuServiceImpl();
52
53         @Mock
54         EPLoginService epLoginService = new EPLoginServiceImpl();
55
56         @Mock
57         AdminRolesService adminRolesService = new AdminRolesServiceImpl();
58
59         @Mock
60         UserNotificationService userNotificationService = new UserNotificationServiceImpl();
61
62         @Mock
63         EPRoleService epRoleService = new EPRoleServiceImpl();
64
65         @Mock
66         EcompPortalUtils EcompPortalUtils = new EcompPortalUtils();
67         
68         @Mock
69         DataAccessService DataAccessService = new DataAccessServiceImpl();
70
71         @Before
72         public void setup() {
73                 MockitoAnnotations.initMocks(this);
74         }
75
76         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
77
78         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
79         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
80         NullPointerException nullPointerException = new NullPointerException();
81
82         MockEPUser mockUser = new MockEPUser();
83
84          @Test(expected = Exception.class)
85          public void getFunctionalMenuItemsForUserIfUSerNullTest() throws
86          Exception
87          {
88          PowerMockito.mockStatic(EPCommonSystemProperties.class);
89          PowerMockito.mockStatic(MDC.class);
90          EPUser epUser = null;
91          String loginId = "guestT";
92          Mockito.when(MDC.get(EPCommonSystemProperties.PARTNER_NAME)).thenReturn("Test");
93          Mockito.when(epLoginService.findUserWithoutPwd(loginId)).thenReturn(epUser);
94          externalAppsRestfulController.getFunctionalMenuItemsForUser(mockedRequest,
95          mockedResponse);
96          }
97         
98         @Test
99         public void getFunctionalMenuItemsForUserIfSuperAdminTest() throws Exception {
100                 PowerMockito.mockStatic(EPCommonSystemProperties.class);
101                 PowerMockito.mockStatic(MDC.class);
102                 EPUser epUser = mockUser.mockEPUser();
103                 epUser.setId((long) 1);
104                 epUser.setLoginId("guestT");
105                 String loginId = "guestT";
106                 Mockito.when(MDC.get(EPCommonSystemProperties.PARTNER_NAME)).thenReturn("Test");
107                 Mockito.when(epLoginService.findUserWithoutPwd(loginId)).thenReturn(epUser);
108                 List<FunctionalMenuItem> expectedList = new ArrayList<FunctionalMenuItem>();
109                 FunctionalMenuItem functionalMenuItem = new FunctionalMenuItem();
110                 expectedList.add(functionalMenuItem);
111                 Mockito.when(mockedRequest.getHeader("LoginId")).thenReturn("guestT");
112                 Mockito.when(adminRolesService.isSuperAdmin(epUser)).thenReturn(true);
113                 Mockito.when(functionalMenuService.getFunctionalMenuItems()).thenReturn(expectedList);
114                 List<FunctionalMenuItem> actualList = externalAppsRestfulController.getFunctionalMenuItemsForUser(mockedRequest,
115                                 mockedResponse);
116                 assertNull(actualList.get(0).menuId);
117         }
118
119         @Test
120         public void getFunctionalMenuItemsForUserTest() throws Exception {
121                 PowerMockito.mockStatic(EPCommonSystemProperties.class);
122                 PowerMockito.mockStatic(MDC.class);
123                 EPUser epUser = mockUser.mockEPUser();
124                 epUser.setId((long) 1);
125                 epUser.setLoginId("guestT");
126                 String loginId = "guestT";
127                 Mockito.when(MDC.get(EPCommonSystemProperties.PARTNER_NAME)).thenReturn("Test");
128                 Mockito.when(epLoginService.findUserWithoutPwd(loginId)).thenReturn(epUser);
129                 List<FunctionalMenuItem> expectedList = new ArrayList<FunctionalMenuItem>();
130                 FunctionalMenuItem functionalMenuItem = new FunctionalMenuItem();
131                 expectedList.add(functionalMenuItem);
132                 Mockito.when(mockedRequest.getHeader("LoginId")).thenReturn("guestT");
133                 Mockito.when(adminRolesService.isSuperAdmin(epUser)).thenReturn(false);
134                 Mockito.when(functionalMenuService.getFunctionalMenuItemsForUser(epUser.getOrgUserId()))
135                                 .thenReturn(expectedList);
136                 List<FunctionalMenuItem> actualList = externalAppsRestfulController.getFunctionalMenuItemsForUser(mockedRequest,
137                                 mockedResponse);
138                 assertNull(actualList.get(0).menuId);
139         }
140
141         @Test(expected = Exception.class)
142         public void getFavoritesForUserIfUserNullTest() throws Exception {
143                 List<FavoritesFunctionalMenuItemJson> favorites = new ArrayList<FavoritesFunctionalMenuItemJson>();
144                 FavoritesFunctionalMenuItemJson favoritesFunctionalMenuItemJson = new FavoritesFunctionalMenuItemJson();
145                 favorites.add(favoritesFunctionalMenuItemJson);
146                 PowerMockito.mockStatic(EPCommonSystemProperties.class);
147                 PowerMockito.mockStatic(MDC.class);
148                 Mockito.when(mockedRequest.getHeader(EPCommonSystemProperties.MDC_LOGIN_ID)).thenReturn("Login_URL");
149                 Mockito.when(MDC.get(EPCommonSystemProperties.PARTNER_NAME)).thenReturn("Test");
150                 EPUser epUser = null;
151                 externalAppsRestfulController.getFavoritesForUser(mockedRequest, mockedResponse);
152         }
153
154         @Test
155         public void getFavoritesForUserTest() throws Exception {
156                 PowerMockito.mockStatic(EPCommonSystemProperties.class);
157                 PowerMockito.mockStatic(MDC.class);
158                 EPUser epUser = mockUser.mockEPUser();
159                 epUser.setId((long) 1);
160                 epUser.setLoginId("guestT");
161                 String loginId = "guestT";
162                 Mockito.when(MDC.get(EPCommonSystemProperties.PARTNER_NAME)).thenReturn("Test");
163                 List<FavoritesFunctionalMenuItemJson> favorites = new ArrayList<FavoritesFunctionalMenuItemJson>();
164                 FavoritesFunctionalMenuItemJson favoritesFunctionalMenuItemJson = new FavoritesFunctionalMenuItemJson();
165                 favorites.add(favoritesFunctionalMenuItemJson);
166                 Mockito.when(mockedRequest.getHeader(EPCommonSystemProperties.MDC_LOGIN_ID)).thenReturn("Login_URL");
167                 Mockito.when(MDC.get(EPCommonSystemProperties.PARTNER_NAME)).thenReturn("Test");
168                 Mockito.when(epLoginService.findUserWithoutPwd("Login_URL")).thenReturn(epUser);
169                 Mockito.when(functionalMenuService.getFavoriteItems(epUser.getId())).thenReturn(favorites);
170                 List<FavoritesFunctionalMenuItemJson> actaulFavorites = externalAppsRestfulController
171                                 .getFavoritesForUser(mockedRequest, mockedResponse);
172                 assertEquals(actaulFavorites.size(), 1);
173         }
174 }