Repository: cloudstack Updated Branches: refs/heads/master 4cb3e553d -> e24bf73a9
new testcase for AccountManagerImpl.deleteUserAccount Signed-off-by: Laszlo Hornyak <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e24bf73a Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e24bf73a Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e24bf73a Branch: refs/heads/master Commit: e24bf73a96897425a8c24fac8f296345c6a6f3e5 Parents: 9411e45 Author: Laszlo Hornyak <[email protected]> Authored: Tue Apr 22 22:43:19 2014 +0200 Committer: Laszlo Hornyak <[email protected]> Committed: Tue Apr 22 22:47:05 2014 +0200 ---------------------------------------------------------------------- .../com/cloud/user/AccountManagerImplTest.java | 35 +++++++++++++++++--- 1 file changed, 31 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e24bf73a/server/test/com/cloud/user/AccountManagerImplTest.java ---------------------------------------------------------------------- diff --git a/server/test/com/cloud/user/AccountManagerImplTest.java b/server/test/com/cloud/user/AccountManagerImplTest.java index e0b7b4b..44bb954 100644 --- a/server/test/com/cloud/user/AccountManagerImplTest.java +++ b/server/test/com/cloud/user/AccountManagerImplTest.java @@ -73,6 +73,7 @@ import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserAccountDao; import com.cloud.user.dao.UserDao; import com.cloud.vm.UserVmManager; +import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachineManager; import com.cloud.vm.dao.DomainRouterDao; @@ -242,7 +243,7 @@ public class AccountManagerImplTest { } @Test - public void deleteAccount() { + public void deleteUserAccount() { AccountVO account = new AccountVO(); account.setId(42l); Mockito.when(_accountDao.findById(42l)).thenReturn(account); @@ -252,9 +253,35 @@ public class AccountManagerImplTest { Mockito.any(ControlledEntity[].class))) .thenReturn(true); Mockito.when(_accountDao.remove(42l)).thenReturn(true); - Mockito.when(_configMgr.releaseAccountSpecificVirtualRanges(42l)).thenReturn(true); + Mockito.when(_configMgr.releaseAccountSpecificVirtualRanges(42l)) + .thenReturn(true); + Assert.assertTrue(accountManager.deleteUserAccount(42)); + // assert that this was a clean delete + Mockito.verify(_accountDao, Mockito.never()).markForCleanup( + Mockito.eq(42l)); + } + + @Test + public void deleteUserAccountCleanup() { + AccountVO account = new AccountVO(); + account.setId(42l); + Mockito.when(_accountDao.findById(42l)).thenReturn(account); + Mockito.when( + securityChecker.checkAccess(Mockito.any(Account.class), + Mockito.any(AccessType.class), Mockito.anyString(), + Mockito.any(ControlledEntity[].class))) + .thenReturn(true); + Mockito.when(_accountDao.remove(42l)).thenReturn(true); + Mockito.when(_configMgr.releaseAccountSpecificVirtualRanges(42l)) + .thenReturn(true); + Mockito.when(_userVmDao.listByAccountId(42l)).thenReturn( + Arrays.asList(Mockito.mock(UserVmVO.class))); + Mockito.when( + _vmMgr.expunge(Mockito.any(UserVmVO.class), Mockito.anyLong(), + Mockito.any(Account.class))).thenReturn(false); Assert.assertTrue(accountManager.deleteUserAccount(42)); - //assert that this was a clean delete - Mockito.verify(_accountDao, Mockito.never()).markForCleanup(Mockito.eq(42l)); + // assert that this was NOT a clean delete + Mockito.verify(_accountDao, Mockito.atLeastOnce()).markForCleanup( + Mockito.eq(42l)); } }
