Skip to content

Commit 8feff0d

Browse files
authored
Replace assertFalse/assertTrue for file existence (#52092)
In the packaging tests, we added convenience methods for asserting file existence and file non-existence. This commit replaces the remaining uses of assertFalse/assertTrue in favor of these dedicated matchers.
1 parent 9b456cf commit 8feff0d

10 files changed

+32
-31
lines changed

qa/os/src/test/java/org/elasticsearch/packaging/test/ArchiveTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public void test50StartAndStop() throws Exception {
117117
throw e;
118118
}
119119

120-
assertTrue("gc logs exist", Files.exists(installation.logs.resolve("gc.log")));
120+
assertThat(installation.logs.resolve("gc.log"), fileExists());
121121
ServerUtils.runElasticsearchTests();
122122

123123
stopElasticsearch();

qa/os/src/test/java/org/elasticsearch/packaging/test/DebPreservationTests.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import java.nio.file.Paths;
2626

2727
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
28-
import static org.elasticsearch.packaging.util.FileUtils.assertPathsDontExist;
28+
import static org.elasticsearch.packaging.util.FileUtils.assertPathsDoNotExist;
2929
import static org.elasticsearch.packaging.util.FileUtils.assertPathsExist;
3030
import static org.elasticsearch.packaging.util.Packages.SYSVINIT_SCRIPT;
3131
import static org.elasticsearch.packaging.util.Packages.assertInstalled;
@@ -76,14 +76,14 @@ public void test20Remove() throws Exception {
7676

7777
// keystore was removed
7878

79-
assertPathsDontExist(
79+
assertPathsDoNotExist(
8080
installation.config("elasticsearch.keystore"),
8181
installation.config(".elasticsearch.keystore.initial_md5sum")
8282
);
8383

8484
// doc files were removed
8585

86-
assertPathsDontExist(
86+
assertPathsDoNotExist(
8787
Paths.get("/usr/share/doc/" + distribution().flavor.name),
8888
Paths.get("/usr/share/doc/" + distribution().flavor.name + "/copyright")
8989
);
@@ -100,7 +100,7 @@ public void test30Purge() throws Exception {
100100

101101
assertRemoved(distribution());
102102

103-
assertPathsDontExist(
103+
assertPathsDoNotExist(
104104
installation.config,
105105
installation.envFile,
106106
SYSVINIT_SCRIPT

qa/os/src/test/java/org/elasticsearch/packaging/test/PackageTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileDoesNotExist;
3939
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
4040
import static org.elasticsearch.packaging.util.FileUtils.append;
41-
import static org.elasticsearch.packaging.util.FileUtils.assertPathsDontExist;
41+
import static org.elasticsearch.packaging.util.FileUtils.assertPathsDoNotExist;
4242
import static org.elasticsearch.packaging.util.FileUtils.assertPathsExist;
4343
import static org.elasticsearch.packaging.util.FileUtils.cp;
4444
import static org.elasticsearch.packaging.util.FileUtils.fileWithGlobExist;
@@ -205,7 +205,7 @@ public void test50Remove() throws Exception {
205205

206206
}
207207

208-
assertPathsDontExist(
208+
assertPathsDoNotExist(
209209
installation.bin,
210210
installation.lib,
211211
installation.modules,

qa/os/src/test/java/org/elasticsearch/packaging/test/PackagingTestCase.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,10 @@
5656
import static org.elasticsearch.packaging.util.Cleanup.cleanEverything;
5757
import static org.elasticsearch.packaging.util.Docker.ensureImageIsLoaded;
5858
import static org.elasticsearch.packaging.util.Docker.removeContainer;
59+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
60+
import static org.hamcrest.CoreMatchers.anyOf;
5961
import static org.hamcrest.CoreMatchers.containsString;
6062
import static org.hamcrest.CoreMatchers.equalTo;
61-
import static org.hamcrest.CoreMatchers.anyOf;
6263
import static org.junit.Assume.assumeFalse;
6364
import static org.junit.Assume.assumeTrue;
6465

@@ -326,7 +327,7 @@ public void assertElasticsearchFailure(Shell.Result result, List<String> expecte
326327

327328
// If log file exists, then we have bootstrapped our logging and the
328329
// error should be in the logs
329-
assertTrue("log file exists", Files.exists(installation.logs.resolve("elasticsearch.log")));
330+
assertThat(installation.logs.resolve("elasticsearch.log"), fileExists());
330331
String logfile = FileUtils.slurp(installation.logs.resolve("elasticsearch.log"));
331332

332333
assertThat(logfile, anyOf(stringMatchers));

qa/os/src/test/java/org/elasticsearch/packaging/test/RpmPreservationTests.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@
2323
import org.elasticsearch.packaging.util.Shell;
2424
import org.junit.BeforeClass;
2525

26-
import java.nio.file.Files;
2726
import java.nio.file.Path;
2827
import java.util.stream.Stream;
2928

3029
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileDoesNotExist;
3130
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
3231
import static org.elasticsearch.packaging.util.FileUtils.append;
33-
import static org.elasticsearch.packaging.util.FileUtils.assertPathsDontExist;
32+
import static org.elasticsearch.packaging.util.FileUtils.assertPathsDoNotExist;
3433
import static org.elasticsearch.packaging.util.Packages.SYSTEMD_SERVICE;
3534
import static org.elasticsearch.packaging.util.Packages.SYSVINIT_SCRIPT;
3635
import static org.elasticsearch.packaging.util.Packages.assertInstalled;
@@ -103,7 +102,7 @@ public void test30PreserveConfig() throws Exception {
103102
assertThat(sh.runIgnoreExitCode("systemctl is-enabled elasticsearch.service").exitCode, is(1));
104103
}
105104

106-
assertPathsDontExist(
105+
assertPathsDoNotExist(
107106
installation.bin,
108107
installation.lib,
109108
installation.modules,
@@ -137,7 +136,7 @@ public void test30PreserveConfig() throws Exception {
137136
private void assertConfFilePreserved(String configFile) {
138137
final Path original = installation.config(configFile);
139138
final Path saved = installation.config(configFile + ".rpmsave");
140-
assertFalse(original + " should not exist", Files.exists(original));
141-
assertTrue(saved + " should exist", Files.exists(saved));
139+
assertThat(original, fileDoesNotExist());
140+
assertThat(saved, fileExists());
142141
}
143142
}

qa/os/src/test/java/org/elasticsearch/packaging/test/SysVInitTests.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
import org.elasticsearch.packaging.util.Shell;
2525
import org.junit.BeforeClass;
2626

27-
import java.nio.file.Files;
28-
27+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
2928
import static org.elasticsearch.packaging.util.FileUtils.assertPathsExist;
3029
import static org.hamcrest.CoreMatchers.anyOf;
3130
import static org.hamcrest.CoreMatchers.equalTo;
@@ -59,7 +58,7 @@ public void test10Install() throws Exception {
5958

6059
public void test20Start() throws Exception {
6160
startElasticsearch();
62-
assertTrue("gc logs exist", Files.exists(installation.logs.resolve("gc.log")));
61+
assertThat(installation.logs.resolve("gc.log"), fileExists());
6362
ServerUtils.runElasticsearchTests();
6463
sh.run("service elasticsearch status"); // returns 0 exit status when ok
6564
}

qa/os/src/test/java/org/elasticsearch/packaging/util/Archives.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import java.util.stream.Stream;
3030

3131
import static java.util.stream.Collectors.joining;
32+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileDoesNotExist;
33+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
3234
import static org.elasticsearch.packaging.util.FileMatcher.Fileness.Directory;
3335
import static org.elasticsearch.packaging.util.FileMatcher.Fileness.File;
3436
import static org.elasticsearch.packaging.util.FileMatcher.file;
@@ -48,8 +50,6 @@
4850
import static org.hamcrest.collection.IsEmptyCollection.empty;
4951
import static org.hamcrest.core.Is.is;
5052
import static org.hamcrest.core.IsNot.not;
51-
import static org.junit.Assert.assertFalse;
52-
import static org.junit.Assert.assertTrue;
5353

5454
/**
5555
* Installation and verification logic for archive distributions
@@ -268,7 +268,7 @@ public static Shell.Result startElasticsearchWithTty(Installation installation,
268268
public static Shell.Result runElasticsearchStartCommand(Installation installation, Shell sh, String keystorePassword) {
269269
final Path pidFile = installation.home.resolve("elasticsearch.pid");
270270

271-
assertFalse("Pid file doesn't exist when starting Elasticsearch", Files.exists(pidFile));
271+
assertThat(pidFile, fileDoesNotExist());
272272

273273
final Installation.Executables bin = installation.executables();
274274

@@ -338,14 +338,14 @@ public static void assertElasticsearchStarted(Installation installation) throws
338338
final Path pidFile = installation.home.resolve("elasticsearch.pid");
339339
ServerUtils.waitForElasticsearch(installation);
340340

341-
assertTrue("Starting Elasticsearch produced a pid file at " + pidFile, Files.exists(pidFile));
341+
assertThat("Starting Elasticsearch produced a pid file at " + pidFile, pidFile, fileExists());
342342
String pid = slurp(pidFile).trim();
343343
assertThat(pid, is(not(emptyOrNullString())));
344344
}
345345

346346
public static void stopElasticsearch(Installation installation) throws Exception {
347347
Path pidFile = installation.home.resolve("elasticsearch.pid");
348-
assertTrue("pid file should exist", Files.exists(pidFile));
348+
assertThat(pidFile, fileExists());
349349
String pid = slurp(pidFile).trim();
350350
assertThat(pid, is(not(emptyOrNullString())));
351351

qa/os/src/test/java/org/elasticsearch/packaging/util/Docker.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.apache.http.client.fluent.Request;
2727
import org.elasticsearch.common.CheckedRunnable;
2828

29-
import java.nio.file.Files;
3029
import java.nio.file.Path;
3130
import java.nio.file.Paths;
3231
import java.nio.file.attribute.PosixFileAttributes;
@@ -39,6 +38,7 @@
3938
import java.util.stream.Stream;
4039

4140
import static java.nio.file.attribute.PosixFilePermissions.fromString;
41+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
4242
import static org.elasticsearch.packaging.util.FileMatcher.p644;
4343
import static org.elasticsearch.packaging.util.FileMatcher.p660;
4444
import static org.elasticsearch.packaging.util.FileMatcher.p755;
@@ -156,7 +156,7 @@ private static void executeDockerRun(Distribution distribution, Map<Path, Path>
156156
// Bind-mount any volumes
157157
if (volumes != null) {
158158
volumes.forEach((localPath, containerPath) -> {
159-
assertTrue(localPath + " doesn't exist", Files.exists(localPath));
159+
assertThat(localPath, fileExists());
160160

161161
if (Platforms.WINDOWS == false && System.getProperty("user.name").equals("root")) {
162162
// The tests are running as root, but the process in the Docker container runs as `elasticsearch` (UID 1000),

qa/os/src/test/java/org/elasticsearch/packaging/util/FileUtils.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,11 @@
5252
import java.util.zip.GZIPInputStream;
5353
import java.util.zip.ZipException;
5454

55+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileDoesNotExist;
56+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileExists;
5557
import static org.hamcrest.Matchers.emptyIterable;
5658
import static org.hamcrest.core.IsNot.not;
57-
import static org.junit.Assert.assertFalse;
58-
import static org.junit.Assert.assertTrue;
59+
import static org.junit.Assert.assertThat;
5960

6061
/**
6162
* Wrappers and convenience methods for common filesystem operations
@@ -308,8 +309,8 @@ public static Path getDistributionFile(Distribution distribution) {
308309
return distribution.path;
309310
}
310311

311-
public static void assertPathsExist(Path... paths) {
312-
Arrays.stream(paths).forEach(path -> assertTrue(path + " should exist", Files.exists(path)));
312+
public static void assertPathsExist(final Path... paths) {
313+
Arrays.stream(paths).forEach(path -> assertThat(path, fileExists()));
313314
}
314315

315316
public static Matcher<Path> fileWithGlobExist(String glob) throws IOException {
@@ -326,8 +327,8 @@ protected Iterable<Path> featureValueOf(Path actual) {
326327
};
327328
}
328329

329-
public static void assertPathsDontExist(Path... paths) {
330-
Arrays.stream(paths).forEach(path -> assertFalse(path + " should not exist", Files.exists(path)));
330+
public static void assertPathsDoNotExist(final Path... paths) {
331+
Arrays.stream(paths).forEach(path -> assertThat(path, fileDoesNotExist()));
331332
}
332333

333334
public static void deleteIfExists(Path path) {

qa/os/src/test/java/org/elasticsearch/packaging/util/Packages.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.regex.Pattern;
3333
import java.util.stream.Stream;
3434

35+
import static org.elasticsearch.packaging.util.FileExistenceMatchers.fileDoesNotExist;
3536
import static org.elasticsearch.packaging.util.FileMatcher.Fileness.Directory;
3637
import static org.elasticsearch.packaging.util.FileMatcher.Fileness.File;
3738
import static org.elasticsearch.packaging.util.FileMatcher.file;
@@ -164,7 +165,7 @@ private static void verifyOssInstallation(Installation es, Distribution distribu
164165

165166
final Result passwdResult = sh.run("getent passwd elasticsearch");
166167
final Path homeDir = Paths.get(passwdResult.stdout.trim().split(":")[5]);
167-
assertFalse("elasticsearch user home directory must not exist", Files.exists(homeDir));
168+
assertThat("elasticsearch user home directory must not exist", homeDir, fileDoesNotExist());
168169

169170
Stream.of(
170171
es.home,

0 commit comments

Comments
 (0)