|
@@ -131,6 +131,20 @@ class TestModelverse(unittest.TestCase):
|
|
|
"Bottom",
|
|
|
])
|
|
|
|
|
|
+ # Try unreadable location
|
|
|
+ try:
|
|
|
+ model_list("administration")
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Try non-existing location
|
|
|
+ try:
|
|
|
+ model_list("adfjafdla")
|
|
|
+ self.fail()
|
|
|
+ except UnknownLocation:
|
|
|
+ pass
|
|
|
+
|
|
|
def test_op_model_list_full(self):
|
|
|
assert model_list_full("") == set([("formalisms/", "admin", "admin", "221"),
|
|
|
("models/", "admin", "admin", "221"),
|
|
@@ -150,17 +164,37 @@ class TestModelverse(unittest.TestCase):
|
|
|
("Bottom", "admin", "admin", "221"),
|
|
|
])
|
|
|
|
|
|
+ # Try unreadable location
|
|
|
+ try:
|
|
|
+ model_list_full("administration")
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Try non-existing location
|
|
|
+ try:
|
|
|
+ model_list_full("adfjafdla")
|
|
|
+ self.fail()
|
|
|
+ except UnknownLocation:
|
|
|
+ pass
|
|
|
+
|
|
|
def test_op_verify(self):
|
|
|
+ # Verify M3 --> M3
|
|
|
assert verify("formalisms/SimpleClassDiagrams", "formalisms/SimpleClassDiagrams") == "OK"
|
|
|
+ # Verify with bottom
|
|
|
assert verify("formalisms/SimpleClassDiagrams", "formalisms/Bottom") == "OK"
|
|
|
+ # Verify the type mapping models
|
|
|
for tm in model_types("formalisms/SimpleClassDiagrams"):
|
|
|
assert verify(tm[1], "formalisms/TypeMapping") == "OK"
|
|
|
+
|
|
|
+ # Verify wrong
|
|
|
try:
|
|
|
verify("formalisms/SimpleClassDiagrams", "formalisms/ProcessModel")
|
|
|
self.fail()
|
|
|
- except:
|
|
|
+ except UnknownMetamodellingHierarchy:
|
|
|
pass
|
|
|
|
|
|
+ # Verify M2 --> M3
|
|
|
assert verify("formalisms/ProcessModel", "formalisms/SimpleClassDiagrams") == "OK"
|
|
|
assert verify("formalisms/ProcessModel", "formalisms/Bottom") == "OK"
|
|
|
for tm in model_types("formalisms/ProcessModel"):
|
|
@@ -168,16 +202,48 @@ class TestModelverse(unittest.TestCase):
|
|
|
try:
|
|
|
verify("formalisms/ProcessModel", "formalisms/ProcessModel")
|
|
|
self.fail()
|
|
|
- except:
|
|
|
+ except UnknownMetamodellingHierarchy:
|
|
|
pass
|
|
|
|
|
|
+ # Verify M1 --> M2
|
|
|
model_add("users/user/test/a", "formalisms/ProcessModel")
|
|
|
+ # Fails with lacking instances of Start and Finish class
|
|
|
assert verify("users/user/test/a", "formalisms/ProcessModel").startswith("Lower cardinality violated for class: ")
|
|
|
instantiate("users/user/test/a", "Start")
|
|
|
+ # Fails with lacking instances of Finish class
|
|
|
assert verify("users/user/test/a", "formalisms/ProcessModel") == "Lower cardinality violated for class: Finish"
|
|
|
instantiate("users/user/test/a", "Finish")
|
|
|
+ # Succeeds
|
|
|
assert verify("users/user/test/a", "formalisms/ProcessModel") == "OK"
|
|
|
|
|
|
+ # Test unreadable model
|
|
|
+ try:
|
|
|
+ verify("administration/core", "formalisms/ProcessModel")
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Test unreadable metamodel
|
|
|
+ try:
|
|
|
+ verify("formalisms/Bottom", "administration/core")
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Test non-existing model
|
|
|
+ try:
|
|
|
+ verify("adfadf", "formalisms/SimpleClassDiagrams")
|
|
|
+ self.fail()
|
|
|
+ except UnknownModel:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Test non-existing metamodel
|
|
|
+ try:
|
|
|
+ verify("formalisms/SimpleClassDiagrams", "adfka")
|
|
|
+ self.fail()
|
|
|
+ except UnknownModel:
|
|
|
+ pass
|
|
|
+
|
|
|
def test_op_permission_modify(self):
|
|
|
model_add("users/user/test/a", "formalisms/SimpleClassDiagrams")
|
|
|
assert model_list_full("users/user/test") == set([("a", "user", "nobody", "200")])
|