|
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