1 package org.apache.maven.plugins.enforcer;
2
3 /*
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21
22 import junit.framework.TestCase;
23
24 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
25 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
26
27 // TODO: Auto-generated Javadoc
28 /**
29 * The Class TestRequireProperty.
30 *
31 * @author Paul Gier
32 */
33 public class TestRequireProperty
34 extends TestCase
35 {
36
37 /**
38 * Test rule.
39 *
40 * @throws EnforcerRuleException the enforcer rule exception
41 */
42 public void testRule()
43 throws EnforcerRuleException
44 {
45 MockProject project = new MockProject();
46 project.setProperty( "testProp", "This is a test." );
47 EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( project );
48
49 RequireProperty rule = new RequireProperty();
50 // this property should not be set
51 rule.setProperty( "testPropJunk" );
52
53 try
54 {
55 rule.execute( helper );
56 fail( "Expected an exception." );
57 }
58 catch ( EnforcerRuleException e )
59 {
60 // expected to catch this.
61 }
62
63 // this property should be set by the surefire
64 // plugin
65 rule.setProperty( "testProp" );
66 try
67 {
68 rule.execute( helper );
69 }
70 catch ( EnforcerRuleException e )
71 {
72 fail( "This should not throw an exception" );
73 }
74 }
75
76 /**
77 * Test rule with regex.
78 *
79 * @throws EnforcerRuleException the enforcer rule exception
80 */
81 public void testRuleWithRegex()
82 throws EnforcerRuleException
83 {
84 MockProject project = new MockProject();
85 project.setProperty( "testProp", "This is a test." );
86 EnforcerRuleHelper helper = EnforcerTestUtils.getHelper( project );
87
88 RequireProperty rule = new RequireProperty();
89 rule.setProperty( "testProp" );
90 // This expression should not match the property
91 // value
92 rule.setRegex( "[^abc]" );
93
94 try
95 {
96 rule.execute( helper );
97 fail( "Expected an exception." );
98 }
99 catch ( EnforcerRuleException e )
100 {
101 // expected to catch this.
102 }
103
104 // this expr should match the property
105 rule.setRegex( "[This].*[.]" );
106 try
107 {
108 rule.execute( helper );
109 }
110 catch ( EnforcerRuleException e )
111 {
112 fail( "This should not throw an exception" );
113 }
114 }
115
116 /**
117 * Test id.
118 */
119 public void testId()
120 {
121 RequireProperty rule = new RequireProperty();
122 rule.getCacheId();
123 }
124 }