1   /* Copyright 2004 Acegi Technology Pty Limited
2    *
3    * Licensed under the Apache License, Version 2.0 (the "License");
4    * you may not use this file except in compliance with the License.
5    * You may obtain a copy of the License at
6    *
7    *     http://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  
16  package org.acegisecurity.providers.dao.salt;
17  
18  import junit.framework.TestCase;
19  
20  
21  /***
22   * Tests {@link SystemWideSaltSource}.
23   *
24   * @author Ben Alex
25   * @version $Id: SystemWideSaltSourceTests.java,v 1.3 2005/11/17 00:56:48 benalex Exp $
26   */
27  public class SystemWideSaltSourceTests extends TestCase {
28      //~ Constructors ===========================================================
29  
30      public SystemWideSaltSourceTests() {
31          super();
32      }
33  
34      public SystemWideSaltSourceTests(String arg0) {
35          super(arg0);
36      }
37  
38      //~ Methods ================================================================
39  
40      public final void setUp() throws Exception {
41          super.setUp();
42      }
43  
44      public static void main(String[] args) {
45          junit.textui.TestRunner.run(SystemWideSaltSourceTests.class);
46      }
47  
48      public void testDetectsMissingSystemWideSalt() throws Exception {
49          SystemWideSaltSource saltSource = new SystemWideSaltSource();
50  
51          try {
52              saltSource.afterPropertiesSet();
53              fail("Should have thrown IllegalArgumentException");
54          } catch (IllegalArgumentException expected) {
55              assertEquals("A systemWideSalt must be set", expected.getMessage());
56          }
57      }
58  
59      public void testGettersSetters() {
60          SystemWideSaltSource saltSource = new SystemWideSaltSource();
61          saltSource.setSystemWideSalt("helloWorld");
62          assertEquals("helloWorld", saltSource.getSystemWideSalt());
63      }
64  
65      public void testNormalOperation() throws Exception {
66          SystemWideSaltSource saltSource = new SystemWideSaltSource();
67          saltSource.setSystemWideSalt("helloWorld");
68          saltSource.afterPropertiesSet();
69          assertEquals("helloWorld", saltSource.getSalt(null));
70      }
71  }