7155e14620e8611f98b96e24c919e9e89f74e438
[portal.git] / ecomp-portal-BE-common / src / test / java / org / openecomp / portalapp / portal / service / PersUserAppServiceImplTest.java
1 package org.openecomp.portalapp.portal.service;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.Mockito;
14 import org.mockito.MockitoAnnotations;
15 import org.openecomp.portalapp.portal.domain.EPApp;
16 import org.openecomp.portalapp.portal.domain.EPUser;
17 import org.openecomp.portalapp.portal.domain.EPUserApp;
18 import org.openecomp.portalapp.portal.domain.PersUserAppSelection;
19 import org.openecomp.portalapp.portal.service.AdminRolesService;
20 import org.openecomp.portalapp.portal.service.PersUserAppServiceImpl;
21 import org.openecomp.portalapp.portal.service.UserRolesService;
22 import org.openecomp.portalapp.portal.core.MockEPUser;
23 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
24 import org.openecomp.portalsdk.core.service.DataAccessService;
25
26 public class PersUserAppServiceImplTest {
27
28         @Mock
29         DataAccessService dataAccessService;
30         @Mock
31         AdminRolesService adminRolesService;
32         @Mock
33         UserRolesService userRolesService;
34
35         @Before
36         public void setup() {
37                 MockitoAnnotations.initMocks(this);
38         }
39
40         @InjectMocks
41         PersUserAppServiceImpl persUserAppServiceImpl = new PersUserAppServiceImpl();
42
43         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
44
45         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
46         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
47         NullPointerException nullPointerException = new NullPointerException();
48         MockEPUser mockUser = new MockEPUser();
49
50         public EPApp getApp() {
51                 EPApp app = new EPApp();
52                 app.setName("Test");
53                 app.setImageUrl("test");
54                 app.setDescription("test");
55                 app.setNotes("test");
56                 app.setUrl("test");
57                 app.setId((long) 1);
58                 app.setAppRestEndpoint("test");
59                 app.setAlternateUrl("test");
60                 app.setName("test");
61                 app.setMlAppName("test");
62                 app.setMlAppAdminId("test");
63                 app.setUsername("test");
64                 app.setAppPassword("test");
65                 app.setOpen(true);
66                 app.setEnabled(false);
67                 app.setUebKey("test");
68                 app.setUebSecret("test");
69                 app.setUebTopicName("test");
70                 app.setAppType(1);
71                 return app;
72         }
73
74         @Test(expected = IllegalArgumentException.class)
75         public void setPersUserAppValueIfUserNull() {
76                 persUserAppServiceImpl.setPersUserAppValue(null, null, false, false);
77         }
78
79         @Test
80         public void setPersUserAppValueTest() {
81                 EPApp app = getApp();
82                 EPUser user = mockUser.mockEPUser();
83                 List<PersUserAppSelection> persUserAppSelectionList = new ArrayList<>();
84                 PersUserAppSelection persUserAppSelection = new PersUserAppSelection();
85                 persUserAppSelection.setId((long) 1);
86                 persUserAppSelectionList.add(persUserAppSelection);
87                 Mockito.when(dataAccessService.getList(PersUserAppSelection.class, "test", null, null))
88                                 .thenReturn(persUserAppSelectionList);
89                 Mockito.doNothing().when(dataAccessService).deleteDomainObject(persUserAppSelection, null);
90                 persUserAppServiceImpl.setPersUserAppValue(user, app, false, true);
91         }
92
93         @Test
94         public void setPersUserAppValueIfSelectTest() {
95                 EPApp app = getApp();
96                 EPUser user = mockUser.mockEPUser();
97                 List<PersUserAppSelection> persUserAppSelectionList = new ArrayList<>();
98                 PersUserAppSelection persUserAppSelection = new PersUserAppSelection();
99                 persUserAppSelection.setId((long) 1);
100                 persUserAppSelectionList.add(persUserAppSelection);
101                 Mockito.when(dataAccessService.getList(PersUserAppSelection.class, "test", null, null))
102                                 .thenReturn(persUserAppSelectionList);
103                 Mockito.doNothing().when(dataAccessService).saveDomainObject(persUserAppSelection, null);
104                 persUserAppServiceImpl.setPersUserAppValue(user, app, true, true);
105         }
106
107         @Test
108         public void setPersUserAppValueIfOpenTest() {
109                 EPApp app = getApp();
110                 app.setOpen(false);
111                 EPUser user = mockUser.mockEPUser();
112                 List<PersUserAppSelection> persUserAppSelectionList = new ArrayList<>();
113                 PersUserAppSelection persUserAppSelection = new PersUserAppSelection();
114                 persUserAppSelection.setId((long) 1);
115                 persUserAppSelectionList.add(persUserAppSelection);
116                 Mockito.when(dataAccessService.getList(PersUserAppSelection.class, "test", null, null))
117                                 .thenReturn(persUserAppSelectionList);
118                 Mockito.doNothing().when(dataAccessService).saveDomainObject(persUserAppSelection, null);
119                 persUserAppServiceImpl.setPersUserAppValue(user, app, true, true);
120         }
121
122         @Test
123         public void setPersUserAppValueIfAppNotOpenTest() {
124                 EPApp app = getApp();
125                 app.setOpen(false);
126                 EPUser user = mockUser.mockEPUser();
127                 List<PersUserAppSelection> persUserAppSelectionList = new ArrayList<>();
128                 PersUserAppSelection persUserAppSelection = new PersUserAppSelection();
129                 persUserAppSelection.setId((long) 1);
130                 persUserAppSelectionList.add(persUserAppSelection);
131                 Mockito.when(dataAccessService.getList(PersUserAppSelection.class, "test", null, null))
132                                 .thenReturn(persUserAppSelectionList);
133                 Mockito.doNothing().when(dataAccessService).saveDomainObject(persUserAppSelection, null);
134                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
135                 List<EPUserApp> roles = new ArrayList<>();
136                 EPUserApp epUserApp = new EPUserApp();
137                 roles.add(epUserApp);
138                 Mockito.when(userRolesService.getCachedAppRolesForUser(app.getId(), user.getId())).thenReturn(roles);
139                 persUserAppServiceImpl.setPersUserAppValue(user, app, true, false);
140         }
141
142         @Test
143         public void setPersUserAppValueIfNotPortalAdminTest() {
144                 EPApp app = getApp();
145                 app.setOpen(false);
146                 EPUser user = mockUser.mockEPUser();
147                 List<PersUserAppSelection> persUserAppSelectionList = new ArrayList<>();
148                 PersUserAppSelection persUserAppSelection = new PersUserAppSelection();
149                 persUserAppSelection.setId((long) 1);
150                 persUserAppSelectionList.add(persUserAppSelection);
151                 Mockito.when(dataAccessService.getList(PersUserAppSelection.class, "test", null, null))
152                                 .thenReturn(persUserAppSelectionList);
153                 Mockito.doNothing().when(dataAccessService).deleteDomainObject(persUserAppSelection, null);
154                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
155                 List<EPUserApp> roles = new ArrayList<>();
156                 EPUserApp epUserApp = new EPUserApp();
157                 roles.add(epUserApp);
158                 Mockito.when(userRolesService.getCachedAppRolesForUser(app.getId(), user.getId())).thenReturn(roles);
159                 persUserAppServiceImpl.setPersUserAppValue(user, app, true, false);
160         }
161
162         @Test
163         public void setPersUserAppValueNewTest() {
164                 EPApp app = getApp();
165                 app.setOpen(false);
166                 EPUser user = mockUser.mockEPUser();
167                 List<PersUserAppSelection> persUserAppSelectionList = new ArrayList<>();
168                 PersUserAppSelection persUserAppSelection = new PersUserAppSelection();
169                 persUserAppSelection.setId((long) 1);
170                 persUserAppSelectionList.add(persUserAppSelection);
171                 Mockito.when(dataAccessService.getList(PersUserAppSelection.class, "test", null, null))
172                                 .thenReturn(persUserAppSelectionList);
173                 Mockito.doNothing().when(dataAccessService).saveDomainObject(persUserAppSelection, null);
174                 Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
175                 List<EPUserApp> roles = new ArrayList<>();
176                 EPUserApp epUserApp = new EPUserApp();
177                 roles.add(epUserApp);
178                 Mockito.when(userRolesService.getCachedAppRolesForUser(app.getId(), user.getId())).thenReturn(roles);
179                 persUserAppServiceImpl.setPersUserAppValue(user, app, false, false);
180         }
181 }