|
34 | 34 | import com.cloud.vm.VMInstanceVO;
|
35 | 35 | import com.cloud.vm.snapshot.VMSnapshotVO;
|
36 | 36 | import org.apache.cloudstack.acl.SecurityChecker.AccessType;
|
| 37 | +import org.apache.cloudstack.api.command.admin.user.DeleteUserCmd; |
37 | 38 | import org.apache.cloudstack.api.command.admin.user.GetUserKeysCmd;
|
38 | 39 | import org.apache.cloudstack.api.command.admin.user.UpdateUserCmd;
|
39 | 40 | import org.apache.cloudstack.api.response.UserTwoFactorAuthenticationSetupResponse;
|
|
48 | 49 | import org.junit.runner.RunWith;
|
49 | 50 | import org.mockito.InOrder;
|
50 | 51 | import org.mockito.Mock;
|
| 52 | +import org.mockito.MockedStatic; |
51 | 53 | import org.mockito.Mockito;
|
52 | 54 | import org.mockito.junit.MockitoJUnitRunner;
|
53 | 55 |
|
@@ -91,6 +93,12 @@ public class AccountManagerImplTest extends AccountManagetImplTestBase {
|
91 | 93 | @Mock
|
92 | 94 | private Account accountMock;
|
93 | 95 |
|
| 96 | + @Mock |
| 97 | + private DomainVO domainVoMock; |
| 98 | + |
| 99 | + @Mock |
| 100 | + private AccountVO accountVoMock; |
| 101 | + |
94 | 102 | @Mock
|
95 | 103 | private ProjectAccountVO projectAccountVO;
|
96 | 104 | @Mock
|
@@ -190,6 +198,42 @@ public void deleteUserAccountCleanup() {
|
190 | 198 | Mockito.verify(_accountDao, Mockito.atLeastOnce()).markForCleanup(Mockito.eq(42l));
|
191 | 199 | }
|
192 | 200 |
|
| 201 | + @Test (expected = InvalidParameterValueException.class) |
| 202 | + public void deleteUserTestIfUserIdIsEqualToCallerIdShouldThrowException() { |
| 203 | + try (MockedStatic<CallContext> callContextMocked = Mockito.mockStatic(CallContext.class)) { |
| 204 | + DeleteUserCmd cmd = Mockito.mock(DeleteUserCmd.class); |
| 205 | + CallContext callContextMock = Mockito.mock(CallContext.class); |
| 206 | + callContextMocked.when(CallContext::current).thenReturn(callContextMock); |
| 207 | + |
| 208 | + Mockito.doReturn(userVoMock).when(callContextMock).getCallingUser(); |
| 209 | + Mockito.doReturn(1L).when(cmd).getId(); |
| 210 | + Mockito.doReturn(userVoMock).when(accountManagerImpl).getValidUserVO(Mockito.anyLong()); |
| 211 | + Mockito.doReturn(accountVoMock).when(_accountDao).findById(Mockito.anyLong()); |
| 212 | + Mockito.doReturn(domainVoMock).when(_domainDao).findById(Mockito.anyLong()); |
| 213 | + Mockito.doReturn(1L).when(userVoMock).getId(); |
| 214 | + |
| 215 | + accountManagerImpl.deleteUser(cmd); |
| 216 | + } |
| 217 | + } |
| 218 | + |
| 219 | + @Test |
| 220 | + public void deleteUserTestIfUserIdIsNotEqualToCallerIdShouldNotThrowException() { |
| 221 | + try (MockedStatic<CallContext> callContextMocked = Mockito.mockStatic(CallContext.class)) { |
| 222 | + DeleteUserCmd cmd = Mockito.mock(DeleteUserCmd.class); |
| 223 | + CallContext callContextMock = Mockito.mock(CallContext.class); |
| 224 | + callContextMocked.when(CallContext::current).thenReturn(callContextMock); |
| 225 | + |
| 226 | + Mockito.doReturn(userVoMock).when(callContextMock).getCallingUser(); |
| 227 | + Mockito.doReturn(1L).when(cmd).getId(); |
| 228 | + Mockito.doReturn(userVoMock).when(accountManagerImpl).getValidUserVO(Mockito.anyLong()); |
| 229 | + Mockito.doReturn(accountVoMock).when(_accountDao).findById(Mockito.anyLong()); |
| 230 | + Mockito.doReturn(2L).when(userVoMock).getId(); |
| 231 | + |
| 232 | + Mockito.doNothing().when(accountManagerImpl).checkAccountAndAccess(Mockito.any(), Mockito.any()); |
| 233 | + accountManagerImpl.deleteUser(cmd); |
| 234 | + } |
| 235 | + } |
| 236 | + |
193 | 237 | @Test
|
194 | 238 | public void testAuthenticateUser() throws UnknownHostException {
|
195 | 239 | Pair<Boolean, UserAuthenticator.ActionOnFailedAuthentication> successAuthenticationPair = new Pair<>(true, null);
|
|
0 commit comments