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));
     }
 }

Reply via email to