private Collection<WorkUnit> createMockSplitWorkUnits(FileSystem fs, long fileLen, long blockSize, long maxSplitSize)
throws Exception {
FileStatus file = mock(FileStatus.class);
when(file.getLen()).thenReturn(fileLen);
when(file.getBlockSize()).thenReturn(blockSize);
URI uri = new URI("hdfs", "dummyhost", "/test", "test");
Path path = new Path(uri);
when(fs.getUri()).thenReturn(uri);
CopyableDatasetMetadata cdm = new CopyableDatasetMetadata(new TestCopyableDataset(path));
CopyableFile cf = CopyableFileUtils.getTestCopyableFile();
CopyableFile spy = spy(cf);
doReturn(file).when(spy).getFileStatus();
doReturn(blockSize).when(spy).getBlockSize(any(FileSystem.class));
doReturn(path).when(spy).getDestination();
WorkUnit wu = WorkUnit.createEmpty();
wu.setProp(DistcpFileSplitter.MAX_SPLIT_SIZE_KEY, maxSplitSize);
wu.setProp(ForkOperatorUtils.getPropertyNameForBranch(ConfigurationKeys.WRITER_OUTPUT_DIR, 1, 0),
path.toString());
CopySource.setWorkUnitGuid(wu, Guid.fromStrings(wu.toString()));
CopySource.serializeCopyEntity(wu, cf);
CopySource.serializeCopyableDataset(wu, cdm);
return DistcpFileSplitter.splitFile(spy, wu, fs);
}