forked from j62/ctbrec
Add more tests
This commit is contained in:
parent
43de2c2620
commit
02814440d2
|
@ -0,0 +1,125 @@
|
||||||
|
package ctbrec.recorder.postprocessing;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.ZoneOffset;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import ctbrec.Config;
|
||||||
|
import ctbrec.Recording;
|
||||||
|
|
||||||
|
public class AbstractPlaceholderAwarePostProcessorTest extends AbstractPpTest {
|
||||||
|
|
||||||
|
Recording rec;
|
||||||
|
Config config;
|
||||||
|
Move placeHolderAwarePp;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Before
|
||||||
|
public void setup() throws IOException {
|
||||||
|
super.setup();
|
||||||
|
rec = new Recording();
|
||||||
|
rec.setModel(mockModel());
|
||||||
|
rec.setAbsoluteFile(original);
|
||||||
|
rec.setPostProcessedFile(postProcessed);
|
||||||
|
rec.setStartDate(now);
|
||||||
|
rec.setSingleFile(true);
|
||||||
|
config = mockConfig();
|
||||||
|
placeHolderAwarePp = new Move();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testModelNameReplacement() {
|
||||||
|
String input = "asdf_${modelName}_asdf";
|
||||||
|
assertEquals("asdf_Mockita Boobilicious_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
input = "asdf_${modelDisplayName}_asdf";
|
||||||
|
assertEquals("asdf_Mockita Boobilicious_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
input = "asdf_${modelSanitizedName}_asdf";
|
||||||
|
assertEquals("asdf_Mockita_Boobilicious_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSiteNameReplacement() {
|
||||||
|
String input = "asdf_${siteName}_asdf";
|
||||||
|
assertEquals("asdf_Chaturbate_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
input = "asdf_${siteSanitizedName}_asdf";
|
||||||
|
assertEquals("asdf_Chaturbate_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUtcTimeReplacement() {
|
||||||
|
String date = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss")
|
||||||
|
.withLocale(Locale.US)
|
||||||
|
.withZone(ZoneOffset.UTC)
|
||||||
|
.format(rec.getStartDate());
|
||||||
|
String input = "asdf_${utcDateTime}_asdf";
|
||||||
|
assertEquals("asdf_" + date + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
|
||||||
|
date = DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss")
|
||||||
|
.withLocale(Locale.US)
|
||||||
|
.withZone(ZoneOffset.UTC)
|
||||||
|
.format(rec.getStartDate());
|
||||||
|
input = "asdf_${utcDateTime(yyyyMMdd-HHmmss)}_asdf";
|
||||||
|
assertEquals("asdf_" + date + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testLocalTimeReplacement() {
|
||||||
|
String date = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss")
|
||||||
|
.withLocale(Locale.US)
|
||||||
|
.withZone(ZoneId.systemDefault())
|
||||||
|
.format(rec.getStartDate());
|
||||||
|
String input = "asdf_${localDateTime}_asdf";
|
||||||
|
assertEquals("asdf_" + date + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
|
||||||
|
date = DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss")
|
||||||
|
.withLocale(Locale.US)
|
||||||
|
.withZone(ZoneId.systemDefault())
|
||||||
|
.format(rec.getStartDate());
|
||||||
|
input = "asdf_${localDateTime(yyyyMMdd-HHmmss)}_asdf";
|
||||||
|
assertEquals("asdf_" + date + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEpochReplacement() {
|
||||||
|
long epoch = now.toEpochMilli() / 1000;
|
||||||
|
String input = "asdf_${epochSecond}_asdf";
|
||||||
|
assertEquals("asdf_" + epoch + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFileSuffixReplacement() {
|
||||||
|
String input = "asdf_${fileSuffix}_asdf";
|
||||||
|
assertEquals("asdf_ts_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRecordingsDirReplacement() {
|
||||||
|
String input = "asdf_${recordingsDir}_asdf";
|
||||||
|
assertEquals("asdf_" + recDir.toString() + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAbsolutePathReplacement() {
|
||||||
|
String input = "asdf_${absolutePath}_asdf";
|
||||||
|
assertEquals("asdf_" + postProcessed.getAbsolutePath().toString() + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAbsoluteParentPathReplacement() {
|
||||||
|
String input = "asdf_${absoluteParentPath}_asdf";
|
||||||
|
assertEquals("asdf_" + postProcessed.getParentFile().toString() + "_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testModelNotesReplacement() {
|
||||||
|
String input = "asdf_${modelNotes}_asdf";
|
||||||
|
assertEquals("asdf_tag, foo, bar_asdf", placeHolderAwarePp.fillInPlaceHolders(input, rec, config));
|
||||||
|
}
|
||||||
|
}
|
|
@ -70,7 +70,7 @@ public abstract class AbstractPpTest {
|
||||||
|
|
||||||
Model mockModel() {
|
Model mockModel() {
|
||||||
Site site = new Chaturbate();
|
Site site = new Chaturbate();
|
||||||
Model model = site.createModel("Mockita");
|
Model model = site.createModel("Mockita Boobilicious");
|
||||||
model.setDisplayName("Mockita Boobilicious");
|
model.setDisplayName("Mockita Boobilicious");
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,4 +48,10 @@ public class DeleteOriginalTest extends AbstractPpTest {
|
||||||
assertTrue(rec.getAbsoluteFile().exists());
|
assertTrue(rec.getAbsoluteFile().exists());
|
||||||
assertFalse(originalDir.exists());
|
assertFalse(originalDir.exists());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetName() {
|
||||||
|
assertEquals("delete original", new DeleteOriginal().getName());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class MoveDirectoryTest extends AbstractPpTest {
|
||||||
pp.getConfig().put(Move.PATH_TEMPLATE, new File(baseDir.toFile(), Move.DEFAULT).getAbsolutePath());
|
pp.getConfig().put(Move.PATH_TEMPLATE, new File(baseDir.toFile(), Move.DEFAULT).getAbsolutePath());
|
||||||
pp.postprocess(rec, recordingManager, config);
|
pp.postprocess(rec, recordingManager, config);
|
||||||
|
|
||||||
Matcher m = Pattern.compile(baseDir.toString() + "/Mockita/\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}/original").matcher(rec.getAbsoluteFile().getCanonicalPath());
|
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());
|
||||||
assertTrue(m.matches());
|
assertTrue(m.matches());
|
||||||
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
||||||
assertNotEquals(rec.getAbsoluteFile(), original);
|
assertNotEquals(rec.getAbsoluteFile(), original);
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class MoveSingleFileTest extends AbstractPpTest {
|
||||||
pp.getConfig().put(Move.PATH_TEMPLATE, new File(baseDir.toFile(), Move.DEFAULT).getAbsolutePath());
|
pp.getConfig().put(Move.PATH_TEMPLATE, new File(baseDir.toFile(), Move.DEFAULT).getAbsolutePath());
|
||||||
pp.postprocess(rec, recordingManager, config);
|
pp.postprocess(rec, recordingManager, config);
|
||||||
|
|
||||||
Matcher m = Pattern.compile(baseDir.toFile() + "/Mockita/\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}/original\\.ts").matcher(rec.getAbsoluteFile().toString());
|
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());
|
||||||
assertTrue(m.matches());
|
assertTrue(m.matches());
|
||||||
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
||||||
assertNotEquals(rec.getAbsoluteFile(), original);
|
assertNotEquals(rec.getAbsoluteFile(), original);
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package ctbrec.recorder.postprocessing;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import ctbrec.Config;
|
||||||
|
import ctbrec.Recording;
|
||||||
|
import ctbrec.recorder.RecordingManager;
|
||||||
|
|
||||||
|
public class RemoveKeepFileTest extends AbstractPpTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPostProcessWithSingleFile() throws IOException, InterruptedException {
|
||||||
|
Recording rec = new Recording();
|
||||||
|
rec.setModel(mockModel());
|
||||||
|
rec.setAbsoluteFile(original);
|
||||||
|
rec.setPostProcessedFile(postProcessed);
|
||||||
|
rec.setStartDate(now);
|
||||||
|
rec.setSingleFile(true);
|
||||||
|
|
||||||
|
Config config = mockConfig();
|
||||||
|
RecordingManager rm = new RecordingManager(config, Collections.emptyList());
|
||||||
|
rm.add(rec);
|
||||||
|
assertTrue(rm.getAll().size() == 1);
|
||||||
|
RemoveKeepFile pp = new RemoveKeepFile();
|
||||||
|
pp.postprocess(rec, rm, config);
|
||||||
|
|
||||||
|
assertTrue(rec.getAbsoluteFile().exists());
|
||||||
|
assertTrue(rec.getPostProcessedFile().exists());
|
||||||
|
assertTrue(rm.getAll().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetName() {
|
||||||
|
assertEquals("remove recording, but keep the files", new RemoveKeepFile().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -28,7 +28,7 @@ public class RenameDirectoryTest extends AbstractPpTest {
|
||||||
Rename pp = new Rename();
|
Rename pp = new Rename();
|
||||||
pp.postprocess(rec, recordingManager, config);
|
pp.postprocess(rec, recordingManager, config);
|
||||||
|
|
||||||
Matcher m = Pattern.compile("Mockita_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}").matcher(rec.getAbsoluteFile().getName());
|
Matcher m = Pattern.compile("Mockita_Boobilicious_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}").matcher(rec.getAbsoluteFile().getName());
|
||||||
assertTrue(m.matches());
|
assertTrue(m.matches());
|
||||||
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
||||||
assertNotEquals(rec.getAbsoluteFile(), original);
|
assertNotEquals(rec.getAbsoluteFile(), original);
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class RenameSingleFileTest extends AbstractPpTest {
|
||||||
Rename pp = new Rename();
|
Rename pp = new Rename();
|
||||||
pp.postprocess(rec, recordingManager, config);
|
pp.postprocess(rec, recordingManager, config);
|
||||||
|
|
||||||
Matcher m = Pattern.compile("Mockita_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}\\.ts").matcher(rec.getAbsoluteFile().getName());
|
Matcher m = Pattern.compile("Mockita_Boobilicious_\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}\\.ts").matcher(rec.getAbsoluteFile().getName());
|
||||||
assertTrue(m.matches());
|
assertTrue(m.matches());
|
||||||
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
assertEquals(rec.getAbsoluteFile(), rec.getPostProcessedFile());
|
||||||
assertNotEquals(rec.getAbsoluteFile(), original);
|
assertNotEquals(rec.getAbsoluteFile(), original);
|
||||||
|
|
Loading…
Reference in New Issue