1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.enforcer.rules.version;
20
21 import org.apache.maven.artifact.versioning.ArtifactVersion;
22 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
23 import org.apache.maven.enforcer.rule.api.EnforcerLogger;
24 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
25 import org.junit.jupiter.api.Test;
26
27 import static org.junit.jupiter.api.Assertions.fail;
28 import static org.mockito.Mockito.mock;
29
30
31
32
33
34
35 class TestAbstractVersionEnforcer {
36
37
38
39
40
41
42
43
44
45 private void enforceFalse(AbstractVersionEnforcer rule, String var, String range, ArtifactVersion version) {
46 try {
47 rule.enforceVersion(var, range, version);
48 fail("Expected to receive EnforcerRuleException because:" + version + " is not contained by " + range);
49 } catch (Exception e) {
50 if (e instanceof EnforcerRuleException) {
51
52
53 } else {
54 fail("Received wrong exception. Expected EnforcerRuleExeption. Received:" + e);
55 }
56 }
57 }
58
59
60
61
62 @Test
63 void testEnforceVersion() throws Exception {
64 RequireJavaVersion rule = new RequireJavaVersion();
65 rule.setLog(mock(EnforcerLogger.class));
66
67 ArtifactVersion version = new DefaultArtifactVersion("2.0.5");
68
69
70 rule.enforceVersion("test", "[2.0.5,)", version);
71 rule.enforceVersion("test", "[2.0.4,)", version);
72 rule.enforceVersion("test", "[2.0.4,2.0.5]", version);
73 rule.enforceVersion("test", "[2.0.4,2.0.6]", version);
74 rule.enforceVersion("test", "[2.0.4,2.0.6)", version);
75 rule.enforceVersion("test", "[2.0,)", version);
76 rule.enforceVersion("test", "[2.0.0,)", version);
77
78
79 rule.enforceVersion("test", "2.0", version);
80 rule.enforceVersion("test", "2.0.4", version);
81 rule.enforceVersion("test", "2.0.5", version);
82
83 enforceFalse(rule, "test", "[2.0.6,)", version);
84 enforceFalse(rule, "test", "(2.0.5,)", version);
85 enforceFalse(rule, "test", "2.0.6", version);
86
87 enforceFalse(rule, "test", "[2.0.4,2.0.5)", version);
88
89
90 enforceFalse(rule, "test", "[[2.0.4,2.0.5)", version);
91 }
92 }