1 package org.apache.maven.plugins.enforcer;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.assertj.core.api.Assertions.assertThat;
23
24 import org.apache.commons.lang3.SystemUtils;
25 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
26 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
27 import org.junit.Ignore;
28 import org.junit.Test;
29
30
31
32
33
34
35 public class TestRequireJavaVersion
36 {
37
38
39
40
41 @Test
42 public void testFixJDKVersion()
43 {
44
45
46 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.0_11" ) ).isEqualTo( "1.5.0-11" );
47 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.1" ) ).isEqualTo( "1.5.1" );
48 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.2-1.b11" ) ).isEqualTo( "1.5.2-1" );
49 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.3_11" ) ).isEqualTo( "1.5.3-11" );
50 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.4.5_11" ) ).isEqualTo( "1.5.4-5" );
51 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.5.6_11.2" ) ).isEqualTo( "1.5.5-6" );
52
53
54 assertThat( RequireJavaVersion.normalizeJDKVersion( "1-5-0-11" ) ).isEqualTo( "1.5.0-11" );
55 assertThat( RequireJavaVersion.normalizeJDKVersion( "1-_5-_0-_11" ) ).isEqualTo( "1.5.0-11" );
56 assertThat( RequireJavaVersion.normalizeJDKVersion( "1_5_0_11" ) ).isEqualTo( "1.5.0-11" );
57 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.0-07" ) ).isEqualTo( "1.5.0-7" );
58 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.0-b7" ) ).isEqualTo( "1.5.0-7" );
59 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.5.0-;7" ) ).isEqualTo( "1.5.0-7" );
60 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.6.0-dp" ) ).isEqualTo( "1.6.0" );
61 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.6.0-dp2" ) ).isEqualTo( "1.6.0-2" );
62 assertThat( RequireJavaVersion.normalizeJDKVersion( "1.8.0_73" ) ).isEqualTo( "1.8.0-73" );
63 assertThat( RequireJavaVersion.normalizeJDKVersion( "9" ) ).isEqualTo( "9" );
64
65 }
66
67
68
69
70
71
72 @Test
73 public void settingsTheJavaVersionAsNormalizedVersionShouldNotFail()
74 throws EnforcerRuleException
75 {
76 String normalizedJDKVersion = RequireJavaVersion.normalizeJDKVersion( SystemUtils.JAVA_VERSION );
77
78 RequireJavaVersion rule = new RequireJavaVersion();
79 rule.setVersion( normalizedJDKVersion );
80
81 EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
82
83
84 rule.execute( helper );
85
86 }
87
88 @Test( expected = EnforcerRuleException.class )
89 public void excludingTheCurrentJavaVersionViaRangeThisShouldFailWithException()
90 throws EnforcerRuleException
91 {
92 String thisVersion = RequireJavaVersion.normalizeJDKVersion( SystemUtils.JAVA_VERSION );
93
94 RequireJavaVersion rule = new RequireJavaVersion();
95
96 rule.setVersion( "(" + thisVersion );
97
98 EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
99 rule.execute( helper );
100
101 }
102
103 @Test
104 @Ignore
105
106 public void thisShouldNotCrash()
107 throws EnforcerRuleException
108 {
109 RequireJavaVersion rule = new RequireJavaVersion();
110 rule.setVersion( SystemUtils.JAVA_VERSION );
111
112 EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
113 rule.execute( helper );
114
115 }
116
117
118
119
120 @Test
121 public void testId()
122 {
123 RequireJavaVersion rule = new RequireJavaVersion();
124 assertThat( rule.getCacheId() ).isEqualTo( "0" );
125 }
126 }