/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.security.userstore.connector.config; import org.junit.Test; import junit.framework.TestCase; public class GroupPolicyConfigTest extends TestCase { @Test public void testReadOnly() { final GroupPolicyConfig config = new GroupPolicyConfig( null, "read" ); assertFalse( config.useLocal() ); assertTrue( config.canRead() ); assertFalse( config.canCreate() ); assertFalse( config.canUpdate() ); assertFalse( config.canDelete() ); } @Test public void testCreateOnly() { final GroupPolicyConfig config = new GroupPolicyConfig( null, "create" ); assertFalse( config.useLocal() ); assertFalse( config.canRead() ); assertTrue( config.canCreate() ); assertFalse( config.canUpdate() ); assertFalse( config.canDelete() ); } @Test public void testUpdateOnly() { final GroupPolicyConfig config = new GroupPolicyConfig( null, "update" ); assertFalse( config.useLocal() ); assertFalse( config.canRead() ); assertFalse( config.canCreate() ); assertTrue( config.canUpdate() ); assertFalse( config.canDelete() ); } @Test public void testDeleteOnly() { final GroupPolicyConfig config = new GroupPolicyConfig( null, "delete" ); assertFalse( config.useLocal() ); assertFalse( config.canRead() ); assertFalse( config.canUpdate() ); assertFalse( config.canCreate() ); assertTrue( config.canDelete() ); } @Test public void testAll() { final GroupPolicyConfig config = new GroupPolicyConfig( null, "all" ); assertFalse( config.useLocal() ); assertTrue( config.canRead() ); assertTrue( config.canUpdate() ); assertTrue( config.canCreate() ); assertTrue( config.canDelete() ); } @Test public void testNone() { final GroupPolicyConfig config = new GroupPolicyConfig( null, "none" ); assertFalse( config.useLocal() ); assertFalse( config.canRead() ); assertFalse( config.canUpdate() ); assertFalse( config.canCreate() ); assertFalse( config.canDelete() ); } @Test public void testLocal() { final GroupPolicyConfig config1 = new GroupPolicyConfig( null, "local" ); assertTrue( config1.useLocal() ); assertFalse( config1.canRead() ); assertTrue( config1.canUpdate() ); assertTrue( config1.canCreate() ); assertTrue( config1.canDelete() ); try { final GroupPolicyConfig config = new GroupPolicyConfig( null, "local,read" ); } catch ( Exception ex ) { assertEquals( InvalidUserStoreConnectorConfigException.class.getName(), ex.getClass().getName() ); } try { final GroupPolicyConfig config = new GroupPolicyConfig( null, "update,local" ); } catch ( Exception ex ) { assertEquals( InvalidUserStoreConnectorConfigException.class.getName(), ex.getClass().getName() ); } } @Test public void testIllegalConfig() { try { final GroupPolicyConfig config = new GroupPolicyConfig( null, "all,none" ); fail( "An exception should have been thrown." ); } catch ( Exception ex ) { assertEquals( InvalidUserStoreConnectorConfigException.class.getName(), ex.getClass().getName() ); } } @Test public void testUnknownConfig() { try { final GroupPolicyConfig config = new GroupPolicyConfig( null, "fisk" ); fail( "An exception should have been thrown." ); } catch ( Exception ex ) { assertEquals( InvalidUserStoreConnectorConfigException.class.getName(), ex.getClass().getName() ); } } @Test public void testMissingConfig() { try { final GroupPolicyConfig config = new GroupPolicyConfig( null, null ); fail( "An exception should have been thrown." ); } catch ( Exception ex ) { assertEquals( InvalidUserStoreConnectorConfigException.class.getName(), ex.getClass().getName() ); } } @Test public void testEmptyConfig() { try { final GroupPolicyConfig config = new GroupPolicyConfig( null, "" ); fail( "An exception should have been thrown." ); } catch ( Exception ex ) { assertEquals( InvalidUserStoreConnectorConfigException.class.getName(), ex.getClass().getName() ); } } }