|
91 | 91 | import org.apache.cloudstack.framework.config.impl.ConfigDepotImpl; |
92 | 92 | import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; |
93 | 93 | import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; |
| 94 | +import org.apache.cloudstack.framework.jobs.AsyncJobManager; |
94 | 95 | import org.apache.cloudstack.framework.jobs.impl.AsyncJobVO; |
95 | 96 | import org.junit.After; |
96 | 97 | import org.junit.Assert; |
@@ -241,6 +242,9 @@ public class BackupManagerTest { |
241 | 242 | @Mock |
242 | 243 | private GuestOSDao _guestOSDao; |
243 | 244 |
|
| 245 | + @Mock |
| 246 | + AsyncJobManager asyncJobManager; |
| 247 | + |
244 | 248 | private Gson gson; |
245 | 249 |
|
246 | 250 | private String[] hostPossibleValues = {"127.0.0.1", "hostname"}; |
@@ -1489,6 +1493,7 @@ public void testDeleteBackupVmNotFound() { |
1489 | 1493 | when(backup.getAccountId()).thenReturn(accountId); |
1490 | 1494 | when(backup.getBackupOfferingId()).thenReturn(backupOfferingId); |
1491 | 1495 | when(backup.getSize()).thenReturn(100L); |
| 1496 | + when(backup.getUuid()).thenReturn("backup-uuid"); |
1492 | 1497 |
|
1493 | 1498 | overrideBackupFrameworkConfigValue(); |
1494 | 1499 |
|
@@ -1523,6 +1528,29 @@ public void testDeleteBackupVmNotFound() { |
1523 | 1528 | } |
1524 | 1529 | } |
1525 | 1530 |
|
| 1531 | + @Test(expected = CloudRuntimeException.class) |
| 1532 | + public void testDeleteBackupBlockedByPendingJobs() { |
| 1533 | + Long backupId = 1L; |
| 1534 | + Long vmId = 2L; |
| 1535 | + |
| 1536 | + BackupVO backup = mock(BackupVO.class); |
| 1537 | + when(backup.getVmId()).thenReturn(vmId); |
| 1538 | + when(backup.getUuid()).thenReturn("backup-uuid"); |
| 1539 | + when(backupDao.findByIdIncludingRemoved(backupId)).thenReturn(backup); |
| 1540 | + |
| 1541 | + VMInstanceVO vm = mock(VMInstanceVO.class); |
| 1542 | + when(vmInstanceDao.findByIdIncludingRemoved(vmId)).thenReturn(vm); |
| 1543 | + |
| 1544 | + overrideBackupFrameworkConfigValue(); |
| 1545 | + |
| 1546 | + when(asyncJobManager.countPendingJobs("backup-uuid", |
| 1547 | + "org.apache.cloudstack.api.command.user.vm.CreateVMFromBackupCmd", |
| 1548 | + "org.apache.cloudstack.api.command.admin.vm.CreateVMFromBackupCmdByAdmin", |
| 1549 | + "org.apache.cloudstack.api.command.user.backup.RestoreBackupCmd")).thenReturn(1L); |
| 1550 | + |
| 1551 | + backupManager.deleteBackup(backupId, false); |
| 1552 | + } |
| 1553 | + |
1526 | 1554 | @Test |
1527 | 1555 | public void testNewBackupResponse() { |
1528 | 1556 | Long vmId = 1L; |
|
0 commit comments