mondrian.test
Class DrillThroughTest

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

public class DrillThroughTest
extends FoodMartTestCase

Test generation of SQL to access the fact table data underlying an MDX result set.

Since:
May 10, 2006
Author:
jhyde

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
DrillThroughTest()
           
DrillThroughTest(String name)
           
 
Method Summary
 void testBug1438285()
          This tests for bug 1438285, "nameColumn cannot be column in level definition".
 void testDrillThrough()
           
 void testDrillThrough2()
           
 void testDrillThrough3()
           
 void testDrillThroughBugMondrian180()
          Test case for bug MONDRIAN-180, "Drillthrough fails, if Aggregate in MDX-query".
 void testDrillThroughCalcMemberInSlicer()
          Test case for bug MONDRIAN-751, "Drill SQL does not include slicer members in WHERE clause".
 void testDrillThroughCalculatedMemberMeasure()
           
 void testDrillthroughDisable()
           
 void testDrillThroughDupKeys()
          Tests that drill-through works if two dimension tables have primary key columns with the same name.
 void testDrillThroughExprs()
           
 void testDrillthroughMaxRows()
           
 void testDrillThroughMeasureExp()
          Tests that proper SQL is being generated for a Measure specified as an expression.
 void testDrillThroughMultiPositionCompoundSlicer()
          Test case for MONDRIAN-791.
 void testDrillthroughNegativeMaxRowsFails()
           
 void testDrillThroughNotDrillableFails()
           
 void testDrillThroughOneAxis()
          Test case for bug MONDRIAN-752, "cell.getDrillCount returns 0".
 void testDrillThroughVirtualCube()
          Tests that cells in a virtual cube say they can be drilled through.
 void testTrivialCalcMemberDrillThrough()
           
 void testTrivialCalcMemberNotMeasure()
           
 void testTruncateLevelName()
          Tests that long levels do not result in column aliases larger than the database can handle.
 
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, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DrillThroughTest

public DrillThroughTest()

DrillThroughTest

public DrillThroughTest(String name)
Method Detail

testTrivialCalcMemberDrillThrough

public void testTrivialCalcMemberDrillThrough()

testTrivialCalcMemberNotMeasure

public void testTrivialCalcMemberNotMeasure()

testDrillThrough

public void testDrillThrough()

testDrillThrough2

public void testDrillThrough2()

testDrillThrough3

public void testDrillThrough3()

testDrillThroughBugMondrian180

public void testDrillThroughBugMondrian180()
Test case for bug MONDRIAN-180, "Drillthrough fails, if Aggregate in MDX-query". The problem actually occurs with any calculated member, not just Aggregate. The bug was causing a syntactically invalid constraint to be added to the WHERE clause; after the fix, we do not constrain on the member at all.


testDrillThroughMeasureExp

public void testDrillThroughMeasureExp()
Tests that proper SQL is being generated for a Measure specified as an expression.


testDrillThroughDupKeys

public void testDrillThroughDupKeys()
Tests that drill-through works if two dimension tables have primary key columns with the same name. Related to bug 1592556, "XMLA Drill through bug".


testDrillThroughVirtualCube

public void testDrillThroughVirtualCube()
Tests that cells in a virtual cube say they can be drilled through.


testBug1438285

public void testBug1438285()
This tests for bug 1438285, "nameColumn cannot be column in level definition".


testTruncateLevelName

public void testTruncateLevelName()
                           throws Exception
Tests that long levels do not result in column aliases larger than the database can handle. For example, Access allows maximum of 64; Oracle allows 30.

Testcase for bug 1893959, "Generated drill-through columns too long for DBMS".

Throws:
Exception - on error

testDrillThroughExprs

public void testDrillThroughExprs()

testDrillthroughMaxRows

public void testDrillthroughMaxRows()
                             throws SQLException
Throws:
SQLException

testDrillthroughNegativeMaxRowsFails

public void testDrillthroughNegativeMaxRowsFails()
                                          throws SQLException
Throws:
SQLException

testDrillThroughCalculatedMemberMeasure

public void testDrillThroughCalculatedMemberMeasure()

testDrillThroughNotDrillableFails

public void testDrillThroughNotDrillableFails()

testDrillThroughOneAxis

public void testDrillThroughOneAxis()
Test case for bug MONDRIAN-752, "cell.getDrillCount returns 0".


testDrillThroughCalcMemberInSlicer

public void testDrillThroughCalcMemberInSlicer()
Test case for bug MONDRIAN-751, "Drill SQL does not include slicer members in WHERE clause".


testDrillThroughMultiPositionCompoundSlicer

public void testDrillThroughMultiPositionCompoundSlicer()
Test case for MONDRIAN-791.


testDrillthroughDisable

public void testDrillthroughDisable()

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