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;
17  
18  import junit.framework.TestCase;
19  
20  
21  /***
22   * Tests {@link GrantedAuthorityImpl}.
23   *
24   * @author Ben Alex
25   * @version $Id: GrantedAuthorityImplTests.java,v 1.3 2005/11/17 00:55:47 benalex Exp $
26   */
27  public class GrantedAuthorityImplTests extends TestCase {
28      //~ Constructors ===========================================================
29  
30      public GrantedAuthorityImplTests() {
31          super();
32      }
33  
34      public GrantedAuthorityImplTests(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(GrantedAuthorityImplTests.class);
46      }
47  
48      public void testNoArgsConstructor() {
49          try {
50              new GrantedAuthorityImpl();
51              fail("Should have thrown IllegalArgumentException");
52          } catch (IllegalArgumentException expected) {
53              assertTrue(true);
54          }
55      }
56  
57      public void testObjectEquals() throws Exception {
58          GrantedAuthorityImpl auth1 = new GrantedAuthorityImpl("TEST");
59          GrantedAuthorityImpl auth2 = new GrantedAuthorityImpl("TEST");
60          assertEquals(auth1, auth2);
61  
62          String authString1 = "TEST";
63          assertEquals(auth1, authString1);
64  
65          String authString2 = "NOT_EQUAL";
66          assertTrue(!auth1.equals(authString2));
67  
68          GrantedAuthorityImpl auth3 = new GrantedAuthorityImpl("NOT_EQUAL");
69          assertTrue(!auth1.equals(auth3));
70  
71          MockGrantedAuthorityImpl mock1 = new MockGrantedAuthorityImpl("TEST");
72          assertEquals(auth1, mock1);
73  
74          MockGrantedAuthorityImpl mock2 = new MockGrantedAuthorityImpl(
75                  "NOT_EQUAL");
76          assertTrue(!auth1.equals(mock2));
77  
78          Integer int1 = new Integer(222);
79          assertTrue(!auth1.equals(int1));
80      }
81  
82      public void testToString() {
83          GrantedAuthorityImpl auth = new GrantedAuthorityImpl("TEST");
84          assertEquals("TEST", auth.toString());
85      }
86  
87      //~ Inner Classes ==========================================================
88  
89      private class MockGrantedAuthorityImpl implements GrantedAuthority {
90          private String role;
91  
92          public MockGrantedAuthorityImpl(String role) {
93              this.role = role;
94          }
95  
96          private MockGrantedAuthorityImpl() {
97              super();
98          }
99  
100         public String getAuthority() {
101             return this.role;
102         }
103     }
104 }