|
|
@@ -464,6 +464,7 @@ class TestModelverse(unittest.TestCase):
|
|
|
pass
|
|
|
|
|
|
def test_op_all_instances(self):
|
|
|
+ # Test M2 level
|
|
|
model_add("users/user/test/a", "formalisms/SimpleClassDiagrams", """
|
|
|
Class A {}
|
|
|
Class B : A {}
|
|
|
@@ -472,18 +473,21 @@ class TestModelverse(unittest.TestCase):
|
|
|
assert all_instances("users/user/test/a", "Class") == set(["A", "B"])
|
|
|
assert all_instances("users/user/test/a", "Association") == set(["C"])
|
|
|
|
|
|
+ # Test non-existing type
|
|
|
try:
|
|
|
all_instances("users/user/test/a", "non-existing")
|
|
|
self.fail()
|
|
|
except UnknownElement:
|
|
|
pass
|
|
|
|
|
|
+ # Test non-existing model
|
|
|
try:
|
|
|
all_instances("users/user/test/b", "Class")
|
|
|
self.fail()
|
|
|
except UnknownModel:
|
|
|
pass
|
|
|
|
|
|
+ # Test M1 level
|
|
|
model_add("users/user/test/b", "users/user/test/a", """
|
|
|
A a {}
|
|
|
B b {}
|
|
|
@@ -494,12 +498,16 @@ class TestModelverse(unittest.TestCase):
|
|
|
assert all_instances("users/user/test/b", "B") == set(["b"])
|
|
|
assert all_instances("users/user/test/b", "C") == set(["c"])
|
|
|
|
|
|
+ # No read permission
|
|
|
try:
|
|
|
all_instances("administration/core", "Class")
|
|
|
self.fail()
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permission, but can query
|
|
|
+ assert type(all_instances("formalisms/SimpleClassDiagrams", "Class")) == set
|
|
|
+
|
|
|
def test_op_admin_promote_demote(self):
|
|
|
# Verify that user doesn't have admin permissions
|
|
|
try:
|
|
|
@@ -683,6 +691,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permission, but can query
|
|
|
+ assert type(element_list("formalisms/SimpleClassDiagrams")) == set
|
|
|
+
|
|
|
def test_op_element_list_nice(self):
|
|
|
# Test simple element_list_nice
|
|
|
model_add("users/user/test/a", "formalisms/ProcessModel", """
|
|
|
@@ -784,6 +795,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permission, but can query
|
|
|
+ assert type(element_list_nice("formalisms/SimpleClassDiagrams")) == list
|
|
|
+
|
|
|
def test_op_types(self):
|
|
|
# Try operation of unopened model
|
|
|
assert types("formalisms/ProcessModel") == element_list("formalisms/SimpleClassDiagrams")
|
|
|
@@ -823,6 +837,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permission for either M or MM, but can query
|
|
|
+ assert type(types("formalisms/SimpleClassDiagrams")) == set
|
|
|
+
|
|
|
def test_op_read_info(self):
|
|
|
# Basic case
|
|
|
model_add("users/user/test/a", "formalisms/ProcessModel", """
|
|
|
@@ -855,13 +872,16 @@ class TestModelverse(unittest.TestCase):
|
|
|
except UnknownModel:
|
|
|
pass
|
|
|
|
|
|
- # Unreadable model
|
|
|
+ # No read permission
|
|
|
try:
|
|
|
read_info("administration/core", "administration")
|
|
|
self.fail()
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permission, but can query
|
|
|
+ assert type(read_info("formalisms/SimpleClassDiagrams", "Class")) == tuple
|
|
|
+
|
|
|
def test_op_read_attrs(self):
|
|
|
# Basic behaviour
|
|
|
model_add("users/user/test/a", "formalisms/SimpleClassDiagrams", """
|
|
|
@@ -944,6 +964,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permissions, but can query
|
|
|
+ assert type(read_attrs("formalisms/SimpleClassDiagrams", "Class")) == type(dict())
|
|
|
+
|
|
|
def test_op_attr_assign(self):
|
|
|
model_add("users/user/test/a", "formalisms/SimpleClassDiagrams", """
|
|
|
SimpleAttribute Natural {
|
|
|
@@ -1622,6 +1645,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permissions, but can query
|
|
|
+ assert type(read_outgoing("formalisms/SimpleClassDiagrams", "Class", "")) == type(set())
|
|
|
+
|
|
|
def test_op_read_incoming(self):
|
|
|
model_add("users/user/test/a", "formalisms/SimpleClassDiagrams", """
|
|
|
SimpleAttribute String {}
|
|
|
@@ -1650,6 +1676,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
# Test simpleattribute
|
|
|
assert read_incoming("users/user/test/a", "String", "") == set(["A_name"])
|
|
|
|
|
|
+ # Test empty result
|
|
|
+ assert read_incoming("users/user/test/a", "F", "") == set([])
|
|
|
+
|
|
|
# Non-existing model
|
|
|
try:
|
|
|
read_incoming("users/afa", "Association", "")
|
|
|
@@ -1680,6 +1709,9 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ReadPermissionDenied:
|
|
|
pass
|
|
|
|
|
|
+ # No write permissions, but can query
|
|
|
+ assert type(read_incoming("formalisms/SimpleClassDiagrams", "Class", "")) == type(set())
|
|
|
+
|
|
|
"""
|
|
|
def test_op_model_render(self):
|
|
|
def test_op_transformation_between(self):
|
|
|
@@ -1702,8 +1734,6 @@ class TestModelverse(unittest.TestCase):
|
|
|
def test_op_group_list(self):
|
|
|
def test_op_conformance_delete(self):
|
|
|
def test_op_conformance_add(self):
|
|
|
- def test_op_read_incoming(self):
|
|
|
- def test_op_read_association_source(self):
|
|
|
def test_op_read_association_destination(self):
|
|
|
def test_op_conections_between(self):
|
|
|
def test_op_define_attribute(self):
|