1
0

[HUDI-3348] Add UT to verify HoodieRealtimeFileSplit serde (#4951)

This commit is contained in:
Raymond Xu
2022-03-03 23:19:16 -08:00
committed by GitHub
parent f449807630
commit b4362fac45

View File

@@ -18,11 +18,12 @@
package org.apache.hudi.hadoop.realtime;
import org.apache.hudi.common.model.HoodieLogFile;
import org.apache.hudi.common.util.Option;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.FileSplit;
import org.apache.hudi.common.model.HoodieLogFile;
import org.apache.hudi.common.util.Option;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -33,7 +34,11 @@ import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.stubbing.Answer;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
@@ -156,4 +161,18 @@ public class TestHoodieRealtimeFileSplit {
assertEquals(deltaLogPaths, read.getDeltaLogPaths());
assertEquals(split.toString(), read.toString());
}
@Test
public void testSerDe(@TempDir java.nio.file.Path tempDir) throws IOException {
final HoodieRealtimeFileSplit original = split;
java.nio.file.Path tempFilePath = tempDir.resolve("tmp.txt");
try (DataOutputStream out = new DataOutputStream(new FileOutputStream(tempFilePath.toFile()))) {
original.write(out);
}
HoodieRealtimeFileSplit deserialized = new HoodieRealtimeFileSplit();
try (DataInputStream in = new DataInputStream(new FileInputStream(tempFilePath.toFile()))) {
deserialized.readFields(in);
}
assertEquals(original.toString(), deserialized.toString());
}
}