Skip to content

Commit 56306ab

Browse files
committed
Merge remote-tracking branch 'apache/4.20' into 4.22
2 parents c4c9731 + 454bba0 commit 56306ab

2 files changed

Lines changed: 27 additions & 4 deletions

File tree

‎server/src/main/java/com/cloud/api/query/dao/VolumeJoinDaoImpl.java‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,13 @@ protected VolumeJoinDaoImpl() {
7777
_count = "select count(distinct id) from volume_view WHERE ";
7878
}
7979

80+
protected void setThrottleRates(VolumeResponse volResponse, VolumeJoinVO volume) {
81+
volResponse.setBytesReadRate(volume.getBytesReadRate());
82+
volResponse.setBytesWriteRate(volume.getBytesWriteRate());
83+
volResponse.setIopsReadRate(volume.getIopsReadRate());
84+
volResponse.setIopsWriteRate(volume.getIopsWriteRate());
85+
}
86+
8087
@Override
8188
public VolumeResponse newVolumeResponse(ResponseView view, VolumeJoinVO volume) {
8289
VolumeResponse volResponse = new VolumeResponse();
@@ -206,10 +213,7 @@ public VolumeResponse newVolumeResponse(ResponseView view, VolumeJoinVO volume)
206213
if (view == ResponseView.Full) {
207214
volResponse.setStorageType(volume.isUseLocalStorage() ? ServiceOffering.StorageType.local.toString() : ServiceOffering.StorageType.shared.toString());
208215
}
209-
volResponse.setBytesReadRate(volume.getBytesReadRate());
210-
volResponse.setBytesWriteRate(volume.getBytesReadRate());
211-
volResponse.setIopsReadRate(volume.getIopsWriteRate());
212-
volResponse.setIopsWriteRate(volume.getIopsWriteRate());
216+
setThrottleRates(volResponse, volume);
213217

214218
}
215219

‎server/src/test/java/com/cloud/api/query/dao/VolumeJoinDaoImplTest.java‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818

1919
import com.cloud.api.query.vo.VolumeJoinVO;
2020
import org.apache.cloudstack.api.response.VolumeResponse;
21+
import org.junit.Assert;
2122
import org.junit.Before;
2223
import org.junit.Test;
2324
import org.junit.runner.RunWith;
2425
import org.mockito.InjectMocks;
26+
import org.mockito.Mockito;
2527
import org.mockito.junit.MockitoJUnitRunner;
2628

2729
@RunWith(MockitoJUnitRunner.class)
@@ -43,4 +45,21 @@ public void testUpdateVolumeTagInfo(){
4345
testUpdateTagInformation(_volumeJoinDaoImpl, volume, volumeResponse);
4446
}
4547

48+
@Test
49+
public void testSetThrottleRatesMapsReadAndWriteDistinctly() {
50+
VolumeJoinVO vol = Mockito.mock(VolumeJoinVO.class);
51+
Mockito.when(vol.getBytesReadRate()).thenReturn(100L);
52+
Mockito.when(vol.getBytesWriteRate()).thenReturn(200L);
53+
Mockito.when(vol.getIopsReadRate()).thenReturn(300L);
54+
Mockito.when(vol.getIopsWriteRate()).thenReturn(400L);
55+
56+
VolumeResponse response = new VolumeResponse();
57+
_volumeJoinDaoImpl.setThrottleRates(response, vol);
58+
59+
Assert.assertEquals(Long.valueOf(100L), response.getBytesReadRate());
60+
Assert.assertEquals(Long.valueOf(200L), response.getBytesWriteRate());
61+
Assert.assertEquals(Long.valueOf(300L), response.getIopsReadRate());
62+
Assert.assertEquals(Long.valueOf(400L), response.getIopsWriteRate());
63+
}
64+
4665
}

0 commit comments

Comments
 (0)