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.Path;
24
25 import org.apache.maven.buildcache.its.junit.IntegrationTest;
26 import org.apache.maven.it.VerificationException;
27 import org.apache.maven.it.Verifier;
28 import org.junit.jupiter.api.Assertions;
29 import org.junit.jupiter.api.Test;
30
31 import static org.apache.maven.buildcache.util.LogFileUtils.findFirstLineContainingTextsInLogs;
32 import static org.apache.maven.buildcache.xml.CacheConfigImpl.CACHE_LOCATION_PROPERTY_NAME;
33 import static org.apache.maven.buildcache.xml.CacheConfigImpl.SKIP_SAVE;
34
35 @IntegrationTest("src/test/projects/build-extension")
36 public class BuildExtensionTest {
37
38 private static final String PROJECT_NAME = "org.apache.maven.caching.test.simple:simple";
39
40 @Test
41 void simple(Verifier verifier) throws VerificationException {
42 verifier.setAutoclean(false);
43
44 verifier.setLogFileName("../log-1.txt");
45 verifier.executeGoal("verify");
46 verifier.verifyErrorFreeLog();
47
48 verifier.setLogFileName("../log-2.txt");
49 verifier.executeGoal("verify");
50 verifier.verifyErrorFreeLog();
51 verifier.verifyTextInLog("Found cached build, restoring " + PROJECT_NAME + " from cache");
52 }
53
54 @Test
55 void skipSaving(Verifier verifier) throws VerificationException, IOException {
56 verifier.setAutoclean(false);
57 Path tempDirectory = Files.createTempDirectory("skip-saving-test");
58 verifier.getCliOptions().clear();
59 verifier.addCliOption("-D" + CACHE_LOCATION_PROPERTY_NAME + "=" + tempDirectory.toAbsolutePath());
60 verifier.addCliOption("-D" + SKIP_SAVE + "=true");
61
62 verifier.setLogFileName("../log-1.txt");
63 verifier.executeGoal("verify");
64 verifier.verifyTextInLog("Cache saving is disabled.");
65 verifier.verifyErrorFreeLog();
66
67 verifier.setLogFileName("../log-2.txt");
68 verifier.executeGoal("verify");
69 verifier.verifyErrorFreeLog();
70 verifier.verifyTextInLog("Cache saving is disabled.");
71 verifyNoTextInLog(verifier, "Found cached build, restoring");
72 }
73
74 private static void verifyNoTextInLog(Verifier verifier, String text) throws VerificationException {
75 Assertions.assertNull(findFirstLineContainingTextsInLogs(verifier, text));
76 }
77 }