    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 }