protected ArchiveRemover createArchiveRemover() { return new SizeAndTimeBasedArchiveRemover(tbrp.fileNamePattern, rc, new DefaultFileProvider()); }
private FileProvider mockFileProvider() { return spy(new DefaultFileProvider()); } }
@Before public void setup() { finder = new FileFinder(new DefaultFileProvider()); }
@Override public void start() { super.start(); if (!super.isErrorFree()) { return; } if (tbrp.fileNamePattern.hasIntegerTokenCOnverter()) { addError("Filename pattern [" + tbrp.fileNamePattern + "] contains an integer token converter, i.e. %i, INCOMPATIBLE with this configuration. Remove it."); return; } archiveRemover = new TimeBasedArchiveRemover(tbrp.fileNamePattern, rc, new DefaultFileProvider()); archiveRemover.setContext(context); started = true; }
@Test public void findsFilesAcrossMultipleDirs() { FileFinder finder = new FileFinder(new DefaultFileProvider()); String pathPattern = tmpDir.getRoot() + File.separator + FileFinder.regexEscapePath("\\d{4}/\\d{2}/app_\\d{4}\\d{2}\\d{2}.log"); List<String> actualFiles = finder.findFiles(pathPattern); List<String> expectedFileList = new ArrayList<String>(); for (File f : files) { expectedFileList.add(f.getAbsolutePath()); } assertThat(actualFiles, containsInAnyOrder(expectedFileList.toArray(new String[0]))); }
@Test public void smoke() { FileNamePattern fileNamePattern = new FileNamePattern("smoke-%d-%i.gz", context); SizeAndTimeBasedArchiveRemover remover = new SizeAndTimeBasedArchiveRemover(fileNamePattern, null, new DefaultFileProvider()); File[] fileArray = new File[2]; File[] expected = new File[2]; SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd", Locale.US); Date today = new Date(); String baseFilename = "smoke-" + dateFormatter.format(today); fileArray[0] = expected[1] = new File(CoreTestConstants.OUTPUT_DIR_PREFIX, baseFilename + "-0.gz"); fileArray[1] = expected[0] = new File(CoreTestConstants.OUTPUT_DIR_PREFIX, baseFilename + "-1.gz"); // remover.descendingSort(fileArray, today); assertArrayEquals(expected, fileArray); }
@Test public void badFilenames() { FileNamePattern fileNamePattern = new FileNamePattern("smoke-%d-%i.gz", context); SizeAndTimeBasedArchiveRemover remover = new SizeAndTimeBasedArchiveRemover(fileNamePattern, null, new DefaultFileProvider()); File[] fileArray = new File[2]; File[] expected = new File[2]; SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd", Locale.US); Date today = new Date(); String baseFilename = "smoke-" + dateFormatter.format(today); fileArray[0] = expected[0] = new File(CoreTestConstants.OUTPUT_DIR_PREFIX, baseFilename + "-b.gz"); fileArray[1] = expected[1] = new File(CoreTestConstants.OUTPUT_DIR_PREFIX, baseFilename + "-c.gz"); // remover.descendingSort(fileArray, today); assertArrayEquals(expected, fileArray); } }