1
0
Fork 0

Fix test and jslint.

This commit is contained in:
Max Neunhoeffer 2016-05-04 14:50:37 +02:00
parent eeb597fc85
commit f0db06b47d
2 changed files with 76 additions and 202 deletions

View File

@ -156,80 +156,6 @@ function addShardFollower(endpoint, shard) {
return true;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief get values from Plan or Current by a prefix
////////////////////////////////////////////////////////////////////////////////
function getByPrefix (values, prefix) {
var result = { };
var a;
var n = prefix.length;
for (a in values) {
if (values.hasOwnProperty(a)) {
if (a.substr(0, n) === prefix) {
result[a.substr(n)] = values[a];
}
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief get values from Plan or Current by a prefix
////////////////////////////////////////////////////////////////////////////////
function getByPrefix3d (values, prefix) {
var result = { };
var a;
var n = prefix.length;
for (a in values) {
if (values.hasOwnProperty(a)) {
if (a.substr(0, n) === prefix) {
var key = a.substr(n);
var parts = key.split('/');
if (parts.length >= 2) {
if (! result.hasOwnProperty(parts[0])) {
result[parts[0]] = { };
}
result[parts[0]][parts[1]] = values[a];
}
}
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief get values from Plan or Current by a prefix
////////////////////////////////////////////////////////////////////////////////
function getByPrefix4d (values, prefix) {
var result = { };
var a;
var n = prefix.length;
for (a in values) {
if (values.hasOwnProperty(a)) {
if (a.substr(0, n) === prefix) {
var key = a.substr(n);
var parts = key.split('/');
if (parts.length >= 3) {
if (! result.hasOwnProperty(parts[0])) {
result[parts[0]] = { };
}
if (! result[parts[0]].hasOwnProperty(parts[1])) {
result[parts[0]][parts[1]] = { };
}
result[parts[0]][parts[1]][parts[2]] = values[a];
}
}
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief lookup for 4-dimensional nested dictionary data
////////////////////////////////////////////////////////////////////////////////

View File

@ -38,7 +38,6 @@ var jsunity = require("jsunity");
function AgencySuite () {
'use strict';
var agency = ArangoAgency;
var oldPrefix = agency.prefix(true);
var cleanupLocks = function () {
agency.set("UnitTestsAgency/Target/Lock", "UNLOCKED");
@ -49,8 +48,8 @@ function AgencySuite () {
return {
setUp : function () {
agency.setPrefix("UnitTestsAgency");
assertEqual("UnitTestsAgency", agency.prefix(true));
//agency.setPrefix("UnitTestsAgency");
//assertEqual("UnitTestsAgency", agency.prefix(true));
try {
agency.remove("UnitTestsAgency", true);
@ -70,8 +69,8 @@ function AgencySuite () {
catch (err) {
}
agency.setPrefix(oldPrefix);
assertEqual(oldPrefix, agency.prefix(true));
//agency.setPrefix(oldPrefix);
//assertEqual(oldPrefix, agency.prefix(true));
},
////////////////////////////////////////////////////////////////////////////////
@ -321,39 +320,44 @@ function AgencySuite () {
testSet : function () {
// insert
agency.set("UnitTestsAgency/foo", "test1");
var values = agency.get("UnitTestsAgency/foo").arango.UnitTestsAgency.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/foo"));
assertEqual(values["UnitTestsAgency/foo"], "test1");
var values = agency.get("UnitTestsAgency/foo");
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertTrue(values.arango.UnitTestsAgency.hasOwnProperty("foo"));
assertEqual(values.arango.UnitTestsAgency.foo, "test1");
// overwrite
agency.set("UnitTestsAgency/foo", "test2", 2);
values = agency.get("UnitTestsAgency/foo").arango.UnitTestsAgency.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/foo"));
assertEqual(values["UnitTestsAgency/foo"], "test2");
values = agency.get("UnitTestsAgency/foo");
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertTrue(values.arango.UnitTestsAgency.hasOwnProperty("foo"));
assertEqual(values.arango.UnitTestsAgency.foo, "test2");
assertTrue(agency.remove("UnitTestsAgency/foo"));
// re-insert
agency.set("UnitTestsAgency/foo", "test3");
values = agency.get("UnitTestsAgency/foo").arango.UnitTestsAgency.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/foo"));
assertEqual(values["UnitTestsAgency/foo"], "test3");
values = agency.get("UnitTestsAgency/foo");
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertTrue(values.arango.UnitTestsAgency.hasOwnProperty("foo"));
assertEqual(values.arango.UnitTestsAgency.foo, "test3");
// update with ttl
agency.set("UnitTestsAgency/foo", "test4", 2);
values = agency.get("UnitTestsAgency/foo").arango.UnitTestsAgency.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/foo"));
assertEqual(values["UnitTestsAgency/foo"], "test4");
values = agency.get("UnitTestsAgency/foo");
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertTrue(values.arango.UnitTestsAgency.hasOwnProperty("foo"));
assertEqual(values.arango.UnitTestsAgency.foo, "test4");
require("internal").wait(3);
try {
values = agency.get("UnitTestsAgency/foo").arango.UnitTestsAgency.foo;
fail();
}
catch (e) {
assertEqual(404, e.code);
}
values = agency.get("UnitTestsAgency/foo");
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertFalse(values.arango.UnitTestsAgency.hasOwnProperty("foo"));
},
////////////////////////////////////////////////////////////////////////////////
@ -470,16 +474,16 @@ function AgencySuite () {
assertTrue(agency.remove("UnitTestsAgency/1", true));
try {
agency.get("UnitTestsAgency/1", true).arango.UnitTestsAgency["1"];
fail();
}
catch (err) {
// key not found
}
var values = agency.get("UnitTestsAgency/1", true);
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertFalse(values.arango.UnitTestsAgency.hasOwnProperty("1"));
var values = agency.get("UnitTestsAgency/2", true).arango.UnitTestsAgency["2"];
assertEqual({ "UnitTestsAgency/2/1/foo" : "baz" }, values);
values = agency.get("UnitTestsAgency/2", true);
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertTrue(values.arango.UnitTestsAgency.hasOwnProperty("2"));
assertEqual(values.arango.UnitTestsAgency["2"], {"1":{"foo":"baz"}});
},
////////////////////////////////////////////////////////////////////////////////
@ -499,13 +503,9 @@ function AgencySuite () {
assertTrue(agency.remove("UnitTestsAgency", true));
try {
agency.get("UnitTestsAgency", true).arango.UnitTestsAgency;
fail();
}
catch (err) {
// key not found
}
var value = agency.get("UnitTestsAgency", true);
assertTrue(value.hasOwnProperty("arango"));
assertEqual(value.arango, {});
},
////////////////////////////////////////////////////////////////////////////////
@ -540,17 +540,15 @@ function AgencySuite () {
var values;
for (i = 0; i < 100; ++i) {
if (i >= 10 && i < 90) {
try {
values = agency.get("UnitTestsAgency/" + i).arango.UnitTestsAgency[i];
fail();
}
catch (err) {
}
values = agency.get("UnitTestsAgency/" + i);
assertEqual(values, {"arango":{"UnitTestsAgency":{}}});
}
else {
values = agency.get("UnitTestsAgency/" + i).arango.UnitTestsAgency[i];
assertTrue(values.hasOwnProperty("UnitTestsAgency/" + i));
assertEqual(values["UnitTestsAgency/" + i], "value" + i);
values = agency.get("UnitTestsAgency/" + i);
assertTrue(values.hasOwnProperty("arango"));
assertTrue(values.arango.hasOwnProperty("UnitTestsAgency"));
assertTrue(values.arango.UnitTestsAgency.hasOwnProperty("" + i));
assertEqual(values.arango.UnitTestsAgency[i], "value" + i);
}
}
},
@ -564,9 +562,8 @@ function AgencySuite () {
agency.set("UnitTestsAgency/someDir/foo", "bar");
var values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo"));
assertEqual(values["UnitTestsAgency/someDir/foo"], "bar");
var values = agency.get("UnitTestsAgency/someDir/foo");
assertEqual(values, {"arango":{"UnitTestsAgency":{"someDir":{"foo":"bar"}}}});
},
////////////////////////////////////////////////////////////////////////////////
@ -583,55 +580,25 @@ function AgencySuite () {
agency.set("UnitTestsAgency/someDir/foo/2/1/1", "bar5");
agency.set("UnitTestsAgency/someDir/foo/2/1/2", "bar6");
var values = agency.get("UnitTestsAgency/someDir").arango.UnitTestsAgency.someDir;
assertEqual({ }, values);
var values = agency.get("UnitTestsAgency/someDir").arango.UnitTestsAgency.someDir.foo;
assertEqual({"1":{"1":{"1":"bar1","2":"bar2"},
"2":{"1":"bar3","2":"bar4"}},
"2":{"1":{"1":"bar5","2":"bar6"}}}, values);
values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
assertEqual({ }, values);
assertEqual({"1":{"1":{"1":"bar1","2":"bar2"},
"2":{"1":"bar3","2":"bar4"}},
"2":{"1":{"1":"bar5","2":"bar6"}}}, values);
values = agency.get("UnitTestsAgency/someDir", true).arango.UnitTestsAgency.someDir;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo/1/1/1"));
assertEqual("bar1", values["UnitTestsAgency/someDir/foo/1/1/1"]);
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo/1/1/2"));
assertEqual("bar2", values["UnitTestsAgency/someDir/foo/1/1/2"]);
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo/1/2/1"));
assertEqual("bar3", values["UnitTestsAgency/someDir/foo/1/2/1"]);
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo/1/2/2"));
assertEqual("bar4", values["UnitTestsAgency/someDir/foo/1/2/2"]);
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo/2/1/1"));
assertEqual("bar5", values["UnitTestsAgency/someDir/foo/2/1/1"]);
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo/2/1/2"));
assertEqual("bar6", values["UnitTestsAgency/someDir/foo/2/1/2"]);
},
values = agency.get("UnitTestsAgency/someDir", true).arango.UnitTestsAgency.someDir.foo;
assertEqual({"1":{"1":{"1":"bar1","2":"bar2"},
"2":{"1":"bar3","2":"bar4"}},
"2":{"1":{"1":"bar5","2":"bar6"}}}, values);
////////////////////////////////////////////////////////////////////////////////
/// @brief test get w/ indexes
////////////////////////////////////////////////////////////////////////////////
testGetIndexes : function () {
assertTrue(agency.createDirectory("UnitTestsAgency/someDir"));
agency.set("UnitTestsAgency/someDir/foo", "bar");
agency.set("UnitTestsAgency/someDir/bar", "baz");
var values = agency.get("UnitTestsAgency/someDir", true, true).arango.UnitTestsAgency.someDir;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo"));
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/bar"));
assertEqual(values["UnitTestsAgency/someDir/foo"].value, "bar");
assertEqual(values["UnitTestsAgency/someDir/bar"].value, "baz");
assertTrue(values["UnitTestsAgency/someDir/foo"].hasOwnProperty("index"));
assertTrue(values["UnitTestsAgency/someDir/bar"].hasOwnProperty("index"));
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test set / get directory
////////////////////////////////////////////////////////////////////////////////
testGetDirectory : function () {
assertTrue(agency.createDirectory("UnitTestsAgency/someDir"));
assertTrue(agency.set("UnitTestsAgency/someDir/foo", "bar"));
var values = agency.get("UnitTestsAgency", false).arango.UnitTestsAgency;
assertEqual({ }, values);
values = agency.get("UnitTestsAgency/someDir/foo", true).arango.UnitTestsAgency.someDir.foo;
assertEqual({"1":{"1":{"1":"bar1","2":"bar2"},
"2":{"1":"bar3","2":"bar4"}},
"2":{"1":{"1":"bar5","2":"bar6"}}}, values);
},
////////////////////////////////////////////////////////////////////////////////
@ -644,7 +611,7 @@ function AgencySuite () {
assertTrue(agency.set("UnitTestsAgency/someDir/baz", "bart"));
var values = agency.get("UnitTestsAgency", true).arango.UnitTestsAgency;
assertEqual({ "UnitTestsAgency/someDir/baz" : "bart", "UnitTestsAgency/someDir/foo" : "bar" }, values);
assertEqual({ "someDir" : {"foo": "bar", "baz": "bart"}}, values);
},
////////////////////////////////////////////////////////////////////////////////
@ -657,13 +624,11 @@ function AgencySuite () {
agency.set("UnitTestsAgency/someDir/foo", "bar");
var values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo"));
assertEqual(values["UnitTestsAgency/someDir/foo"], "bar");
assertEqual(values, "bar");
agency.set("UnitTestsAgency/someDir/foo", "baz");
values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo"));
assertEqual(values["UnitTestsAgency/someDir/foo"], "baz");
assertEqual(values, "baz");
},
////////////////////////////////////////////////////////////////////////////////
@ -676,18 +641,12 @@ function AgencySuite () {
agency.set("UnitTestsAgency/someDir/foo", "bar");
var values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foo"));
assertEqual(values["UnitTestsAgency/someDir/foo"], "bar");
assertEqual(values, "bar");
agency.remove("UnitTestsAgency/someDir/foo");
try {
values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
fail();
}
catch (err) {
// key not found
}
values = agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir;
assertEqual(values, {});
},
////////////////////////////////////////////////////////////////////////////////
@ -697,13 +656,8 @@ function AgencySuite () {
testGetNonExisting1 : function () {
assertTrue(agency.createDirectory("UnitTestsAgency/someDir"));
try {
agency.get("UnitTestsAgency/someDir/foo").arango.UnitTestsAgency.someDir.foo;
fail();
}
catch (err) {
// key not found
}
var value = agency.get("UnitTestsAgency/someDir/foo");
assertEqual(value, {"arango":{"UnitTestsAgency":{"someDir":{}}}});
},
////////////////////////////////////////////////////////////////////////////////
@ -711,13 +665,8 @@ function AgencySuite () {
////////////////////////////////////////////////////////////////////////////////
testGetNonExisting2 : function () {
try {
agency.get("UnitTestsAgency/someOtherDir").arango.UnitTestsAgency.someOtherDir;
fail();
}
catch (err) {
// key not found
}
var value = agency.get("UnitTestsAgency/someOtherDir");
assertEqual(value, {"arango":{"UnitTestsAgency":{}}});
},
////////////////////////////////////////////////////////////////////////////////
@ -731,8 +680,7 @@ function AgencySuite () {
agency.set("UnitTestsAgency/someDir/foobar", value);
var values = agency.get("UnitTestsAgency/someDir/foobar").arango.UnitTestsAgency.someDir.foobar;
assertTrue(values.hasOwnProperty("UnitTestsAgency/someDir/foobar"));
assertEqual(values["UnitTestsAgency/someDir/foobar"], value);
assertEqual(values, value);
}
};