Skip to content

Commit

Permalink
Test case for mondrian bug 2046318, 'olap4j driver should throw OlapE…
Browse files Browse the repository at this point in the history
…xception on validate error'

git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@106 c6a108a4-781c-0410-a6c6-c2d559e19af0
  • Loading branch information
julianhyde committed Aug 11, 2008
1 parent 88e52dd commit daeb88e
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions testsrc/org/olap4j/ConnectionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1702,6 +1702,42 @@ public void testParseQueryWithNoFilter() throws Exception {
}
}

public void testValidateError() throws Exception {
if (tester.getFlavor() == TestContext.Tester.Flavor.XMLA) {
// This test requires validator support.
return;
}
Class.forName(tester.getDriverClassName());
connection = tester.createConnection();
OlapConnection olapConnection =
tester.getWrapper().unwrap(connection, OlapConnection.class);

final MdxParserFactory parserFactory =
olapConnection.getParserFactory();
MdxParser mdxParser =
parserFactory.createMdxParser(olapConnection);
MdxValidator mdxValidator =
parserFactory.createMdxValidator(olapConnection);

SelectNode select =
mdxParser.parseSelect(
"select ([Gender], [Store]) on columns\n,"
+ "crossjoin([Customers].[City].Members, [Gender].members) on rows\n"
+ "from [sales]");
AxisNode filterAxis = select.getFilterAxis();
assertNull(filterAxis);

try {
select = mdxValidator.validateSelect(select);
fail("expected parse error, got " + select);
} catch (OlapException e) {
assertEquals("Validation error", e.getMessage());
assertTrue(
TestContext.getStackTrace(e).contains(
"Dimension '[Gender]' appears in more than one independent axis."));
}
}

// TODO: test for HierarchyType
// TODO: test for DimensionType
// TODO: test for LevelType
Expand Down

0 comments on commit daeb88e

Please sign in to comment.