|
53 | 53 | import org.apache.cloudstack.framework.config.dao.ConfigurationDao; |
54 | 54 | import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; |
55 | 55 | import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; |
| 56 | +import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao; |
| 57 | +import org.apache.cloudstack.storage.datastore.db.StoragePoolVO; |
56 | 58 | import org.apache.log4j.Logger; |
57 | 59 | import org.junit.After; |
58 | 60 | import org.junit.Assert; |
|
104 | 106 | import com.cloud.network.dao.PhysicalNetworkDao; |
105 | 107 | import com.cloud.network.dao.PhysicalNetworkVO; |
106 | 108 | import com.cloud.projects.ProjectManager; |
| 109 | +import com.cloud.storage.dao.DiskOfferingDao; |
| 110 | +import com.cloud.storage.dao.StoragePoolTagsDao; |
107 | 111 | import com.cloud.storage.DiskOfferingVO; |
108 | 112 | import com.cloud.storage.VolumeVO; |
109 | 113 | import com.cloud.storage.dao.VolumeDao; |
@@ -186,6 +190,16 @@ public class ConfigurationManagerTest { |
186 | 190 | @Mock |
187 | 191 | DiskOfferingVO diskOfferingVOMock; |
188 | 192 | @Mock |
| 193 | + PrimaryDataStoreDao primaryDataStoreDao; |
| 194 | + @Mock |
| 195 | + StoragePoolTagsDao storagePoolTagsDao; |
| 196 | + @Mock |
| 197 | + DiskOfferingDao diskOfferingDao; |
| 198 | + @Mock |
| 199 | + VolumeVO volumeVO; |
| 200 | + @Mock |
| 201 | + StoragePoolVO storagePoolVO; |
| 202 | + @Mock |
189 | 203 | DataCenterGuestIpv6PrefixDao dataCenterGuestIpv6PrefixDao; |
190 | 204 | @Mock |
191 | 205 | Ipv6GuestPrefixSubnetNetworkMapDao ipv6GuestPrefixSubnetNetworkMapDao; |
@@ -1023,6 +1037,52 @@ public void updateDiskOfferingTagsIfIsNotNullTestWhenTagsIsNotNull(){ |
1023 | 1037 | Mockito.verify(configurationMgr, Mockito.times(1)).updateOfferingTagsIfIsNotNull(tags, diskOfferingVOMock); |
1024 | 1038 | } |
1025 | 1039 |
|
| 1040 | + @Test (expected = InvalidParameterValueException.class) |
| 1041 | + public void updateDiskOfferingTagsWithPrimaryStorageTagsEqualNullTestThrowException(){ |
| 1042 | + String tags = "tags"; |
| 1043 | + List<String> storageTagsNull = new ArrayList<>(); |
| 1044 | + List<StoragePoolVO> pools = new ArrayList<>(Arrays.asList(storagePoolVO)); |
| 1045 | + List<VolumeVO> volumes = new ArrayList<>(Arrays.asList(volumeVO)); |
| 1046 | + |
| 1047 | + Mockito.when(primaryDataStoreDao.listStoragePoolsWithActiveVolumesByOfferingId(anyLong())).thenReturn(pools); |
| 1048 | + Mockito.when(storagePoolTagsDao.getStoragePoolTags(anyLong())).thenReturn(storageTagsNull); |
| 1049 | + Mockito.when(diskOfferingDao.findById(anyLong())).thenReturn(diskOfferingVOMock); |
| 1050 | + Mockito.when(_volumeDao.findByDiskOfferingId(anyLong())).thenReturn(volumes); |
| 1051 | + |
| 1052 | + this.configurationMgr.updateOfferingTagsIfIsNotNull(tags, diskOfferingVOMock); |
| 1053 | + } |
| 1054 | + |
| 1055 | + @Test (expected = InvalidParameterValueException.class) |
| 1056 | + public void updateDiskOfferingTagsWithPrimaryStorageMissingTagsTestThrowException(){ |
| 1057 | + String tags = "tag1,tag2"; |
| 1058 | + List<String> storageTagsWithMissingTag = new ArrayList<>(Arrays.asList("tag1")); |
| 1059 | + List<StoragePoolVO> pools = new ArrayList<>(Arrays.asList(storagePoolVO)); |
| 1060 | + List<VolumeVO> volumes = new ArrayList<>(Arrays.asList(volumeVO)); |
| 1061 | + |
| 1062 | + Mockito.when(primaryDataStoreDao.listStoragePoolsWithActiveVolumesByOfferingId(anyLong())).thenReturn(pools); |
| 1063 | + Mockito.when(storagePoolTagsDao.getStoragePoolTags(anyLong())).thenReturn(storageTagsWithMissingTag); |
| 1064 | + Mockito.when(diskOfferingDao.findById(anyLong())).thenReturn(diskOfferingVOMock); |
| 1065 | + Mockito.when(_volumeDao.findByDiskOfferingId(anyLong())).thenReturn(volumes); |
| 1066 | + |
| 1067 | + this.configurationMgr.updateOfferingTagsIfIsNotNull(tags, diskOfferingVOMock); |
| 1068 | + } |
| 1069 | + |
| 1070 | + @Test |
| 1071 | + public void updateDiskOfferingTagsWithPrimaryStorageWithCorrectTagsTestSuccess(){ |
| 1072 | + String tags = "tag1,tag2"; |
| 1073 | + List<String> storageTagsWithCorrectTags = new ArrayList<>(Arrays.asList("tag1","tag2")); |
| 1074 | + List<StoragePoolVO> pools = new ArrayList<>(Arrays.asList(storagePoolVO)); |
| 1075 | + List<VolumeVO> volumes = new ArrayList<>(Arrays.asList(volumeVO)); |
| 1076 | + |
| 1077 | + Mockito.when(primaryDataStoreDao.listStoragePoolsWithActiveVolumesByOfferingId(anyLong())).thenReturn(pools); |
| 1078 | + Mockito.when(storagePoolTagsDao.getStoragePoolTags(anyLong())).thenReturn(storageTagsWithCorrectTags); |
| 1079 | + Mockito.when(diskOfferingDao.findById(anyLong())).thenReturn(diskOfferingVOMock); |
| 1080 | + Mockito.when(_volumeDao.findByDiskOfferingId(anyLong())).thenReturn(volumes); |
| 1081 | + |
| 1082 | + this.configurationMgr.updateOfferingTagsIfIsNotNull(tags, diskOfferingVOMock); |
| 1083 | + Mockito.verify(diskOfferingVOMock, Mockito.times(1)).setTags(tags); |
| 1084 | + } |
| 1085 | + |
1026 | 1086 | @Test(expected = IllegalArgumentException.class) |
1027 | 1087 | public void testInvalidCreateDataCenterGuestIpv6Prefix() { |
1028 | 1088 | CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class); |
|
0 commit comments