@@ -23,7 +23,7 @@ final class JanitorTest {
2323
2424 @ Test
2525 void doesNothingForReleasedVersion (@ Mktmp final Path temp ) {
26- new Janitor (temp , "1.0" ).exec ();
26+ new Janitor (temp , "1.0" ).clean ();
2727 MatcherAssert .assertThat (
2828 "Fingerprint must not be created for released versions" ,
2929 Files .exists (temp .resolve (".snapshot-fingerprint" )),
@@ -32,18 +32,22 @@ void doesNothingForReleasedVersion(@Mktmp final Path temp) {
3232 }
3333
3434 @ Test
35- void wipesStageDirsAndWritesFingerprintOnFirstRun (@ Mktmp final Path temp ) throws Exception {
35+ void wipesStageDirsOnFirstRun (@ Mktmp final Path temp ) throws Exception {
3636 final String version = "1.0-SNAPSHOT" ;
37- Files .createDirectories (temp .resolve ("transpiled" ).resolve (version ));
38- Files .createFile (
39- temp .resolve ("transpiled" ).resolve (version ).resolve ("stale.xmir" )
40- );
41- new Janitor (temp , version ).exec ();
37+ new Saved ("" , JanitorTest .staleFile (temp , version )).value ();
38+ new Janitor (temp , version ).clean ();
4239 MatcherAssert .assertThat (
4340 "Stale SNAPSHOT cache must be wiped on first run" ,
44- Files .exists (temp . resolve ( "transpiled" ). resolve ( version ). resolve ( "stale.xmir" )),
41+ Files .exists (JanitorTest . staleFile ( temp , version )),
4542 Matchers .is (false )
4643 );
44+ }
45+
46+ @ Test
47+ void writesFingerprintOnFirstRun (@ Mktmp final Path temp ) throws Exception {
48+ final String version = "1.0-SNAPSHOT" ;
49+ new Saved ("" , JanitorTest .staleFile (temp , version )).value ();
50+ new Janitor (temp , version ).clean ();
4751 MatcherAssert .assertThat (
4852 "Fingerprint file must be written after wipe" ,
4953 Files .exists (temp .resolve (".snapshot-fingerprint" )),
@@ -54,11 +58,10 @@ void wipesStageDirsAndWritesFingerprintOnFirstRun(@Mktmp final Path temp) throws
5458 @ Test
5559 void doesNothingWhenFingerprintMatches (@ Mktmp final Path temp ) throws Exception {
5660 final String version = "1.0-SNAPSHOT" ;
57- new Janitor (temp , version ).exec ();
58- Files .createDirectories (temp .resolve ("transpiled" ).resolve (version ));
61+ new Janitor (temp , version ).clean ();
5962 final Path kept = temp .resolve ("transpiled" ).resolve (version ).resolve ("valid.xmir" );
60- Files . createFile ( kept );
61- new Janitor (temp , version ).exec ();
63+ new Saved ( "" , kept ). value ( );
64+ new Janitor (temp , version ).clean ();
6265 MatcherAssert .assertThat (
6366 "Cache must not be wiped when fingerprint matches" ,
6467 Files .exists (kept ),
@@ -73,15 +76,22 @@ void wipesStageDirsWhenFingerprintDiffers(@Mktmp final Path temp) throws Excepti
7376 temp .resolve (".snapshot-fingerprint" ),
7477 "outdated-hash" .getBytes (StandardCharsets .UTF_8 )
7578 );
76- Files .createDirectories (temp .resolve ("transpiled" ).resolve (version ));
77- Files .createFile (
78- temp .resolve ("transpiled" ).resolve (version ).resolve ("stale.xmir" )
79- );
80- new Janitor (temp , version ).exec ();
79+ new Saved ("" , JanitorTest .staleFile (temp , version )).value ();
80+ new Janitor (temp , version ).clean ();
8181 MatcherAssert .assertThat (
8282 "Stale cache must be wiped when fingerprint differs" ,
83- Files .exists (temp . resolve ( "transpiled" ). resolve ( version ). resolve ( "stale.xmir" )),
83+ Files .exists (JanitorTest . staleFile ( temp , version )),
8484 Matchers .is (false )
8585 );
8686 }
87+
88+ /**
89+ * Builds the path to the stale transpiled file used in cache-wipe tests.
90+ * @param temp Temporary directory
91+ * @param version Plugin version
92+ * @return Path to the stale file inside the transpiled stage cache
93+ */
94+ private static Path staleFile (final Path temp , final String version ) {
95+ return temp .resolve ("transpiled" ).resolve (version ).resolve ("stale.xmir" );
96+ }
8797}
0 commit comments