1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.buildcache.its;
20
21 import java.io.IOException;
22 import java.nio.file.Files;
23 import java.nio.file.Paths;
24 import java.util.List;
25
26 import org.apache.maven.buildcache.its.junit.IntegrationTest;
27 import org.apache.maven.it.VerificationException;
28 import org.apache.maven.it.Verifier;
29 import org.junit.jupiter.api.Test;
30
31 import static java.util.Arrays.asList;
32
33 @IntegrationTest("src/test/projects/mbuildcache-99")
34 class Issue99Test {
35
36 @Test
37 void renamedFileInvalidatesCache(Verifier verifier) throws VerificationException, IOException {
38 verifier.setAutoclean(false);
39
40 verifier.setLogFileName("../log-0.txt");
41 verifier.executeGoals(asList("package"));
42 verifier.verifyErrorFreeLog();
43 verifier.verifyTextInLog("Local build was not found");
44 verifyTextNotInLog(verifier, "Found cached build");
45
46 verifier.setLogFileName("../log-1.txt");
47 verifier.executeGoals(asList("package"));
48 verifier.verifyErrorFreeLog();
49 verifier.verifyTextInLog("Found cached build");
50 verifyTextNotInLog(verifier, "Local build was not found");
51
52 Files.move(
53 Paths.get(verifier.getBasedir(), "test-module/src/main/resources/test.properties"),
54 Paths.get(verifier.getBasedir(), "test-module/src/main/resources/test2.properties"));
55
56 verifier.setLogFileName("../log-2.txt");
57 verifier.executeGoals(asList("package"));
58 verifier.verifyErrorFreeLog();
59 verifier.verifyTextInLog("Local build was not found");
60 verifyTextNotInLog(verifier, "Found cached build");
61 }
62
63 private static void verifyTextNotInLog(Verifier verifier, String text) throws VerificationException {
64 List<String> lines = verifier.loadFile(verifier.getBasedir(), verifier.getLogFileName(), false);
65 for (String line : lines) {
66 if (Verifier.stripAnsi(line).contains(text)) {
67 throw new VerificationException("Text found in log: " + text);
68 }
69 }
70 }
71 }