Search in sources :

Example 1 with QueryTest

use of org.teiid.test.client.QueryTest in project teiid by teiid.

the class XMLExpectedResults method main.

public static void main(String[] args) {
    System.setProperty(ConfigPropertyNames.CONFIG_FILE, "ctc-bqt-test.properties");
    ConfigPropertyLoader _instance = ConfigPropertyLoader.getInstance();
    Properties p = _instance.getProperties();
    if (p == null || p.isEmpty()) {
        throw new RuntimeException("Failed to load config properties file");
    }
    QueryScenario set = ClassFactory.createQueryScenario("testscenario");
    _instance.setProperty(XMLQueryReader.PROP_QUERY_FILES_ROOT_DIR, new File("src/main/resources/").getAbsolutePath());
    try {
        Iterator<String> it = set.getQuerySetIDs().iterator();
        while (it.hasNext()) {
            String querySetID = it.next();
            List<QueryTest> queries = set.getQueries(querySetID);
            if (queries.size() == 0l) {
                System.out.println("Failed, didn't load any queries ");
            }
            ExpectedResults er = set.getExpectedResults(querySetID);
            // new XMLExpectedResults(_instance.getProperties(), querySetID);
            ResultsGenerator gr = set.getResultsGenerator();
            // new XMLGenerateResults(_instance.getProperties(), "testname", set.getOutputDirectory());
            Iterator<QueryTest> qIt = queries.iterator();
            while (qIt.hasNext()) {
                QueryTest q = qIt.next();
                // String qId = (String) qIt.next();
                // String sql = (String) queries.get(qId);
                // System.out.println("SetID #: " + cnt + "  Qid: " + qId + "   sql: " + sql);
                File resultsFile = er.getResultsFile(q.getQueryID());
                if (resultsFile == null) {
                    System.out.println("Failed to get results file for queryID " + q.getQueryID());
                }
            }
        }
        System.out.println("Completed Test");
    } catch (QueryTestFailedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
Also used : QueryTest(org.teiid.test.client.QueryTest) ExpectedResults(org.teiid.test.client.ExpectedResults) TestProperties(org.teiid.test.client.TestProperties) Properties(java.util.Properties) QueryTestFailedException(org.teiid.test.framework.exception.QueryTestFailedException) ConfigPropertyLoader(org.teiid.test.framework.ConfigPropertyLoader) QueryScenario(org.teiid.test.client.QueryScenario) ResultsGenerator(org.teiid.test.client.ResultsGenerator) File(java.io.File)

Example 2 with QueryTest

use of org.teiid.test.client.QueryTest in project teiid by teiid.

the class XMLQueryVisitationStrategy method parseXMLQueryFile.

/**
 * Consume an XML Query File and produce a Map containing queries, with
 * queryNames/IDs as Keys.
 * <br>
 * @param queryFile the XML file object that is to be parsed
 * @return the List containing quers.
 * @exception JDOMException if there is an error consuming the message.
 */
public List parseXMLQueryFile(String queryScenarioID, File queryFile, String querySetID) throws IOException, JDOMException {
    List<QueryTest> queries = new LinkedList();
    // HashMap queryMap = new HashMap();
    SAXBuilder builder = SAXBuilderHelper.createSAXBuilder(false);
    Document queryDocument = builder.build(queryFile);
    List queryElements = queryDocument.getRootElement().getChildren(TagNames.Elements.QUERY);
    Iterator iter = queryElements.iterator();
    while (iter.hasNext()) {
        Element queryElement = (Element) iter.next();
        String queryName = queryElement.getAttributeValue(TagNames.Attributes.NAME);
        if (queryElement.getChild(TagNames.Elements.EXCEPTION) == null) {
            String uniqueID = querySetID + "_" + queryName;
            List<Element> parmChildren = queryElement.getChildren(TagNames.Elements.SQL);
            if (parmChildren == null || parmChildren.isEmpty()) {
                TestLogger.logDebug("=======  Single QueryTest ");
                QuerySQL sql = createQuerySQL(queryElement);
                QueryTest q = new QueryTest(queryScenarioID, uniqueID, querySetID, new QuerySQL[] { sql }, false);
                queries.add(q);
            } else {
                TestLogger.logDebug("=======  QueryTest has multiple sql statements");
                QuerySQL[] querysql = new QuerySQL[parmChildren.size()];
                int c = 0;
                final Iterator<Element> sqliter = parmChildren.iterator();
                while (sqliter.hasNext()) {
                    final Element sqlElement = (Element) sqliter.next();
                    QuerySQL sql = createQuerySQL(sqlElement);
                    querysql[c] = sql;
                    c++;
                }
                QueryTest q = new QueryTest(queryScenarioID, uniqueID, querySetID, querysql, false);
                queries.add(q);
            }
        // queryMap.put(queryName, query);
        } else {
            Element exceptionElement = queryElement.getChild(TagNames.Elements.EXCEPTION);
            String exceptionType = exceptionElement.getChild(TagNames.Elements.CLASS).getTextTrim();
            String uniqueID = querySetID + "_" + queryName;
            QuerySQL sql = new QuerySQL(exceptionType, null);
            QueryTest q = new QueryTest(queryScenarioID, uniqueID, querySetID, new QuerySQL[] { sql }, true);
            queries.add(q);
        // queryMap.put(queryName, exceptionType);
        }
    }
    return queries;
}
Also used : SAXBuilder(org.jdom.input.SAXBuilder) QueryTest(org.teiid.test.client.QueryTest) Element(org.jdom.Element) Document(org.jdom.Document) QuerySQL(org.teiid.test.client.QuerySQL)

Example 3 with QueryTest

use of org.teiid.test.client.QueryTest in project teiid by teiid.

the class XMLQueryReader method main.

public static void main(String[] args) {
    System.setProperty(ConfigPropertyNames.CONFIG_FILE, "ctc-bqt-test.properties");
    ConfigPropertyLoader _instance = ConfigPropertyLoader.getInstance();
    Properties p = _instance.getProperties();
    if (p == null || p.isEmpty()) {
        throw new RuntimeException("Failed to load config properties file");
    }
    _instance.setProperty(PROP_QUERY_FILES_ROOT_DIR, new File("src/main/resources/").getAbsolutePath());
    try {
        XMLQueryReader reader = new XMLQueryReader("scenario_id", _instance.getProperties());
        Iterator<String> it = reader.getQuerySetIDs().iterator();
        while (it.hasNext()) {
            String querySetID = it.next();
            List<QueryTest> queries = reader.getQueries(querySetID);
            if (queries.size() == 0l) {
                System.out.println("Failed, didn't load any queries ");
            }
        }
    } catch (QueryTestFailedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
Also used : QueryTestFailedException(org.teiid.test.framework.exception.QueryTestFailedException) ConfigPropertyLoader(org.teiid.test.framework.ConfigPropertyLoader) TransactionRuntimeException(org.teiid.test.framework.exception.TransactionRuntimeException) QueryTest(org.teiid.test.client.QueryTest) Properties(java.util.Properties) File(java.io.File)

Aggregations

QueryTest (org.teiid.test.client.QueryTest)3 File (java.io.File)2 Properties (java.util.Properties)2 ConfigPropertyLoader (org.teiid.test.framework.ConfigPropertyLoader)2 QueryTestFailedException (org.teiid.test.framework.exception.QueryTestFailedException)2 Document (org.jdom.Document)1 Element (org.jdom.Element)1 SAXBuilder (org.jdom.input.SAXBuilder)1 ExpectedResults (org.teiid.test.client.ExpectedResults)1 QuerySQL (org.teiid.test.client.QuerySQL)1 QueryScenario (org.teiid.test.client.QueryScenario)1 ResultsGenerator (org.teiid.test.client.ResultsGenerator)1 TestProperties (org.teiid.test.client.TestProperties)1 TransactionRuntimeException (org.teiid.test.framework.exception.TransactionRuntimeException)1