mondrian.xmla
Class XmlaBaseTestCase
java.lang.Object
junit.framework.Assert
junit.framework.TestCase
mondrian.test.FoodMartTestCase
mondrian.xmla.XmlaBaseTestCase
- All Implemented Interfaces:
- junit.framework.Test
- Direct Known Subclasses:
- XmlaBasicTest, XmlaCognosTest, XmlaErrorTest, XmlaExcel2000Test, XmlaExcel2007Test, XmlaExcelXPTest, XmlaMetaDataConstraintsTest, XmlaTabularTest
public abstract class XmlaBaseTestCase
- extends FoodMartTestCase
Extends FoodMartTestCase, adding support for testing XMLA specific
functionality, for example LAST_SCHEMA_UPDATE
- Author:
- mkambol
Method Summary |
protected void |
doTest(MockHttpServletRequest req,
Properties props)
|
void |
doTest(Properties props)
|
void |
doTest(String requestType,
Properties props,
TestContext testContext)
Executes an XMLA request, reading the text of the request and the
response from attributes in getDiffRepos() . |
void |
doTest(String requestType,
Properties props,
TestContext testContext,
Role role)
|
void |
doTestInline(String requestType,
String requestText,
String respFileName,
Properties props,
TestContext testContext)
|
void |
doTestInline(String requestType,
String requestText,
String respFileName,
Properties props,
TestContext testContext,
Role role)
|
protected void |
doTests(String soapRequestText,
Properties props,
TestContext testContext,
String connectString,
Map<String,String> catalogNameUrls,
Document expectedDoc,
XmlaConstants.Content content,
Role role,
boolean replace)
Executes a SOAP request. |
protected void |
doTestsJson(String soapRequestText,
Properties props,
TestContext testContext,
String connectString,
Map<String,String> catalogNameUrls,
String expectedStr,
XmlaConstants.Content content,
Role role)
|
protected Document |
fileToDocument(String filename,
Properties props)
|
protected String |
fileToString(String filename)
|
protected String |
filter(String testCaseName,
String filename,
String content)
Filters the content of a test resource. |
protected String |
filterConnectString(String original)
|
protected String |
generateExpectedString(Properties props)
|
protected String |
generateRequestString(Properties props)
|
protected Map<String,String> |
getCatalogNameUrls(TestContext testContext)
|
protected Properties |
getDefaultRequestProperties(String requestType)
|
protected abstract DiffRepository |
getDiffRepos()
|
protected javax.servlet.Servlet |
getServlet(TestContext testContext)
|
protected abstract Class<? extends XmlaRequestCallback> |
getServletCallbackClass()
|
protected static String |
getSessionId(String name,
XmlaBaseTestCase.Action action)
|
protected abstract String |
getSessionId(XmlaBaseTestCase.Action action)
Creates, retrieves or clears the session id for this test. |
protected void |
helperTest(boolean doSessionId)
|
protected void |
helperTestExpect(boolean doSessionId)
|
protected Document |
replaceLastSchemaUpdateDate(Document doc)
|
protected void |
tearDown()
|
protected void |
validate(byte[] bytes,
Document expectedDoc,
TestContext testContext,
boolean replace,
boolean validate)
|
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, 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 |
LAST_SCHEMA_UPDATE_DATE
protected static final String LAST_SCHEMA_UPDATE_DATE
- See Also:
- Constant Field Values
catalogNameUrls
protected SortedMap<String,String> catalogNameUrls
SESSION_ID_PROP
public static final String SESSION_ID_PROP
- See Also:
- Constant Field Values
REQUEST_TYPE_PROP
public static final String REQUEST_TYPE_PROP
- See Also:
- Constant Field Values
DATA_SOURCE_INFO_PROP
public static final String DATA_SOURCE_INFO_PROP
- See Also:
- Constant Field Values
DATA_SOURCE_INFO
public static final String DATA_SOURCE_INFO
- See Also:
- Constant Field Values
CATALOG_PROP
public static final String CATALOG_PROP
- See Also:
- Constant Field Values
CATALOG_NAME_PROP
public static final String CATALOG_NAME_PROP
- See Also:
- Constant Field Values
CATALOG
public static final String CATALOG
- See Also:
- Constant Field Values
CUBE_NAME_PROP
public static final String CUBE_NAME_PROP
- See Also:
- Constant Field Values
SALES_CUBE
public static final String SALES_CUBE
- See Also:
- Constant Field Values
FORMAT_PROP
public static final String FORMAT_PROP
- See Also:
- Constant Field Values
FORMAT_MULTI_DIMENSIONAL
public static final String FORMAT_MULTI_DIMENSIONAL
- See Also:
- Constant Field Values
ROLE_PROP
public static final String ROLE_PROP
- See Also:
- Constant Field Values
LOCALE_PROP
public static final String LOCALE_PROP
- See Also:
- Constant Field Values
DEBUG
protected static final boolean DEBUG
- See Also:
- Constant Field Values
XmlaBaseTestCase
public XmlaBaseTestCase()
XmlaBaseTestCase
public XmlaBaseTestCase(String name)
tearDown
protected void tearDown()
throws Exception
- Overrides:
tearDown
in class FoodMartTestCase
- Throws:
Exception
generateExpectedString
protected String generateExpectedString(Properties props)
throws Exception
- Throws:
Exception
generateRequestString
protected String generateRequestString(Properties props)
throws Exception
- Throws:
Exception
validate
protected void validate(byte[] bytes,
Document expectedDoc,
TestContext testContext,
boolean replace,
boolean validate)
throws Exception
- Throws:
Exception
doTest
public void doTest(Properties props)
throws Exception
- Throws:
Exception
doTest
protected void doTest(MockHttpServletRequest req,
Properties props)
throws Exception
- Throws:
Exception
helperTestExpect
protected void helperTestExpect(boolean doSessionId)
helperTest
protected void helperTest(boolean doSessionId)
getDiffRepos
protected abstract DiffRepository getDiffRepos()
fileToString
protected String fileToString(String filename)
throws Exception
- Throws:
Exception
replaceLastSchemaUpdateDate
protected Document replaceLastSchemaUpdateDate(Document doc)
getCatalogNameUrls
protected Map<String,String> getCatalogNameUrls(TestContext testContext)
getServlet
protected javax.servlet.Servlet getServlet(TestContext testContext)
throws IOException,
javax.servlet.ServletException,
SAXException
- Throws:
IOException
javax.servlet.ServletException
SAXException
filterConnectString
protected String filterConnectString(String original)
getServletCallbackClass
protected abstract Class<? extends XmlaRequestCallback> getServletCallbackClass()
getDefaultRequestProperties
protected Properties getDefaultRequestProperties(String requestType)
fileToDocument
protected Document fileToDocument(String filename,
Properties props)
throws IOException,
SAXException
- Throws:
IOException
SAXException
filter
protected String filter(String testCaseName,
String filename,
String content)
- Filters the content of a test resource. The default implementation
returns the content unchanged, but a derived class might override this
method to change the content.
- Parameters:
testCaseName
- Name of current test case, e.g. "testFoo"filename
- Name of requested content, e.g. "${request}"content
- Content
- Returns:
- Modified content
doTest
public void doTest(String requestType,
Properties props,
TestContext testContext)
throws Exception
- Executes an XMLA request, reading the text of the request and the
response from attributes in
getDiffRepos()
.
- Parameters:
requestType
- Request type: "DISCOVER_DATASOURCES", "EXECUTE", etc.props
- Properties for requesttestContext
- Test context
- Throws:
Exception
- on error
doTest
public void doTest(String requestType,
Properties props,
TestContext testContext,
Role role)
throws Exception
- Throws:
Exception
doTestInline
public void doTestInline(String requestType,
String requestText,
String respFileName,
Properties props,
TestContext testContext)
throws Exception
- Throws:
Exception
doTestInline
public void doTestInline(String requestType,
String requestText,
String respFileName,
Properties props,
TestContext testContext,
Role role)
throws Exception
- Throws:
Exception
doTests
protected void doTests(String soapRequestText,
Properties props,
TestContext testContext,
String connectString,
Map<String,String> catalogNameUrls,
Document expectedDoc,
XmlaConstants.Content content,
Role role,
boolean replace)
throws Exception
- Executes a SOAP request.
- Parameters:
soapRequestText
- SOAP requestprops
- Name/value pairs to substitute in the requesttestContext
- Test contextconnectString
- Connect stringcatalogNameUrls
- Map from catalog names to URLexpectedDoc
- Expected SOAP outputcontent
- Content typerole
- Role in which to execute query, or nullreplace
- Whether to generate a replacement reference log into
TestName.log.xml if there is an exception. If you are running the same
request with different content types and the same reference log, you
should pass true
for the content type that has the most
information (generally
XmlaConstants.Content.SchemaData
)
- Throws:
Exception
- on error
doTestsJson
protected void doTestsJson(String soapRequestText,
Properties props,
TestContext testContext,
String connectString,
Map<String,String> catalogNameUrls,
String expectedStr,
XmlaConstants.Content content,
Role role)
throws Exception
- Throws:
Exception
getSessionId
protected abstract String getSessionId(XmlaBaseTestCase.Action action)
- Creates, retrieves or clears the session id for this test.
- Parameters:
action
- Action to perform
- Returns:
- Session id for create, query; null for clear
getSessionId
protected static String getSessionId(String name,
XmlaBaseTestCase.Action action)