From af4909d865b53e0e06629c78ef2ace236c10b8cc Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 3 Dec 2023 15:13:47 +0100 Subject: [PATCH 1/2] Fix #2 - path problems in pp tests on windows --- .../postprocessing/MoveDirectoryTest.java | 19 +++++++++-------- .../postprocessing/MoveSingleFileTest.java | 21 ++++++++++--------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/common/src/test/java/ctbrec/recorder/postprocessing/MoveDirectoryTest.java b/common/src/test/java/ctbrec/recorder/postprocessing/MoveDirectoryTest.java index 3ea2c1d2..e2058190 100644 --- a/common/src/test/java/ctbrec/recorder/postprocessing/MoveDirectoryTest.java +++ b/common/src/test/java/ctbrec/recorder/postprocessing/MoveDirectoryTest.java @@ -1,8 +1,9 @@ package ctbrec.recorder.postprocessing; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; +import ctbrec.Config; +import ctbrec.Model; +import ctbrec.Recording; +import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; @@ -10,11 +11,9 @@ import java.nio.file.Files; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.junit.jupiter.api.Test; - -import ctbrec.Config; -import ctbrec.Model; -import ctbrec.Recording; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; class MoveDirectoryTest extends AbstractPpTest { @@ -30,7 +29,9 @@ class MoveDirectoryTest extends AbstractPpTest { pp.getConfig().put(Move.PATH_TEMPLATE, new File(baseDir.toFile(), Move.DEFAULT).getAbsolutePath()); pp.postprocess(createPostProcessingContext(rec, recordingManager, config)); - Matcher m = Pattern.compile(baseDir.toString() + "/Mockita_Boobilicious/\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}/original").matcher(rec.getAbsoluteFile().getCanonicalPath()); + String fileSepator = Pattern.quote(File.separator); + String regex = Pattern.quote(baseDir.toString()) + fileSepator + "Mockita_Boobilicious" + fileSepator + "\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}" + fileSepator + "original"; + Matcher m = Pattern.compile(regex).matcher(rec.getAbsoluteFile().getCanonicalPath()); assertTrue(m.matches()); assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile()); assertNotEquals(rec.getAbsoluteFile(), original); diff --git a/common/src/test/java/ctbrec/recorder/postprocessing/MoveSingleFileTest.java b/common/src/test/java/ctbrec/recorder/postprocessing/MoveSingleFileTest.java index e6cea17b..d7bd31b4 100644 --- a/common/src/test/java/ctbrec/recorder/postprocessing/MoveSingleFileTest.java +++ b/common/src/test/java/ctbrec/recorder/postprocessing/MoveSingleFileTest.java @@ -1,19 +1,18 @@ package ctbrec.recorder.postprocessing; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; +import ctbrec.Config; +import ctbrec.Model; +import ctbrec.Recording; +import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.junit.jupiter.api.Test; - -import ctbrec.Config; -import ctbrec.Model; -import ctbrec.Recording; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; class MoveSingleFileTest extends AbstractPpTest { @@ -30,7 +29,9 @@ class MoveSingleFileTest extends AbstractPpTest { pp.getConfig().put(Move.PATH_TEMPLATE, new File(baseDir.toFile(), Move.DEFAULT).getAbsolutePath()); pp.postprocess(createPostProcessingContext(rec, recordingManager, config)); - Matcher m = Pattern.compile(baseDir.toFile() + "/Mockita_Boobilicious/\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}/original\\.ts").matcher(rec.getAbsoluteFile().toString()); + String fileSepator = Pattern.quote(File.separator); + String regex = Pattern.quote(baseDir.toString()) + fileSepator + "Mockita_Boobilicious" + fileSepator + "\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}" + fileSepator + "original\\.ts"; + Matcher m = Pattern.compile(regex).matcher(rec.getAbsoluteFile().getCanonicalPath()); assertTrue(m.matches()); assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile()); assertNotEquals(rec.getAbsoluteFile(), original); @@ -72,6 +73,6 @@ class MoveSingleFileTest extends AbstractPpTest { assertEquals("move", pp.toString()); pp.getConfig().put(Move.PATH_TEMPLATE, Move.DEFAULT); - assertEquals("move ["+Move.DEFAULT+"]", pp.toString()); + assertEquals("move [" + Move.DEFAULT + "]", pp.toString()); } } From f3039b6b556d034396587ddb4b8a51526301eefc Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 3 Dec 2023 15:34:58 +0100 Subject: [PATCH 2/2] Fix path problems in ObjectMapperRecordingTest on windows --- .../ctbrec/io/json/ObjectMapperRecordingTest.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/common/src/test/java/ctbrec/io/json/ObjectMapperRecordingTest.java b/common/src/test/java/ctbrec/io/json/ObjectMapperRecordingTest.java index 6095bf27..b87d5d8c 100644 --- a/common/src/test/java/ctbrec/io/json/ObjectMapperRecordingTest.java +++ b/common/src/test/java/ctbrec/io/json/ObjectMapperRecordingTest.java @@ -7,7 +7,8 @@ import ctbrec.io.json.dto.RecordingDto; import org.json.JSONObject; import org.junit.jupiter.api.Test; -import java.io.File; +import java.io.IOException; +import java.nio.file.FileSystems; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.Set; @@ -19,7 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; class ObjectMapperRecordingTest { @Test - void recordingToJson() throws JsonProcessingException { + void recordingToJson() throws IOException { RecordingDto rec = prepareRecording(); ObjectMapper mapper = ObjectMapperFactory.getMapper(); @@ -36,7 +37,7 @@ class ObjectMapperRecordingTest { assertEquals(rec.isPinned(), j.getBoolean("pinned")); assertEquals(rec.getNote(), j.getString("note")); assertTrue(j.getJSONArray("associatedFiles").toList().containsAll(Set.of("a", "b", "c"))); - assertEquals(rec.getAbsoluteFile().toString(), j.getString("absoluteFile")); + assertEquals(rec.getAbsoluteFile().getCanonicalPath(), j.getString("absoluteFile")); assertEquals(rec.getPostProcessedFile().toString(), j.getString("postProcessedFile")); assertEquals(rec.getSelectedResolution(), j.getInt("selectedResolution")); } @@ -52,19 +53,20 @@ class ObjectMapperRecordingTest { } private RecordingDto prepareRecording() { + String root = FileSystems.getDefault().getRootDirectories().iterator().next().toString(); RecordingDto recording = new RecordingDto(); recording.setId(UUID.randomUUID().toString()); recording.setStartDate(Instant.now().truncatedTo(ChronoUnit.MILLIS)); recording.setStatus(Recording.State.RECORDING); recording.setProgress(42); recording.setSizeInByte(23456789); - recording.setMetaDataFile("/tmp/meta.json"); + recording.setMetaDataFile(FileSystems.getDefault().getPath(root, "tmp", "meta.json").toString()); recording.setSingleFile(true); recording.setPinned(true); recording.setNote("note"); recording.setAssociatedFiles(Set.of("a", "b", "c")); - recording.setAbsoluteFile(new File("/tmp/test.rec.ts")); - recording.setPostProcessedFile(new File("/tmp/pp.ts")); + recording.setAbsoluteFile(FileSystems.getDefault().getPath(root, "tmp", "test.rec.ts").toFile()); + recording.setPostProcessedFile(FileSystems.getDefault().getPath(root, "tmp", "pp.ts").toFile()); recording.setSelectedResolution(2); return recording; }