use of alluxio.hub.proto.SpeedStat in project alluxio by Alluxio.
the class ManagerProcessContextTest method testSpeedTest.
@Test
public void testSpeedTest() throws Exception {
UfsIOBench bench = Mockito.mock(UfsIOBench.class);
FileSystem mockFs = Mockito.mock(FileSystem.class);
doReturn(mockFs).when(mContext).getFileSystem();
doReturn(bench).when(mContext).getIOBench();
Map<String, MountPointInfo> mt = new HashMap<>();
MountPointInfo info = new MountPointInfo().setMountId(1).setReadOnly(true).setUfsType("hdfs").setUfsUri("hdfs://localhost:9000");
mt.put("/", info);
doReturn(mt).when(mockFs).getMountTable();
IOTaskSummary summ = new IOTaskSummary();
IOTaskSummary.SpeedStat read = generateSpeedStat();
IOTaskSummary.SpeedStat write = generateSpeedStat();
summ.setReadSpeedStat(read);
summ.setWriteSpeedStat(write);
doReturn(summ.toJson()).when(bench).run(any());
SpeedTestResponse.Payload resp = mContext.speedTest(SpeedTestRequest.newBuilder().setPayload(SpeedTestRequest.Payload.newBuilder().setMountPoint("/").setPath("bbb").setClusterParallelism(0).setNodeParallelism(0).setDataSize("1m")).build());
SpeedStat readResp = resp.getReadSpeedStat();
SpeedStat writeResp = resp.getWriteSpeedStat();
List<String> errResp = resp.getErrorList();
SpeedTestParameter params = resp.getParameters();
assertEquals(read.mAvgSpeedMbps, readResp.getAvgSpeedMbps(), 1E-10);
assertEquals(read.mMinSpeedMbps, readResp.getMinSpeedMbps(), 1E-10);
assertEquals(read.mMaxSpeedMbps, readResp.getMaxSpeedMbps(), 1E-10);
assertEquals(read.mStdDev, readResp.getStdDev(), 1E-10);
assertEquals(read.mTotalDurationSeconds, readResp.getTotalDurationSeconds(), 1E-10);
assertEquals(read.mTotalSizeBytes, readResp.getTotalSizeBytes(), 1E-10);
assertEquals(write.mAvgSpeedMbps, writeResp.getAvgSpeedMbps(), 1E-10);
assertEquals(write.mMinSpeedMbps, writeResp.getMinSpeedMbps(), 1E-10);
assertEquals(write.mMaxSpeedMbps, writeResp.getMaxSpeedMbps(), 1E-10);
assertEquals(write.mStdDev, writeResp.getStdDev(), 1E-10);
assertEquals(write.mTotalDurationSeconds, writeResp.getTotalDurationSeconds(), 1E-10);
assertEquals(write.mTotalSizeBytes, writeResp.getTotalSizeBytes(), 1E-10);
assertEquals(0, errResp.size());
summ.setErrors(Collections.singletonList("testErr"));
doReturn(summ.toJson()).when(bench).run(any());
resp = mContext.speedTest(SpeedTestRequest.newBuilder().setPayload(SpeedTestRequest.Payload.newBuilder().setMountPoint("/").setPath("bbb").setClusterParallelism(0).setNodeParallelism(0).setDataSize("1m")).build());
errResp = resp.getErrorList();
assertEquals(1, errResp.size());
assertEquals("testErr", errResp.get(0));
}
Aggregations