[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common-test / src / main / java / org / openecomp / portalapp / portal / test / controller / UserRolesControllerTest.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.controller;\r
21 \r
22 import static org.junit.Assert.assertEquals;\r
23 \r
24 import java.util.ArrayList;\r
25 import java.util.Date;\r
26 import java.util.List;\r
27 \r
28 import javax.servlet.http.HttpServletRequest;\r
29 import javax.servlet.http.HttpServletResponse;\r
30 import javax.servlet.http.HttpSession;\r
31 \r
32 import org.junit.Before;\r
33 import org.junit.Test;\r
34 import org.mockito.InjectMocks;\r
35 import org.mockito.Mock;\r
36 import org.mockito.Mockito;\r
37 import org.mockito.MockitoAnnotations;\r
38 import org.openecomp.portalapp.portal.controller.UserRolesController;\r
39 import org.openecomp.portalapp.portal.domain.EPUser;\r
40 import org.openecomp.portalapp.portal.service.UserRolesService;\r
41 import org.openecomp.portalapp.portal.test.core.MockEPUser;\r
42 import org.openecomp.portalapp.portal.test.framework.MockitoTestSuite;\r
43 import org.openecomp.portalapp.portal.transport.AppWithRolesForUser;\r
44 import org.openecomp.portalapp.portal.transport.FieldsValidator;\r
45 import org.openecomp.portalapp.portal.transport.FieldsValidator.FieldName;\r
46 import org.openecomp.portalapp.portal.transport.RoleInAppForUser;\r
47 import org.openecomp.portalapp.util.EPUserUtils;\r
48 import org.openecomp.portalsdk.core.service.DataAccessService;\r
49 import org.openecomp.portalsdk.core.util.SystemProperties;\r
50 \r
51 public class UserRolesControllerTest extends MockitoTestSuite {\r
52 \r
53         String userid = "sk434m";\r
54 \r
55         @Mock\r
56         UserRolesService userRolesService;\r
57 \r
58         @Mock\r
59         FieldsValidator fieldsValidator;\r
60 \r
61         @InjectMocks\r
62         UserRolesController userRolesController = new UserRolesController();\r
63 \r
64         @Mock\r
65         private DataAccessService dataAccessService;\r
66 \r
67         @Before\r
68         public void setup() {\r
69                 MockitoAnnotations.initMocks(this);\r
70         }\r
71 \r
72         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();\r
73 \r
74         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();\r
75         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();\r
76 \r
77         @Mock\r
78         EPUserUtils ePUserUtils = new EPUserUtils();\r
79 \r
80         @Mock\r
81         EPUser epuser;\r
82 \r
83         MockEPUser mockUser = new MockEPUser();\r
84 \r
85         @Test\r
86         public void putAppWithUserRoleRequestTest() {\r
87 \r
88                 FieldsValidator actualFieldsValidator = null;\r
89 \r
90                 AppWithRolesForUser appWithRolesForUser = new AppWithRolesForUser();\r
91                 List<RoleInAppForUser> listofRoles = new ArrayList<RoleInAppForUser>();\r
92 \r
93                 appWithRolesForUser.setOrgUserId("guest");\r
94                 appWithRolesForUser.setAppId((long) 550);\r
95                 appWithRolesForUser.setAppName("D2 Services Analytics Dashboard");\r
96                 appWithRolesForUser.setAppRoles(listofRoles);\r
97 \r
98                 RoleInAppForUser roleInAppForUser = new RoleInAppForUser();\r
99                 roleInAppForUser.setIsApplied(false);\r
100                 roleInAppForUser.setRoleId((long) 1);\r
101                 roleInAppForUser.setRoleName("System Administrator");\r
102 \r
103                 RoleInAppForUser roleInAppForUser1 = new RoleInAppForUser();\r
104                 roleInAppForUser1.setIsApplied(true);\r
105                 roleInAppForUser1.setRoleId((long) 16);\r
106                 roleInAppForUser1.setRoleName("Standard User");\r
107 \r
108                 listofRoles.add(roleInAppForUser);\r
109                 listofRoles.add(roleInAppForUser1);\r
110                 EPUser user = mockUser.mockEPUser();\r
111                 FieldsValidator expectedFieldValidator = new FieldsValidator();\r
112                 List<FieldName> fields = new ArrayList<>();\r
113 \r
114                 expectedFieldValidator.setHttpStatusCode((long) 200);\r
115                 expectedFieldValidator.setFields(fields);\r
116                 expectedFieldValidator.setErrorCode(null);\r
117                 HttpSession session = mockedRequest.getSession();\r
118                 session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
119 \r
120                 Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
121                 Mockito.when(userRolesService.putUserAppRolesRequest(appWithRolesForUser, user))\r
122                                 .thenReturn(expectedFieldValidator);\r
123 \r
124                 actualFieldsValidator = userRolesController.putAppWithUserRoleRequest(mockedRequest, appWithRolesForUser,\r
125                                 mockedResponse);\r
126                 assertEquals(expectedFieldValidator.getHttpStatusCode(), actualFieldsValidator.getHttpStatusCode());\r
127                 assertEquals(expectedFieldValidator.getErrorCode(), actualFieldsValidator.getErrorCode());\r
128                 assertEquals(expectedFieldValidator.getFields(), actualFieldsValidator.getFields());\r
129 \r
130         }\r
131 }\r