1
0
Fork 0

fix audit test (#9886)

This commit is contained in:
Jan 2019-09-04 17:44:00 +02:00 committed by GitHub
parent 629baf5144
commit 412e5280bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 73 additions and 54 deletions

View File

@ -257,9 +257,11 @@ Result Collections::create(TRI_vocbase_t& vocbase,
TRI_ASSERT(builder.isOpenArray()); TRI_ASSERT(builder.isOpenArray());
if (info.name.empty()) { if (info.name.empty()) {
events::CreateCollection(vocbase.name(), info.name, TRI_ERROR_ARANGO_ILLEGAL_NAME);
return TRI_ERROR_ARANGO_ILLEGAL_NAME; return TRI_ERROR_ARANGO_ILLEGAL_NAME;
} else if (info.collectionType != TRI_col_type_e::TRI_COL_TYPE_DOCUMENT && } else if (info.collectionType != TRI_col_type_e::TRI_COL_TYPE_DOCUMENT &&
info.collectionType != TRI_col_type_e::TRI_COL_TYPE_EDGE) { info.collectionType != TRI_col_type_e::TRI_COL_TYPE_EDGE) {
events::CreateCollection(vocbase.name(), info.name, TRI_ERROR_ARANGO_COLLECTION_TYPE_INVALID);
return TRI_ERROR_ARANGO_COLLECTION_TYPE_INVALID; return TRI_ERROR_ARANGO_COLLECTION_TYPE_INVALID;
} }
TRI_ASSERT(info.properties.isObject()); TRI_ASSERT(info.properties.isObject());

View File

@ -102,6 +102,7 @@ function ViewSuite () {
fail(); fail();
} catch (err) { } catch (err) {
assertEqual(ERRORS.ERROR_ARANGO_DUPLICATE_NAME.code, err.errorNum); assertEqual(ERRORS.ERROR_ARANGO_DUPLICATE_NAME.code, err.errorNum);
} finally {
var abc = db._view("abc"); var abc = db._view("abc");
abc.drop(); abc.drop();
} }
@ -111,12 +112,15 @@ function ViewSuite () {
/// @brief bad name (conflict with collection) /// @brief bad name (conflict with collection)
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
testErrorHandlingBadNameDuplicateOfCollection : function () { testErrorHandlingBadNameDuplicateOfCollection : function () {
db._dropView("abc");
db._drop("abc");
try { try {
db._create("abc"); db._create("abc");
db._createView("abc", "arangosearch", {}); db._createView("abc", "arangosearch", {});
fail(); fail();
} catch (err) { } catch (err) {
assertEqual(ERRORS.ERROR_ARANGO_DUPLICATE_NAME.code, err.errorNum); assertEqual(ERRORS.ERROR_ARANGO_DUPLICATE_NAME.code, err.errorNum);
} finally {
var abc = db._collection("abc"); var abc = db._collection("abc");
abc.drop(); abc.drop();
} }
@ -126,6 +130,7 @@ function ViewSuite () {
/// @brief get non-existent /// @brief get non-existent
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
testErrorHandlingGetMissing : function () { testErrorHandlingGetMissing : function () {
db._dropView("abc");
var abc = db._view("abc"); var abc = db._view("abc");
assertEqual(abc, null); assertEqual(abc, null);
}, },
@ -134,12 +139,16 @@ function ViewSuite () {
/// @brief modify with unacceptable properties /// @brief modify with unacceptable properties
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
testErrorHandlingModifyUnacceptable : function () { testErrorHandlingModifyUnacceptable : function () {
db._dropView("abc");
var abc = db._createView("abc", "arangosearch", { "consolidationIntervalMsec": 17 }); var abc = db._createView("abc", "arangosearch", { "consolidationIntervalMsec": 17 });
assertEqual(abc.name(), "abc"); try {
assertEqual(abc.properties().consolidationIntervalMsec, 17); assertEqual(abc.name(), "abc");
abc.properties({ "bogus": "junk", "consolidationIntervalMsec": 7 }); assertEqual(abc.properties().consolidationIntervalMsec, 17);
assertEqual(abc.properties().consolidationIntervalMsec, 7); abc.properties({ "bogus": "junk", "consolidationIntervalMsec": 7 });
abc.drop(); assertEqual(abc.properties().consolidationIntervalMsec, 7);
} finally {
abc.drop();
}
}, },
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
@ -149,76 +158,84 @@ function ViewSuite () {
db._dropView("abc"); db._dropView("abc");
db._dropView("def"); db._dropView("def");
db._createView("abc", "arangosearch", { "consolidationIntervalMsec": 10 }); db._createView("abc", "arangosearch", { "consolidationIntervalMsec": 10 });
db._createView("def", "arangosearch", { "consolidationIntervalMsec": 3 });
var abc = db._view("abc"); var abc = db._view("abc");
var def = db._view("def"); try {
var propA = abc.properties(); db._createView("def", "arangosearch", { "consolidationIntervalMsec": 3 });
var propD = def.properties(); var def = db._view("def");
assertEqual(abc.name(), "abc"); try {
assertEqual(abc.type(), "arangosearch"); var propA = abc.properties();
assertEqual(propA.consolidationIntervalMsec, 10); var propD = def.properties();
assertEqual(def.name(), "def"); assertEqual(abc.name(), "abc");
assertEqual(def.type(), "arangosearch"); assertEqual(abc.type(), "arangosearch");
assertEqual(propD.consolidationIntervalMsec, 3); assertEqual(propA.consolidationIntervalMsec, 10);
abc.drop(); assertEqual(def.name(), "def");
def.drop(); assertEqual(def.type(), "arangosearch");
assertNull(db._view("abc")); assertEqual(propD.consolidationIntervalMsec, 3);
assertNull(db._view("def")); } finally {
}, def.drop();
assertNull(db._view("def"));
//////////////////////////////////////////////////////////////////////////// }
/// @brief retrieve empty list of views } finally {
//////////////////////////////////////////////////////////////////////////// abc.drop();
testEmptyList : function () { assertNull(db._view("abc"));
var views = db._views(); }
assertTrue(Array.isArray(views));
assertEqual(views.length, 0);
}, },
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
/// @brief retrieve short list of views /// @brief retrieve short list of views
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
testShortList : function () { testShortList : function () {
db._dropView("abc");
db._dropView("def");
var abc = db._createView("abc", "arangosearch", {}); var abc = db._createView("abc", "arangosearch", {});
assertEqual(abc.name(), "abc"); try {
var def = db._createView("def", "arangosearch", {}); assertEqual(abc.name(), "abc");
assertEqual(def.name(), "def"); var def = db._createView("def", "arangosearch", {});
var views = db._views(); try {
assertEqual(def.name(), "def");
var views = db._views();
let expectedViews = new Set(); let expectedViews = new Set();
expectedViews.add(abc.name()); expectedViews.add(abc.name());
expectedViews.add(def.name()); expectedViews.add(def.name());
assertTrue(Array.isArray(views)); assertTrue(Array.isArray(views));
assertEqual(views.length, expectedViews.size); assertTrue(views.length >= expectedViews.size);
for (var i = 0; i < views.length; i++) { for (var i = 0; i < views.length; i++) {
expectedViews.delete(views[i].name()); expectedViews.delete(views[i].name());
}
assertEqual(0, expectedViews.size);
} finally {
def.drop();
}
} finally {
abc.drop();
} }
assertEqual(0, expectedViews.size);
abc.drop();
def.drop();
}, },
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
/// @brief modify properties /// @brief modify properties
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
testModifyProperties : function () { testModifyProperties : function () {
db._dropView("abc");
var abc = db._createView("abc", "arangosearch", { "consolidationIntervalMsec": 10 }); var abc = db._createView("abc", "arangosearch", { "consolidationIntervalMsec": 10 });
var props = abc.properties(); try {
var props = abc.properties();
assertEqual(abc.name(), "abc"); assertEqual(abc.name(), "abc");
assertEqual(abc.type(), "arangosearch"); assertEqual(abc.type(), "arangosearch");
assertEqual(props.consolidationIntervalMsec, 10); assertEqual(props.consolidationIntervalMsec, 10);
abc.properties({ "consolidationIntervalMsec": 7 }); abc.properties({ "consolidationIntervalMsec": 7 });
abc = db._view("abc"); abc = db._view("abc");
props = abc.properties(); props = abc.properties();
assertEqual(abc.name(), "abc"); assertEqual(abc.name(), "abc");
assertEqual(abc.type(), "arangosearch"); assertEqual(abc.type(), "arangosearch");
assertEqual(props.consolidationIntervalMsec, 7); assertEqual(props.consolidationIntervalMsec, 7);
} finally {
abc.drop(); abc.drop();
}
}, },
}; };