Skip to content

Commit eded290

Browse files
committed
test: cover null input behavior in facade API
1 parent 8113ed2 commit eded290

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

src/test/java/me/tamkungz/codecmedia/CodecMediaFacadeTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import static org.junit.jupiter.api.Assertions.assertEquals;
1313
import static org.junit.jupiter.api.Assertions.assertFalse;
1414
import static org.junit.jupiter.api.Assertions.assertNotNull;
15+
import static org.junit.jupiter.api.Assertions.assertThrows;
1516
import static org.junit.jupiter.api.Assertions.assertTrue;
1617
import org.junit.jupiter.api.Test;
1718
import org.junit.jupiter.params.ParameterizedTest;
@@ -84,6 +85,21 @@ void validate_shouldFailWhenFileMissing() throws Exception {
8485
assertTrue(result.errors().stream().anyMatch(e -> e.contains("does not exist")));
8586
}
8687

88+
@Test
89+
void validate_shouldFailWhenInputIsNull() throws Exception {
90+
CodecMediaEngine engine = CodecMedia.createDefault();
91+
var result = engine.validate(null, null);
92+
assertFalse(result.valid());
93+
assertTrue(result.errors().stream().anyMatch(e -> e.contains("Input file is required")));
94+
}
95+
96+
@Test
97+
void probe_shouldRejectNullInputPath() {
98+
CodecMediaEngine engine = CodecMedia.createDefault();
99+
CodecMediaException ex = assertThrows(CodecMediaException.class, () -> engine.probe(null));
100+
assertTrue(ex.getMessage().contains("Input file is required"));
101+
}
102+
87103
@Test
88104
void writeAndReadMetadata_shouldRoundTripViaSidecar() throws Exception {
89105
CodecMediaEngine engine = CodecMedia.createDefault();

0 commit comments

Comments
 (0)