07eeed7ea76fa62fd39b8ba73e937c188d312c92
[portal.git] / ecomp-portal-BE-common / src / test / java / org / openecomp / portalapp / portal / service / EPRoleFunctionServiceImplTest.java
1 package org.openecomp.portalapp.portal.service;
2
3 import static org.junit.Assert.*;
4
5 import java.util.ArrayList;
6 import java.util.HashMap;
7 import java.util.HashSet;
8 import java.util.List;
9 import java.util.SortedSet;
10 import java.util.TreeSet;
11
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.http.HttpSession;
14
15 import org.junit.Before;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
18 import org.mockito.InjectMocks;
19 import org.mockito.Mock;
20 import org.mockito.Mockito;
21 import org.mockito.MockitoAnnotations;
22 import org.openecomp.portalapp.portal.domain.EPRole;
23 import org.openecomp.portalapp.portal.domain.EPUser;
24 import org.openecomp.portalapp.portal.service.EPRoleFunctionServiceImpl;
25 import org.openecomp.portalapp.portal.core.MockEPUser;
26 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
27 import org.openecomp.portalapp.util.EPUserUtils;
28 import org.openecomp.portalsdk.core.domain.RoleFunction;
29 import org.openecomp.portalsdk.core.service.DataAccessService;
30 import org.openecomp.portalsdk.core.util.SystemProperties;
31 import org.powermock.api.mockito.PowerMockito;
32 import org.powermock.core.classloader.annotations.PrepareForTest;
33 import org.powermock.modules.junit4.PowerMockRunner;
34
35 @RunWith(PowerMockRunner.class)
36 @PrepareForTest({ SystemProperties.class, EPUserUtils.class })
37 public class EPRoleFunctionServiceImplTest {
38
39         @Mock
40         DataAccessService dataAccessService;
41
42         @InjectMocks
43         EPRoleFunctionServiceImpl ePRoleFunctionServiceImpl = new EPRoleFunctionServiceImpl();
44
45         @Before
46         public void setup() {
47                 MockitoAnnotations.initMocks(this);
48         }
49
50         NullPointerException nullPointerException = new NullPointerException();
51         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
52         MockEPUser mockUser = new MockEPUser();
53
54         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
55
56         @Test
57         public void getRoleFunctionsTest() {
58                 List<RoleFunction> functions = new ArrayList<>();
59                 Mockito.when(dataAccessService.getList(RoleFunction.class, null)).thenReturn(functions);
60                 List<RoleFunction> expectedFunctions = ePRoleFunctionServiceImpl.getRoleFunctions();
61                 assertEquals(expectedFunctions, functions);
62         }
63
64         @Test
65         public void getRoleFunctionsRequestTest() {
66                 EPUser user = mockUser.mockEPUser();
67                 HashSet roleFunctions = new HashSet<>();
68                 PowerMockito.mockStatic(SystemProperties.class);
69                 HttpSession session = mockedRequest.getSession();
70                 Mockito.when(session.getAttribute(SystemProperties.getProperty(SystemProperties.ROLE_FUNCTIONS_ATTRIBUTE_NAME)))
71                                 .thenReturn(roleFunctions);
72                 HashSet expectedRoleFunctions = (HashSet) ePRoleFunctionServiceImpl.getRoleFunctions(mockedRequest, user);
73                 assertEquals(expectedRoleFunctions, roleFunctions);
74         }
75
76         @SuppressWarnings("unchecked")
77         @Test
78         public void getRoleFunctionsRequestIfNullTest() {
79                 EPUser user = mockUser.mockEPUser();
80                 HashSet roleFunctions = null;
81                 PowerMockito.mockStatic(SystemProperties.class);
82                 PowerMockito.mockStatic(EPUserUtils.class);
83                 HttpSession session = mockedRequest.getSession();
84                 Mockito.when(session.getAttribute(SystemProperties.getProperty(SystemProperties.ROLE_FUNCTIONS_ATTRIBUTE_NAME)))
85                                 .thenReturn(roleFunctions);
86                 HashMap roles = new HashMap<>();
87                 EPRole role = new EPRole();
88                 SortedSet<RoleFunction> roleFunctionSet = new TreeSet<RoleFunction>();
89                 RoleFunction rolefun = new RoleFunction();
90                 roleFunctionSet.add(rolefun);
91                 role.setRoleFunctions(roleFunctionSet);
92                 roles.put((long) 1, role);
93                 Mockito.when(EPUserUtils.getRoles(mockedRequest)).thenReturn(roles);
94                 HashSet expectedRoleFunctions = (HashSet) ePRoleFunctionServiceImpl.getRoleFunctions(mockedRequest, user);
95                 assertTrue(expectedRoleFunctions.size() == 1);
96
97         }
98 }