Skip to content

Commit 9894eff

Browse files
committed
Added UT to AlertManager, BackupDao, NasBackupProvider and BackupManager.
1 parent dd45cfe commit 9894eff

File tree

4 files changed

+514
-0
lines changed

4 files changed

+514
-0
lines changed
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
package org.apache.cloudstack.backup.dao;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
import org.apache.cloudstack.api.response.BackupResponse;
7+
import org.apache.cloudstack.backup.Backup;
8+
import org.apache.cloudstack.backup.BackupOfferingVO;
9+
import org.apache.cloudstack.backup.BackupVO;
10+
import org.junit.Assert;
11+
import org.junit.Test;
12+
import org.junit.runner.RunWith;
13+
import org.mockito.InjectMocks;
14+
import org.mockito.Mock;
15+
import org.mockito.Mockito;
16+
import org.mockito.Spy;
17+
import org.mockito.junit.MockitoJUnitRunner;
18+
import org.springframework.test.util.ReflectionTestUtils;
19+
20+
import com.cloud.dc.DataCenter;
21+
import com.cloud.dc.DataCenterVO;
22+
import com.cloud.dc.dao.DataCenterDao;
23+
import com.cloud.domain.DomainVO;
24+
import com.cloud.domain.dao.DomainDao;
25+
import com.cloud.hypervisor.Hypervisor;
26+
import com.cloud.user.AccountVO;
27+
import com.cloud.user.dao.AccountDao;
28+
import com.cloud.utils.db.SearchBuilder;
29+
import com.cloud.vm.VMInstanceVO;
30+
import com.cloud.vm.VirtualMachine;
31+
import com.cloud.vm.dao.VMInstanceDao;
32+
33+
@RunWith(MockitoJUnitRunner.class)
34+
public class BackupDaoImplTest {
35+
@Spy
36+
@InjectMocks
37+
private BackupDaoImpl backupDao;
38+
39+
@Mock
40+
BackupDetailsDao backupDetailsDao;
41+
42+
@Mock
43+
SearchBuilder<BackupVO> backupSearch;
44+
45+
@Mock
46+
VMInstanceDao vmInstanceDao;
47+
48+
@Mock
49+
AccountDao accountDao;
50+
51+
@Mock
52+
DomainDao domainDao;
53+
54+
@Mock
55+
DataCenterDao dataCenterDao;
56+
57+
@Mock
58+
BackupOfferingDao backupOfferingDao;
59+
60+
@Test
61+
public void testLoadDetails() {
62+
Long backupId = 1L;
63+
BackupVO backup = new BackupVO();
64+
ReflectionTestUtils.setField(backup, "id", backupId);
65+
Map<String, String> details = new HashMap<>();
66+
details.put("key1", "value1");
67+
details.put("key2", "value2");
68+
69+
Mockito.when(backupDetailsDao.listDetailsKeyPairs(backupId)).thenReturn(details);
70+
71+
backupDao.loadDetails(backup);
72+
73+
Assert.assertEquals(details, backup.getDetails());
74+
Mockito.verify(backupDetailsDao).listDetailsKeyPairs(backupId);
75+
}
76+
77+
@Test
78+
public void testSaveDetails() {
79+
Long backupId = 1L;
80+
BackupVO backup = new BackupVO();
81+
ReflectionTestUtils.setField(backup, "id", backupId);
82+
Map<String, String> details = new HashMap<>();
83+
details.put("key1", "value1");
84+
details.put("key2", "value2");
85+
backup.setDetails(details);
86+
87+
backupDao.saveDetails(backup);
88+
89+
Mockito.verify(backupDetailsDao).saveDetails(Mockito.anyList());
90+
}
91+
92+
@Test
93+
public void testNewBackupResponse() {
94+
Long vmId = 1L;
95+
Long accountId = 2L;
96+
Long domainId = 3L;
97+
Long zoneId = 4L;
98+
Long offeringId = 5L;
99+
Long backupId = 6L;
100+
BackupVO backup = new BackupVO();
101+
ReflectionTestUtils.setField(backup, "id", backupId);
102+
ReflectionTestUtils.setField(backup, "uuid", "backup-uuid");
103+
backup.setVmId(vmId);
104+
backup.setAccountId(accountId);
105+
backup.setDomainId(domainId);
106+
backup.setZoneId(zoneId);
107+
backup.setBackupOfferingId(offeringId);
108+
backup.setType("Full");
109+
backup.setBackupIntervalType((short) Backup.Type.MANUAL.ordinal());
110+
111+
VMInstanceVO vm = new VMInstanceVO(vmId, 0L, "test-vm", "test-vm", VirtualMachine.Type.User,
112+
0L, Hypervisor.HypervisorType.Simulator, 0L, domainId, accountId, 0L, false);
113+
vm.setDataCenterId(zoneId);
114+
115+
AccountVO account = new AccountVO();
116+
account.setUuid("account-uuid");
117+
account.setAccountName("test-account");
118+
119+
DomainVO domain = new DomainVO();
120+
domain.setUuid("domain-uuid");
121+
domain.setName("test-domain");
122+
123+
DataCenterVO zone = new DataCenterVO(1L, "test-zone", null, null, null, null, null, null, null, null, DataCenter.NetworkType.Advanced, null, null);
124+
zone.setUuid("zone-uuid");
125+
126+
BackupOfferingVO offering = Mockito.mock(BackupOfferingVO.class);
127+
Mockito.when(offering.getUuid()).thenReturn("offering-uuid");
128+
Mockito.when(offering.getName()).thenReturn("test-offering");
129+
130+
Mockito.when(vmInstanceDao.findByIdIncludingRemoved(vmId)).thenReturn(vm);
131+
Mockito.when(accountDao.findByIdIncludingRemoved(accountId)).thenReturn(account);
132+
Mockito.when(domainDao.findByIdIncludingRemoved(domainId)).thenReturn(domain);
133+
Mockito.when(dataCenterDao.findByIdIncludingRemoved(zoneId)).thenReturn(zone);
134+
Mockito.when(backupOfferingDao.findByIdIncludingRemoved(offeringId)).thenReturn(offering);
135+
136+
BackupResponse response = backupDao.newBackupResponse(backup, false);
137+
138+
Assert.assertEquals("backup-uuid", response.getId());
139+
Assert.assertEquals("test-vm", response.getVmName());
140+
Assert.assertEquals("account-uuid", response.getAccountId());
141+
Assert.assertEquals("test-account", response.getAccount());
142+
Assert.assertEquals("domain-uuid", response.getDomainId());
143+
Assert.assertEquals("test-domain", response.getDomain());
144+
Assert.assertEquals("zone-uuid", response.getZoneId());
145+
Assert.assertEquals("test-zone", response.getZone());
146+
Assert.assertEquals("offering-uuid", response.getBackupOfferingId());
147+
Assert.assertEquals("test-offering", response.getBackupOffering());
148+
Assert.assertEquals("MANUAL", response.getIntervalType());
149+
}
150+
}

0 commit comments

Comments
 (0)