Skip to content

Commit 9a2ba84

Browse files
author
Daman Arora
committed
Add test for handling null entries in secondary storage
1 parent d6bf807 commit 9a2ba84

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

services/secondary-storage/controller/src/test/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImplTest.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,45 @@ public void testAddSecondaryStorageServerAddressToBufferInvalidAddress() {
117117
runAddSecondaryStorageServerAddressToBufferTest(addresses, StringUtils.join(List.of(randomIp1, randomIp2), ","));
118118
}
119119

120+
@Test
121+
public void testAddSecondaryStorageServerAddressToBufferWithNullEntries() {
122+
String randomIp1 = InetAddresses.fromInteger(secureRandom.nextInt()).getHostAddress();
123+
String randomIp2 = InetAddresses.fromInteger(secureRandom.nextInt()).getHostAddress();
124+
125+
List<DataStore> dataStores = new ArrayList<>();
126+
127+
DataStore validStore1 = Mockito.mock(DataStore.class);
128+
DataStoreTO validStoreTO1 = Mockito.mock(DataStoreTO.class);
129+
when(validStoreTO1.getUrl()).thenReturn(String.format("http://%s", randomIp1));
130+
when(validStore1.getTO()).thenReturn(validStoreTO1);
131+
dataStores.add(validStore1);
132+
133+
dataStores.add(null);
134+
135+
DataStore nullToStore = Mockito.mock(DataStore.class);
136+
when(nullToStore.getTO()).thenReturn(null);
137+
dataStores.add(nullToStore);
138+
139+
DataStore nullUrlStore = Mockito.mock(DataStore.class);
140+
DataStoreTO nullUrlStoreTO = Mockito.mock(DataStoreTO.class);
141+
when(nullUrlStoreTO.getUrl()).thenReturn(null);
142+
when(nullUrlStore.getTO()).thenReturn(nullUrlStoreTO);
143+
dataStores.add(nullUrlStore);
144+
145+
DataStore validStore2 = Mockito.mock(DataStore.class);
146+
DataStoreTO validStoreTO2 = Mockito.mock(DataStoreTO.class);
147+
when(validStoreTO2.getUrl()).thenReturn(String.format("http://%s", randomIp2));
148+
when(validStore2.getTO()).thenReturn(validStoreTO2);
149+
dataStores.add(validStore2);
150+
151+
StringBuilder builder = new StringBuilder();
152+
secondaryStorageManager.addSecondaryStorageServerAddressToBuffer(builder, dataStores, "VM");
153+
String result = builder.toString();
154+
result = result.contains("=") ? result.split("=")[1] : null;
155+
156+
assertEquals(StringUtils.join(List.of(randomIp1, randomIp2), ","), result);
157+
}
158+
120159
@Test
121160
public void testCreateSecondaryStorageVm_New() {
122161
long dataCenterId = 1L;

0 commit comments

Comments
 (0)