DRY out listing of tuned files in AutoAdjustCachesIT
Remove duplication of the logic of selecting the list
of tuned cache files in the AutoAdjustCachesIT tests.
Change-Id: I4161a10d808fa8de3579edff1cd951be3dab27f0
diff --git a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java
index bb63a4a..8fad5ed 100644
--- a/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java
+++ b/src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/AutoAdjustCachesIT.java
@@ -39,9 +39,9 @@
import com.google.inject.name.Named;
import java.io.File;
import java.nio.file.Path;
-import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.jgit.errors.ConfigInvalidException;
@@ -68,6 +68,7 @@
private static final String TEST_CACHE_FILENAME_TUNED =
TEST_CACHE_NAME + "_" + TEST_CACHE_VERSION + AutoAdjustCaches.TUNED_INFIX;
private static final String TEST_CACHE_KEY_100_CHARS = new String(new char[100]);
+ private static final Function<String, Boolean> MATCH_ALL = (n) -> true;
private static final ImmutableList<String> EXPECTED_CACHES =
ImmutableList.of(MERGEABILITY, DIFF, DIFF_SUMMARY, ACCOUNTS, PERSISTED_PROJECTS);
@@ -127,16 +128,8 @@
adminSshSession.exec(SSH_CMD);
adminSshSession.assertSuccess();
- File cacheDir = sitePaths.resolve(cfg.getString("cache", null, "directory")).toFile();
Set<String> tunedCaches =
- Stream.of(Objects.requireNonNull(cacheDir.listFiles()))
- .filter(file -> !file.isDirectory())
- .map(File::getName)
- .filter(
- n ->
- n.contains(TUNED_INFIX)
- && n.matches(".*(" + String.join("|", EXPECTED_CACHES) + ").*"))
- .collect(Collectors.toSet());
+ tunedFileNamesSet(n -> n.matches(".*(" + String.join("|", EXPECTED_CACHES) + ").*"));
assertThat(tunedCaches.size()).isEqualTo(EXPECTED_CACHES.size());
}
@@ -152,7 +145,7 @@
assertThat(configResult(tuneResult, CONFIG_HEADER).getSubsections("cache"))
.doesNotContain(TEST_CACHE_NAME);
- assertThat(Joiner.on('\n').join(listTunedFileNames()))
+ assertThat(Joiner.on('\n').join(tunedFileNamesSet(MATCH_ALL)))
.doesNotContain(TEST_CACHE_FILENAME_TUNED);
}
@@ -164,7 +157,9 @@
assertThat(configResult(tuneResult, CONFIG_HEADER).getSubsections("cache"))
.contains(TEST_CACHE_NAME);
- assertThat(Joiner.on('\n').join(listTunedFileNames())).contains(TEST_CACHE_FILENAME_TUNED);
+ assertThat(
+ Joiner.on('\n').join(tunedFileNamesSet((n) -> n.contains(TEST_CACHE_FILENAME_TUNED))))
+ .isNotEmpty();
}
@Test
@@ -185,7 +180,7 @@
resp.assertCreated();
assertThat(configResult(resp.getEntityContent(), null).getSubsections("cache")).isNotEmpty();
- assertThat(listTunedFileNames()).isNotEmpty();
+ assertThat(tunedFileNamesSet(MATCH_ALL)).isNotEmpty();
}
private Config configResult(String result, @Nullable String configHeader)
@@ -195,12 +190,12 @@
return configResult;
}
- private List<String> listTunedFileNames() {
+ private Set<String> tunedFileNamesSet(Function<String, Boolean> fileNameFilter) {
Path cachePath = sitePaths.resolve(cfg.getString("cache", null, "directory"));
return Stream.of(Objects.requireNonNull(cachePath.toFile().listFiles()))
.filter(file -> !file.isDirectory())
.map(File::getName)
- .filter(n -> n.contains(TUNED_INFIX))
- .collect(Collectors.toList());
+ .filter(n -> n.contains(TUNED_INFIX) && fileNameFilter.apply(n))
+ .collect(Collectors.toSet());
}
}