1
0
Fork 0

centralise AQL tests

This commit is contained in:
Jan Steemann 2013-07-17 22:16:06 +02:00
parent 592a182e96
commit e1bf9b9a9e
2 changed files with 31 additions and 40 deletions

View File

@ -76,7 +76,7 @@ function normalizeRow (row) {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
function getQueryResults (query, bindVars) { function getQueryResults (query, bindVars) {
var queryResult = internal.AQL_QUERY(query, bindVars); var queryResult = internal.AQL_QUERY(query, bindVars, true, 3000);
if (queryResult instanceof arangodb.ArangoCursor) { if (queryResult instanceof arangodb.ArangoCursor) {
queryResult = queryResult.toArray(); queryResult = queryResult.toArray();
@ -91,6 +91,20 @@ function getQueryResults (query, bindVars) {
return queryResult; return queryResult;
} }
////////////////////////////////////////////////////////////////////////////////
/// @brief return the results of a query in a normalised way
////////////////////////////////////////////////////////////////////////////////
function getRawQueryResults (query, bindVars) {
var queryResult = internal.AQL_QUERY(query, bindVars, true, 3000);
if (queryResult instanceof arangodb.ArangoCursor) {
queryResult = queryResult.toArray();
}
return queryResult;
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief assert a specific error code when running a query /// @brief assert a specific error code when running a query
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -119,8 +133,9 @@ function assertQueryError (errorCode, query, bindVars) {
/// @{ /// @{
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
exports.assertQueryError = assertQueryError; exports.assertQueryError = assertQueryError;
exports.getQueryResults = getQueryResults; exports.getQueryResults = getQueryResults;
exports.getRawQueryResults = getRawQueryResults;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @} /// @}

View File

@ -27,7 +27,10 @@
var internal = require("internal"); var internal = require("internal");
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var QUERY = internal.AQL_QUERY; var helper = require("org/arangodb/aql-helper");
var getQueryResults = helper.getQueryResults;
var getRawQueryResults = helper.getRawQueryResults;
var assertQueryError = helper.assertQueryError;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief test suite /// @brief test suite
@ -37,33 +40,6 @@ function ahuacatlComplexTestSuite () {
var errors = internal.errors; var errors = internal.errors;
var numbers = null; var numbers = null;
////////////////////////////////////////////////////////////////////////////////
/// @brief execute a given query
////////////////////////////////////////////////////////////////////////////////
function executeQuery (query, bindVars) {
var cursor = QUERY(query, bindVars, false, 3000);
return cursor;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief execute a given query and return the results as an array
////////////////////////////////////////////////////////////////////////////////
function getQueryResults (query, bindVars) {
var result = executeQuery(query, bindVars).getRows();
return result;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief return the error code from a result
////////////////////////////////////////////////////////////////////////////////
function getErrorCode (result) {
return result.errorNum;
}
return { return {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -98,7 +74,7 @@ function ahuacatlComplexTestSuite () {
for (var i = -1000; i <= 1000; ++i) { for (var i = -1000; i <= 1000; ++i) {
list.push(i); list.push(i);
} }
var actual = getQueryResults("FOR u IN [ 1, 2, 3, 129, -4 ] FILTER u IN " + JSON.stringify(list) + " RETURN u", { }); var actual = getQueryResults("FOR u IN [ 1, 2, 3, 129, -4 ] FILTER u IN " + JSON.stringify(list) + " RETURN u");
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -113,7 +89,7 @@ function ahuacatlComplexTestSuite () {
for (var i = 1000; i >= -1000; --i) { for (var i = 1000; i >= -1000; --i) {
list.push(i); list.push(i);
} }
var actual = getQueryResults("FOR u IN [ 1, 2, 3, 129, -4 ] FILTER u IN " + JSON.stringify(list) + " RETURN u", { }); var actual = getQueryResults("FOR u IN [ 1, 2, 3, 129, -4 ] FILTER u IN " + JSON.stringify(list) + " RETURN u");
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -128,7 +104,7 @@ function ahuacatlComplexTestSuite () {
for (var i = -1000; i <= 1000; ++i) { for (var i = -1000; i <= 1000; ++i) {
list.push(i); list.push(i);
} }
var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " FILTER u IN [ 1, 2, 3, 129, -4 ] RETURN u", { }); var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " FILTER u IN [ 1, 2, 3, 129, -4 ] RETURN u");
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -143,7 +119,7 @@ function ahuacatlComplexTestSuite () {
for (var i = 1000; i >= -1000; --i) { for (var i = 1000; i >= -1000; --i) {
list.push(i); list.push(i);
} }
var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " FILTER u IN [ 1, 2, 3, 129, -4 ] RETURN u", { }); var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " FILTER u IN [ 1, 2, 3, 129, -4 ] RETURN u");
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -157,7 +133,7 @@ function ahuacatlComplexTestSuite () {
list.push(i); list.push(i);
} }
var expected = list; var expected = list;
var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " RETURN u", { }); var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " RETURN u");
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -171,7 +147,7 @@ function ahuacatlComplexTestSuite () {
list.push(i); list.push(i);
} }
var expected = list; var expected = list;
var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " FILTER u IN " + JSON.stringify(list) + " RETURN u", { }); var actual = getQueryResults("FOR u IN " + JSON.stringify(list) + " FILTER u IN " + JSON.stringify(list) + " RETURN u");
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -188,7 +164,7 @@ function ahuacatlComplexTestSuite () {
} }
var expected = [ list ]; var expected = [ list ];
var actual = getQueryResults("RETURN " + JSON.stringify(list), { }); var actual = getQueryResults("RETURN " + JSON.stringify(list));
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -203,7 +179,7 @@ function ahuacatlComplexTestSuite () {
} }
var expected = [ vars ]; var expected = [ vars ];
var actual = getQueryResults("RETURN " + JSON.stringify(vars), { }); var actual = getRawQueryResults("RETURN " + JSON.stringify(vars));
assertEqual(expected, actual); assertEqual(expected, actual);
}, },
@ -220,7 +196,7 @@ function ahuacatlComplexTestSuite () {
} }
var expected = [ array ]; var expected = [ array ];
var actual = getQueryResults("RETURN " + JSON.stringify(array), { }); var actual = getQueryResults("RETURN " + JSON.stringify(array));
assertEqual(expected, actual); assertEqual(expected, actual);
}, },