    1   /*
    2    * Copyright (c) 2003
    3    * Information Desire GmbH
    4    * All rights reserved.
    5    */
    6   package com.infodesire.infobit;
    7
    8   import junit.framework.TestCase;
    9   import junit.framework.TestSuite;
    10
    11  import com.infodesire.infobit.data.Acl;
    12  import com.infodesire.infobit.data.Capability;
    13
    14  /***
    15   * test for creation and modification of ACLs and capabilities
    16   *
    17   * @author    konstantin
    18   * @created   August 13, 2003
    19   * @version   $Revision: 1.3 $
    20   */
    21  public class CapabilityTest extends InfobitTestBase {
    22
    23      /***
    24       * constructor for test suite.
    25       *
    26       * @param name  test suite name
    27       */
    28      public CapabilityTest(String name) {
    29          super(name);
    30      }
    31
    32
    33      /***
    34       * test creation and manipulation of capabilities
    35       *
    36       * @exception Exception  Description of Exception
    37       */
    38      public void testCapabilityCreation() throws Exception {
    39          InfobitPool pool = _configuration.getPool("superuser_pool");
    40          AclManager manager = pool.getAclManager();
    41
    42          Capability cap = manager.createCapability("blabla");
    43          assertEquals(cap.getName(), "blabla");
    44          cap.setDescription("blurge");
    45          manager.updateCapability(cap);
    46
    47          cap = manager.getCapability("blabla");
    48          assertEquals("blurge", cap.getDescription());
    49          Capability cap2 = manager.getCapability("blabla");
    50          assertEquals(cap, cap2);
    51          assertEquals(1, manager.listCapabilities().size());
    52
    53          boolean bombed = false;
    54          try {
    55              manager.createCapability("blabla");
    56          } catch (InfobitException ie) {
    57              bombed = true;
    58          }
    59          assertTrue("allowed creation of duplicate capability", bombed);
    60
    61      }
    62
    63
    64      /***
    65       * A unit test for JUnit
    66       *
    67       * @exception Exception  Description of Exception
    68       */
    69      public void testCapabilityRemoval() throws Exception {
    70          InfobitPool pool = _configuration.getPool("superuser_pool");
    71          AclManager manager = pool.getAclManager();
    72
    73          Capability cap = manager.createCapability("blabla");
    74          assertEquals(1, manager.listCapabilities().size());
    75
    76          manager.removeCapability(cap);
    77          assertNull(manager.getCapability("blabla"));
    78          assertTrue(manager.listCapabilities().isEmpty());
    79
    80      }
    81
    82
    83      /***
    84       * we test that it's impossible to modify acl without proper security role
    85       *
    86       * @exception Exception  junit likes to throw exceptions...
    87       */
    88      public void testSecurity() throws Exception {
    89          boolean bombed = false;
    90          InfobitPool pool = _configuration.getPool("pool_one");
    91          InfobitPool supool = _configuration.getPool("superuser_pool");
    92          supool.getAclManager().createAcl("foobar");
    93          try {
    94              pool.getAclManager().createCapability("foobar");
    95          } catch (InfobitSecurityException ex) {
    96              bombed = true;
    97          }
    98
    99          assertTrue("Allowed Capability creaton without proper permissions", bombed);
    100         bombed = false;
    101
    102         Capability foobar = pool.getAclManager().getCapability("foobar");
    103         try {
    104             pool.getAclManager().updateCapability(foobar);
    105         } catch (InfobitSecurityException ex) {
    106             bombed = true;
    107         }
    108         assertTrue("Allowed acl update without proper permissions", bombed);
    109         bombed = false;
    110
    111         try {
    112             pool.getAclManager().removeCapability(foobar);
    113         } catch (InfobitSecurityException ex) {
    114             bombed = true;
    115         }
    116
    117         assertTrue("Allowed acl removal without proper permissions", bombed);
    118
    119     }
    120
    121 }

This page was automatically generated by Maven