mirror of https://gitee.com/bigwinds/arangodb
fixed tests
This commit is contained in:
parent
e8be35d420
commit
752b9a4846
|
@ -29,6 +29,7 @@
|
|||
var arangodb = require("org/arangodb");
|
||||
var actions = require("org/arangodb/actions");
|
||||
var graph = require("org/arangodb/graph");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- global variables
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
|
||||
var arangodb = require("org/arangodb");
|
||||
var actions = require("org/arangodb/actions");
|
||||
var internal = require("internal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- global variables
|
||||
|
@ -206,7 +208,7 @@ function PUT_api_cursor (req, res) {
|
|||
var cursorId = decodeURIComponent(req.suffix[0]);
|
||||
var cursor = CURSOR(cursorId);
|
||||
|
||||
if (! (cursor instanceof ArangoCursor)) {
|
||||
if (! (cursor instanceof arangodb.ArangoCursor)) {
|
||||
actions.resultBad(req, res, arangodb.ERROR_CURSOR_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var actions = require("org/arangodb/actions");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
var ERRORS = require("internal").errors;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- global variables
|
||||
|
@ -120,7 +122,7 @@ var actions = require("org/arangodb/actions");
|
|||
|
||||
function POST_api_explain (req, res) {
|
||||
if (req.suffix.length != 0) {
|
||||
actions.resultNotFound(req, res, internal.errors.ERROR_HTTP_NOT_FOUND.code, internal.errors.ERROR_HTTP_NOT_FOUND.message);
|
||||
actions.resultNotFound(req, res, ERRORS.errors.ERROR_HTTP_NOT_FOUND.code, ERRORS.errors.ERROR_HTTP_NOT_FOUND.message);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
(function() {
|
||||
var actions = require("org/arangodb/actions");
|
||||
var graph = require("org/arangodb/graph");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- global variables
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var arangodb = require("org/arangodb");
|
||||
var actions = require("org/arangodb/actions");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- global variables
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
var actions = require("org/arangodb/actions");
|
||||
var simple = require("org/arangodb/simple-query");
|
||||
var db = require("org/arangodb").db;
|
||||
var ERRORS = require("internal").errors;
|
||||
|
||||
var API = "_api/simple/";
|
||||
|
||||
|
@ -89,7 +91,7 @@ actions.defineHttp({
|
|||
var limit = body.limit;
|
||||
var skip = body.skip;
|
||||
var name = body.collection;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -172,7 +174,7 @@ actions.defineHttp({
|
|||
else {
|
||||
var name = body.collection;
|
||||
var id = parseInt(name) || name;
|
||||
var collection = internal.db._collection(id);
|
||||
var collection = db._collection(id);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -263,7 +265,7 @@ actions.defineHttp({
|
|||
var name = body.collection;
|
||||
var geo = body.geo;
|
||||
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -378,7 +380,7 @@ actions.defineHttp({
|
|||
var radius = body.radius;
|
||||
var geo = body.geo;
|
||||
var name = body.collection;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -478,7 +480,7 @@ actions.defineHttp({
|
|||
var query = body.query;
|
||||
var iid = body.index || undefined;
|
||||
var name = body.collection;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -567,7 +569,7 @@ actions.defineHttp({
|
|||
var skip = body.skip;
|
||||
var example = body.example;
|
||||
var name = body.collection;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -644,7 +646,7 @@ actions.defineHttp({
|
|||
else {
|
||||
var example = body.example;
|
||||
var name = body.collection;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -659,7 +661,7 @@ actions.defineHttp({
|
|||
actions.resultOk(req, res, actions.HTTP_OK, { document : result.next() });
|
||||
}
|
||||
else {
|
||||
actions.resultNotFound(req, res, internal.errors.ERROR_HTTP_NOT_FOUND.code, "no match");
|
||||
actions.resultNotFound(req, res, ERRORS.ERROR_HTTP_NOT_FOUND.code, "no match");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -695,7 +697,7 @@ actions.defineHttp({
|
|||
var name = body.collection;
|
||||
var example = body.example;
|
||||
var index = body.index;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
@ -774,7 +776,7 @@ actions.defineHttp({
|
|||
var left = body.left;
|
||||
var right = body.right;
|
||||
var closed = body.closed;
|
||||
var collection = internal.db._collection(name);
|
||||
var collection = db._collection(name);
|
||||
|
||||
if (collection === null) {
|
||||
actions.collectionNotFound(req, res, name);
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
|
||||
var actions = require("org/arangodb/actions");
|
||||
var simple = require("org/arangodb/simple-query");
|
||||
var db = require("org/arangodb").db;
|
||||
var internal = require("internal");
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- private functions
|
||||
|
@ -124,7 +126,7 @@ function postKeyValue(req, res) {
|
|||
|
||||
var collection = req.suffix[0];
|
||||
|
||||
if (internal.db._collection(collection) === null) {
|
||||
if (db._collection(collection) === null) {
|
||||
actions.collectionNotFound(req, res, collection);
|
||||
return;
|
||||
}
|
||||
|
@ -136,7 +138,7 @@ function postKeyValue(req, res) {
|
|||
|
||||
var doc = buildDocumentFromReq(req);
|
||||
|
||||
var oldDoc = internal.db._collection(collection).firstExample("$key", doc["$key"]);
|
||||
var oldDoc = db._collection(collection).firstExample("$key", doc["$key"]);
|
||||
|
||||
if (oldDoc != undefined) {
|
||||
actions.resultError(req, res, actions.HTTP_BAD, arangodb.ERROR_KEYVALUE_KEY_EXISTS, actions.getErrorMessage(arangodb.ERROR_KEYVALUE_KEY_EXISTS));
|
||||
|
@ -167,14 +169,14 @@ function putKeyValue(req, res) {
|
|||
|
||||
var collection = req.suffix[0];
|
||||
|
||||
if (internal.db._collection(collection) === null) {
|
||||
if (db._collection(collection) === null) {
|
||||
actions.collectionNotFound(req, res);
|
||||
return;
|
||||
}
|
||||
|
||||
var doc = buildDocumentFromReq(req);
|
||||
|
||||
var oldDoc = internal.db._collection(collection).firstExample("$key", doc["$key"]);
|
||||
var oldDoc = db._collection(collection).firstExample("$key", doc["$key"]);
|
||||
|
||||
if (oldDoc == undefined) {
|
||||
if (req.parameters["create"] == 1) {
|
||||
|
@ -223,7 +225,7 @@ function deleteKeyValue(req, res) {
|
|||
|
||||
var collection = req.suffix[0];
|
||||
|
||||
if (internal.db._collection(collection) === null) {
|
||||
if (db._collection(collection) === null) {
|
||||
actions.collectionNotFound(req, res);
|
||||
return;
|
||||
}
|
||||
|
@ -234,7 +236,7 @@ function deleteKeyValue(req, res) {
|
|||
key += "/" + req.suffix[i];
|
||||
}
|
||||
|
||||
var doc = internal.db._collection(collection).firstExample("$key", key);
|
||||
var doc = db._collection(collection).firstExample("$key", key);
|
||||
|
||||
if (doc == undefined) {
|
||||
actions.resultError(req, res, actions.HTTP_NOT_FOUND, arangodb.ERROR_KEYVALUE_KEY_NOT_FOUND, actions.getErrorMessage(arangodb.ERROR_KEYVALUE_KEY_NOT_FOUND));
|
||||
|
@ -267,7 +269,7 @@ function getKeyValue(req, res) {
|
|||
|
||||
var collection = req.suffix[0];
|
||||
|
||||
if (internal.db._collection(collection) === null) {
|
||||
if (db._collection(collection) === null) {
|
||||
actions.collectionNotFound(req, res);
|
||||
return;
|
||||
}
|
||||
|
@ -278,7 +280,7 @@ function getKeyValue(req, res) {
|
|||
key += "/" + req.suffix[i];
|
||||
}
|
||||
|
||||
var doc = internal.db._collection(collection).firstExample("$key", key);
|
||||
var doc = db._collection(collection).firstExample("$key", key);
|
||||
|
||||
if (doc == undefined) {
|
||||
actions.resultError(req, res, actions.HTTP_NOT_FOUND, arangodb.ERROR_KEYVALUE_KEY_NOT_FOUND, actions.getErrorMessage(arangodb.ERROR_KEYVALUE_KEY_NOT_FOUND));
|
||||
|
@ -373,7 +375,7 @@ function searchKeyValue(req, res) {
|
|||
|
||||
var collection = req.suffix[0];
|
||||
|
||||
if (internal.db._collection(collection) === null) {
|
||||
if (db._collection(collection) === null) {
|
||||
actions.collectionNotFound(req, res);
|
||||
return;
|
||||
}
|
||||
|
@ -388,7 +390,7 @@ function searchKeyValue(req, res) {
|
|||
// TODO: build a query which selects the keys
|
||||
//
|
||||
|
||||
var cursor = internal.db._collection(collection).all();
|
||||
var cursor = db._collection(collection).all();
|
||||
|
||||
result = [];
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
var internal = require("internal");
|
||||
var arangosh = require("org/arangodb/arangosh");
|
||||
|
||||
var ArangoError = require("org/arangodb/arango-error");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- ArangoCollection
|
||||
|
|
|
@ -213,7 +213,7 @@ ArangoQueryCursor.prototype.next = function () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ArangoQueryCursor.prototype.dispose = function () {
|
||||
if (!this.data.id) {
|
||||
if (! this.data.id) {
|
||||
// client side only cursor
|
||||
return;
|
||||
}
|
||||
|
@ -236,13 +236,21 @@ ArangoQueryCursor.prototype.dispose = function () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ArangoQueryCursor.prototype.count = function () {
|
||||
if (!this.data.id) {
|
||||
if (! this.data.id) {
|
||||
throw "cursor has been disposed";
|
||||
}
|
||||
|
||||
return this.data.count;
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief return baseurl for query cursor
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ArangoQueryCursor.prototype._baseurl = function () {
|
||||
return "/_api/cursor/"+ encodeURIComponent(this.data.id);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -174,6 +174,21 @@ ArangoStatement.prototype.execute = function () {
|
|||
/// @}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- MODULE EXPORTS
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @addtogroup ArangoStatement
|
||||
/// @{
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
exports.ArangoStatement = ArangoStatement;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- END-OF-FILE
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var db = require("org/arangodb").db;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -79,7 +79,3 @@ ArangoError.prototype.toString = function() {
|
|||
// mode: outline-minor
|
||||
// outline-regexp: "/// @brief\\|/// @addtogroup\\|// --SECTION--\\|/// @}\\|/\\*jslint"
|
||||
// End:
|
||||
var arangodb = require("org/arangodb");
|
||||
|
||||
var output = arangodb.output;
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ function ArangoStatement (database, data) {
|
|||
this._batchSize = null;
|
||||
this._bindVars = {};
|
||||
|
||||
if (!(data instanceof Object)) {
|
||||
if (! (data instanceof Object)) {
|
||||
throw "ArangoStatement needs initial data";
|
||||
}
|
||||
|
||||
|
|
|
@ -31,8 +31,7 @@
|
|||
var jsunity = require("jsunity");
|
||||
|
||||
var arangodb = require("org/arangodb");
|
||||
|
||||
var ArangoStatement = arangodb.ArangoStatement;
|
||||
var ArangoStatement = require("org/arangodb/arango-statement").ArangoStatement;
|
||||
var db = arangodb.db;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var INTERNAL = require("internal");
|
||||
var TRAVERSAL = require("org/arangodb/graph/traversal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief type weight used for sorting and comparing
|
||||
|
@ -2347,7 +2348,7 @@ function AHUACATL_GRAPH_TRAVERSE () {
|
|||
AHUACATL_THROW(INTERNAL.errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH, "TRAVERSE");
|
||||
}
|
||||
|
||||
if (params.maxDepth <= 0) {
|
||||
if (params.maxDepth === undefined) {
|
||||
// we need to have at least SOME limit to prevent endless iteration
|
||||
params.maxDepth = 256;
|
||||
}
|
||||
|
@ -2381,17 +2382,18 @@ function AHUACATL_GRAPH_TRAVERSE () {
|
|||
trackPaths: params.paths || false,
|
||||
visitor: AHUACATL_TRAVERSE_VISITOR,
|
||||
maxDepth: params.maxDepth,
|
||||
minDepth: params.minDepth,
|
||||
filter: filter,
|
||||
uniqueness: {
|
||||
vertices: validate(params.uniqueness && params.uniqueness.vertices, {
|
||||
'global': traversal.Traverser.UNIQUE_GLOBAL,
|
||||
'none': traversal.Traverser.UNIQUE_NONE,
|
||||
'path': traversal.Traverser.UNIQUE_PATH
|
||||
'global': TRAVERSAL.Traverser.UNIQUE_GLOBAL,
|
||||
'none': TRAVERSAL.Traverser.UNIQUE_NONE,
|
||||
'path': TRAVERSAL.Traverser.UNIQUE_PATH
|
||||
}),
|
||||
edges: validate(params.uniqueness && params.uniqueness.edges, {
|
||||
'global': traversal.Traverser.UNIQUE_GLOBAL,
|
||||
'none': traversal.Traverser.UNIQUE_NONE,
|
||||
'path': traversal.Traverser.UNIQUE_PATH
|
||||
'global': TRAVERSAL.Traverser.UNIQUE_GLOBAL,
|
||||
'none': TRAVERSAL.Traverser.UNIQUE_NONE,
|
||||
'path': TRAVERSAL.Traverser.UNIQUE_PATH
|
||||
}),
|
||||
},
|
||||
expander: validate(direction, {
|
||||
|
@ -2405,9 +2407,18 @@ function AHUACATL_GRAPH_TRAVERSE () {
|
|||
config.sort = function (l, r) { return l._key < r._key ? -1 : 1 };
|
||||
}
|
||||
|
||||
var v = null;
|
||||
var result = [ ];
|
||||
var traverser = new TRAVERSAL.Traverser(config);
|
||||
traverser.traverse(result, vertexCollection.document(startVertex));
|
||||
try {
|
||||
v = vertexCollection.document(startVertex);
|
||||
}
|
||||
catch (err) {
|
||||
}
|
||||
|
||||
if (v != null) {
|
||||
var traverser = new TRAVERSAL.Traverser(config);
|
||||
traverser.traverse(result, v);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var internal = require("internal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,9 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var db = require("org/arangodb").db;
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
@ -58,7 +61,7 @@ function ahuacatlQueryPathsTestSuite () {
|
|||
var results = [ ];
|
||||
|
||||
for (var i in result) {
|
||||
if (!result.hasOwnProperty(i)) {
|
||||
if (! result.hasOwnProperty(i)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -96,11 +99,11 @@ function ahuacatlQueryPathsTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
setUp : function () {
|
||||
internal.db._drop("UnitTestsAhuacatlUsers");
|
||||
internal.db._drop("UnitTestsAhuacatlUserRelations");
|
||||
db._drop("UnitTestsAhuacatlUsers");
|
||||
db._drop("UnitTestsAhuacatlUserRelations");
|
||||
|
||||
users = internal.db._create("UnitTestsAhuacatlUsers");
|
||||
relations = internal.db._createEdgeCollection("UnitTestsAhuacatlUserRelations");
|
||||
users = db._create("UnitTestsAhuacatlUsers");
|
||||
relations = db._createEdgeCollection("UnitTestsAhuacatlUserRelations");
|
||||
|
||||
docs["John"] = users.save({ "id" : 100, "name" : "John" });
|
||||
docs["Fred"] = users.save({ "id" : 101, "name" : "Fred" });
|
||||
|
@ -115,8 +118,8 @@ function ahuacatlQueryPathsTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
tearDown : function () {
|
||||
internal.db._drop("UnitTestsAhuacatlUsers");
|
||||
internal.db._drop("UnitTestsAhuacatlUserRelations");
|
||||
db._drop("UnitTestsAhuacatlUsers");
|
||||
db._drop("UnitTestsAhuacatlUserRelations");
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -341,14 +344,15 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
itemOrder: "forward",
|
||||
minDepth: 1,
|
||||
uniqueness: {
|
||||
vertices: "global"
|
||||
vertices: "global",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
||||
var actual = executeQuery("FOR p IN TRAVERSE(@@v, @@e, '" + vn + "/A', 'outbound', " + JSON.stringify(config) + ") RETURN p.vertex._key", { "@v" : vn, "@e" : en }).getRows();
|
||||
|
||||
assertEqual([ "A", "B", "C", "D" ], actual);
|
||||
assertEqual([ "B", "C", "D" ], actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -361,6 +365,10 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
order: "preorder",
|
||||
itemOrder: "forward",
|
||||
maxDepth: 2,
|
||||
uniqueness: {
|
||||
vertices: "none",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
||||
|
@ -379,6 +387,10 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
order: "preorder",
|
||||
itemOrder: "forward",
|
||||
maxDepth: 3,
|
||||
uniqueness: {
|
||||
vertices: "none",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
||||
|
@ -398,12 +410,16 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
itemOrder: "forward",
|
||||
minDepth: 1,
|
||||
maxDepth: 3,
|
||||
uniqueness: {
|
||||
vertices: "none",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
||||
var actual = executeQuery("FOR p IN TRAVERSE(@@v, @@e, '" + vn + "/A', 'outbound', " + JSON.stringify(config) + ") RETURN p.vertex._key", { "@v" : vn, "@e" : en }).getRows();
|
||||
|
||||
assertEqual([ "A", "B", "C", "A", "D", "C", "A" ], actual);
|
||||
assertEqual([ "B", "C", "A", "D", "C", "A" ], actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -416,7 +432,8 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
order: "preorder",
|
||||
itemOrder: "forward",
|
||||
uniqueness: {
|
||||
vertices: "global"
|
||||
vertices: "global",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
@ -436,7 +453,8 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
order: "preorder",
|
||||
itemOrder: "forward",
|
||||
uniqueness: {
|
||||
vertices: "path"
|
||||
vertices: "path",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
@ -456,12 +474,29 @@ function ahuacatlQueryTraverseTestSuite () {
|
|||
order: "preorder",
|
||||
itemOrder: "forward",
|
||||
maxDepth: 2,
|
||||
uniqueness: {
|
||||
vertices: "none",
|
||||
edges: "none"
|
||||
},
|
||||
_sort: true
|
||||
};
|
||||
|
||||
var actual = executeQuery("FOR p IN TRAVERSE(@@v, @@e, '" + vn + "/A', 'any', " + JSON.stringify(config) + ") RETURN p.vertex._key", { "@v" : vn, "@e" : en }).getRows();
|
||||
|
||||
assertEqual([ "A", "B", "A", "C", "D", "A", "C", "C", "B", "A", "D" ], actual);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test non-existing start vertex
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testTraversalNonExisting : function () {
|
||||
var config = {
|
||||
};
|
||||
|
||||
var actual = executeQuery("FOR p IN TRAVERSE(@@v, @@e, '" + vn + "/FOX', 'any', " + JSON.stringify(config) + ") RETURN p.vertex._key", { "@v" : vn, "@e" : en }).getRows();
|
||||
|
||||
assertEqual([ ], actual);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var internal = require("internal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -25,15 +25,16 @@
|
|||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var internal = require("internal");
|
||||
var db = require("org/arangodb").db;
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
var ERRORS = require("org/arangodb").errors;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
function ahuacatlFulltextTestSuite () {
|
||||
var errors = internal.errors;
|
||||
var cn = "UnitTestsAhuacatlFulltext";
|
||||
var fulltext;
|
||||
|
||||
|
@ -79,9 +80,9 @@ function ahuacatlFulltextTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
setUp : function () {
|
||||
internal.db._drop(cn);
|
||||
db._drop(cn);
|
||||
|
||||
fulltext = internal.db._create(cn);
|
||||
fulltext = db._create(cn);
|
||||
fulltext.ensureFulltextIndex("text");
|
||||
},
|
||||
|
||||
|
@ -90,7 +91,7 @@ function ahuacatlFulltextTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
tearDown : function () {
|
||||
internal.db._drop(cn);
|
||||
db._drop(cn);
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -168,9 +169,9 @@ function ahuacatlFulltextTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testNonIndexed : function () {
|
||||
assertEqual(errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN FULLTEXT(" + fulltext.name() + ", 'bang', 'search')"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN FULLTEXT(" + fulltext.name() + ", 'texts', 'foo')"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_COLLECTION_NOT_FOUND.code, getErrorCode(function() { AHUACATL_RUN("RETURN FULLTEXT(NotExistingFooCollection, 'text', 'foo')"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN FULLTEXT(" + fulltext.name() + ", 'bang', 'search')"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN FULLTEXT(" + fulltext.name() + ", 'texts', 'foo')"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_COLLECTION_NOT_FOUND.code, getErrorCode(function() { AHUACATL_RUN("RETURN FULLTEXT(NotExistingFooCollection, 'text', 'foo')"); } ));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -25,15 +25,16 @@
|
|||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var db = require("org/arangodb").db;
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
var ERRORS = require("org/arangodb").errors;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
function ahuacatlGeoTestSuite () {
|
||||
var errors = internal.errors;
|
||||
var locations = null;
|
||||
var locationsNon = null;
|
||||
|
||||
|
@ -59,7 +60,7 @@ function ahuacatlGeoTestSuite () {
|
|||
var results = [ ];
|
||||
|
||||
for (var i in result) {
|
||||
if (!result.hasOwnProperty(i)) {
|
||||
if (! result.hasOwnProperty(i)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -113,7 +114,7 @@ function ahuacatlGeoTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
setUp : function () {
|
||||
locations = internal.db.UnitTestsAhuacatlLocations;
|
||||
locations = db.UnitTestsAhuacatlLocations;
|
||||
if (locations.count() == 0) {
|
||||
for (var lat = -40; lat <= 40; ++lat) {
|
||||
for (var lon = -40; lon <= 40; ++lon) {
|
||||
|
@ -124,7 +125,7 @@ function ahuacatlGeoTestSuite () {
|
|||
locations.ensureGeoIndex("latitude", "longitude");
|
||||
}
|
||||
|
||||
locationsNon = internal.db.UnitTestsAhuacatlLocationsNon;
|
||||
locationsNon = db.UnitTestsAhuacatlLocationsNon;
|
||||
if (locationsNon.count() == 0) {
|
||||
for (var lat = -40; lat <= 40; ++lat) {
|
||||
for (var lon = -40; lon <= 40; ++lon) {
|
||||
|
@ -233,8 +234,8 @@ function ahuacatlGeoTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testNonIndexed : function () {
|
||||
assertEqual(errors.ERROR_QUERY_GEO_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN NEAR(" + locationsNon.name() + ", 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_GEO_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(" + locationsNon.name() + ", 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_GEO_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN NEAR(" + locationsNon.name() + ", 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_GEO_INDEX_MISSING.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(" + locationsNon.name() + ", 0, 0, 10)"); } ));
|
||||
},
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -242,13 +243,13 @@ function ahuacatlGeoTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testInvalidCollectionArgument : function () {
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(\"" + locationsNon.name() + "\", 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(1234, 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(false, 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(true, 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN([ ], 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN({ }, 0, 0, 10)"); } ));
|
||||
assertEqual(errors.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(@name, 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(\"" + locationsNon.name() + "\", 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(1234, 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(false, 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(true, 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN([ ], 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN({ }, 0, 0, 10)"); } ));
|
||||
assertEqual(ERRORS.ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH.code, getErrorCode(function() { AHUACATL_RUN("RETURN WITHIN(@name, 0, 0, 10)"); } ));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var internal = require("internal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var internal = require("internal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var internal = require("internal");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
var internal = require("internal");
|
||||
var jsunity = require("jsunity");
|
||||
var ArangoError = require("org/arangodb/arango-error").ArangoError;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
|
|
Loading…
Reference in New Issue