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());
if (info.name.empty()) {
events::CreateCollection(vocbase.name(), info.name, TRI_ERROR_ARANGO_ILLEGAL_NAME);
return TRI_ERROR_ARANGO_ILLEGAL_NAME;
} else if (info.collectionType != TRI_col_type_e::TRI_COL_TYPE_DOCUMENT &&
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;
}
TRI_ASSERT(info.properties.isObject());

View File

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