mondrian.test
Class AccessControlTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by mondrian.test.FoodMartTestCase
              extended by mondrian.test.AccessControlTest
All Implemented Interfaces:
Test

public class AccessControlTest
extends FoodMartTestCase

AccessControlTest is a set of unit-tests for access-control. For these tests, all of the roles are of type RoleImpl.

Since:
Feb 21, 2003
Version:
$Id: //open/mondrian/testsrc/main/mondrian/test/AccessControlTest.java#49 $
Author:
jhyde
See Also:
Role

Nested Class Summary
 
Nested classes/interfaces inherited from class mondrian.test.FoodMartTestCase
FoodMartTestCase.QueryAndResult
 
Field Summary
 
Fields inherited from class mondrian.test.FoodMartTestCase
propSaver
 
Constructor Summary
AccessControlTest(String name)
           
 
Method Summary
 void _testSharedObjectsInGrantMappingsBug()
           
 void testBugBiserver1574()
          Test case for BISERVER-1574, "Cube role rollupPolicy='partial' failure".
 void testBugBiserver2491()
          this tests the fix for http://jira.pentaho.com/browse/BISERVER-2491 rollupPolicy=partial and queries to upper members don't work
 void testBugMondrian402()
          Test case for bug MONDRIAN-402, "Bug in RolapCubeHierarchy.hashCode() ?".
 void testBugMondrian435()
          Testcase for bug MONDRIAN-435, "Internal error in HierarchizeArrayComparator".
 void testBugMondrian436()
          Testcase for bug MONDRIAN-436, "SubstitutingMemberReader.getMemberBuilder gives UnsupportedOperationException".
 void testBugMondrian622()
          Test case for bug MONDRIAN-622, "Poor performance with large union role".
 void testGoodman()
          Testcase for bug MONDRIAN-406, "Rollup policy doesn't work for members that are implicitly visible".
 void testGrantDimensionNone()
           
 void testGrantHierarchy1a()
           
 void testGrantHierarchy1aAllMembers()
           
 void testGrantHierarchy1b()
           
 void testGrantHierarchy1c()
           
 void testGrantHierarchy2()
           
 void testGrantHierarchy3()
           
 void testGrantHierarchy4()
           
 void testGrantHierarchy5()
           
 void testGrantHierarchy6()
           
 void testGrantHierarchy7()
           
 void testGrantHierarchy8()
           
 void testGrantHierarchy8AllMembers()
           
 void testGrantHierarchy9()
          Tests that we only aggregate over SF, LA, even when called from functions.
 void testGrantHierarchyA()
           
 void testNoAccessToCube()
           
 void testNonEmptyAccess()
          Test to verify that non empty crossjoins enforce role access.
 void testNonEmptyAccessLevelMembers()
           
 void testPartialRollupParentChildHierarchy()
           
 void testRoleMemberAccess()
           
 void testRoleMemberAccessNonExistentMemberFails()
           
 void testRollupBottomLevel()
          Tests that members below bottom level are regarded as visible.
 void testRollupPolicyAll()
          The total for [Store].[All Stores] is similarly reduced.
 void testRollupPolicyAllAsDefault()
          Access [Store].[All Stores] implicitly as it is the default member of the [Stores] hierarchy.
 void testRollupPolicyAllAsParent()
          Access [Store].[All Stores] via the Parent relationship (to check that this doesn't circumvent access control).
 void testRollupPolicyBasic()
          Basic test of partial rollup policy.
 void testRollupPolicyGreatGrandchildInvisible()
          Tests where all children are visible but a grandchild is not.
 void testRollupPolicyNegative()
          Tests that a bad value for the rollupPolicy attribute gives the appropriate error.
 void testRollupPolicySimultaneous()
          Tests where two hierarchies are simultaneously access-controlled.
 void testSchemaReader()
           
 void testUnionRole()
           
 void testVirtualCube()
          Tests that hierarchy-level access control works on a virtual cube.
 
Methods inherited from class mondrian.test.FoodMartTestCase
allMember, assertAxisReturns, assertAxisThrows, assertBooleanExprReturns, assertExprReturns, assertExprThrows, assertQueriesReturnSimilarResults, assertQueryReturns, assertQueryThrows, assertSize, cubeByName, execute, executeExpr, executeQuery, executeSingletonAxis, genderMembersIncludingAll, getConnection, getDimensionWithName, getTestContext, getTestContext, isDefaultNullMemberRepresentation, isGroupingSetsSupported, member, productMembersPotScrubbersPotsAndPans, storeMembersCAAndOR, storeMembersUsaAndCanada, tearDown, warehouseMembersCanadaMexicoUsa
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AccessControlTest

public AccessControlTest(String name)
Method Detail

testSchemaReader

public void testSchemaReader()

testGrantDimensionNone

public void testGrantDimensionNone()

testRoleMemberAccessNonExistentMemberFails

public void testRoleMemberAccessNonExistentMemberFails()

testRoleMemberAccess

public void testRoleMemberAccess()

testGrantHierarchy1a

public void testGrantHierarchy1a()

testGrantHierarchy1aAllMembers

public void testGrantHierarchy1aAllMembers()

testGrantHierarchy1b

public void testGrantHierarchy1b()

testGrantHierarchy1c

public void testGrantHierarchy1c()

testGrantHierarchy2

public void testGrantHierarchy2()

testGrantHierarchy3

public void testGrantHierarchy3()

testGrantHierarchy4

public void testGrantHierarchy4()

testGrantHierarchy5

public void testGrantHierarchy5()

testGrantHierarchy6

public void testGrantHierarchy6()

testGrantHierarchy7

public void testGrantHierarchy7()

testGrantHierarchy8

public void testGrantHierarchy8()

testGrantHierarchy8AllMembers

public void testGrantHierarchy8AllMembers()

testGrantHierarchy9

public void testGrantHierarchy9()
Tests that we only aggregate over SF, LA, even when called from functions.


testGrantHierarchyA

public void testGrantHierarchyA()

_testSharedObjectsInGrantMappingsBug

public void _testSharedObjectsInGrantMappingsBug()

testNoAccessToCube

public void testNoAccessToCube()

testRollupPolicyBasic

public void testRollupPolicyBasic()
Basic test of partial rollup policy. [USA] = [OR] + [WA], not the usual [CA] + [OR] + [WA].


testRollupPolicyAll

public void testRollupPolicyAll()
The total for [Store].[All Stores] is similarly reduced. All children of [All Stores] are visible, but one grandchild is not. Normally the total is 266,773.


testRollupPolicyAllAsDefault

public void testRollupPolicyAllAsDefault()
Access [Store].[All Stores] implicitly as it is the default member of the [Stores] hierarchy.


testRollupPolicyAllAsParent

public void testRollupPolicyAllAsParent()
Access [Store].[All Stores] via the Parent relationship (to check that this doesn't circumvent access control).


testRollupBottomLevel

public void testRollupBottomLevel()
Tests that members below bottom level are regarded as visible.


testRollupPolicyNegative

public void testRollupPolicyNegative()
Tests that a bad value for the rollupPolicy attribute gives the appropriate error.


testRollupPolicyGreatGrandchildInvisible

public void testRollupPolicyGreatGrandchildInvisible()
Tests where all children are visible but a grandchild is not.


testRollupPolicySimultaneous

public void testRollupPolicySimultaneous()
Tests where two hierarchies are simultaneously access-controlled.


testUnionRole

public void testUnionRole()

testNonEmptyAccess

public void testNonEmptyAccess()
Test to verify that non empty crossjoins enforce role access. Testcase for bug MONDRIAN-369, "Non Empty Crossjoin fails to enforce role access".


testNonEmptyAccessLevelMembers

public void testNonEmptyAccessLevelMembers()

testGoodman

public void testGoodman()
Testcase for bug MONDRIAN-406, "Rollup policy doesn't work for members that are implicitly visible".


testBugMondrian402

public void testBugMondrian402()
Test case for bug MONDRIAN-402, "Bug in RolapCubeHierarchy.hashCode() ?". Access-control elements for hierarchies with same name in different cubes could not be distinguished.


testPartialRollupParentChildHierarchy

public void testPartialRollupParentChildHierarchy()

testBugBiserver1574

public void testBugBiserver1574()
Test case for BISERVER-1574, "Cube role rollupPolicy='partial' failure". The problem was a NullPointerException in SchemaReader.getMemberParent(mondrian.olap.Member) when called on a members returned in a result set. JPivot calls that method but Mondrian normally does not.


testBugMondrian435

public void testBugMondrian435()
Testcase for bug MONDRIAN-435, "Internal error in HierarchizeArrayComparator". Occurs when apply Hierarchize function to tuples on a hierarchy with partial-rollup.


testBugMondrian436

public void testBugMondrian436()
Testcase for bug MONDRIAN-436, "SubstitutingMemberReader.getMemberBuilder gives UnsupportedOperationException".


testVirtualCube

public void testVirtualCube()
Tests that hierarchy-level access control works on a virtual cube. See bug MONDRIAN-456, "Roles and virtual cubes".


testBugBiserver2491

public void testBugBiserver2491()
this tests the fix for http://jira.pentaho.com/browse/BISERVER-2491 rollupPolicy=partial and queries to upper members don't work


testBugMondrian622

public void testBugMondrian622()
Test case for bug MONDRIAN-622, "Poor performance with large union role".


Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads