|
@@ -1426,6 +1426,82 @@ class TestModelverse(unittest.TestCase):
|
|
|
except ElementExists:
|
|
|
assert element_list("users/user/test/a") == before
|
|
|
|
|
|
+ def test_op_delete_element(self):
|
|
|
+ model_add("users/user/test/a", "formalisms/SimpleClassDiagrams", """
|
|
|
+ Class A {}
|
|
|
+ """)
|
|
|
+
|
|
|
+ # Test simple delete
|
|
|
+ assert len(element_list_nice("users/user/test/a")) == 1
|
|
|
+ assert delete_element("users/user/test/a", "A") == None
|
|
|
+ assert len(element_list_nice("users/user/test/a")) == 0
|
|
|
+
|
|
|
+ model_add("users/user/test/b", "formalisms/SimpleClassDiagrams", """
|
|
|
+ Class A {}
|
|
|
+ Class B {}
|
|
|
+ Association (A, B) {}
|
|
|
+ """)
|
|
|
+
|
|
|
+ # Test delete of element that causes other elements to be deleted as well
|
|
|
+ assert len(element_list_nice("users/user/test/b")) == 3
|
|
|
+ assert delete_element("users/user/test/b", "A") == None
|
|
|
+ assert len(element_list_nice("users/user/test/b")) == 1
|
|
|
+
|
|
|
+ model_add("users/user/test/c", "formalisms/SimpleClassDiagrams", """
|
|
|
+ Class A {}
|
|
|
+ Class B {}
|
|
|
+ Association C (A, B) {}
|
|
|
+ """)
|
|
|
+
|
|
|
+ # Test delete of edge that causes other elements to be deleted as well
|
|
|
+ assert len(element_list_nice("users/user/test/c")) == 3
|
|
|
+ assert delete_element("users/user/test/c", "C") == None
|
|
|
+ assert len(element_list_nice("users/user/test/c")) == 2
|
|
|
+
|
|
|
+ model_add("users/user/test/d", "formalisms/SimpleClassDiagrams", """
|
|
|
+ Class A {
|
|
|
+ name = "A"
|
|
|
+ }
|
|
|
+ """)
|
|
|
+
|
|
|
+ """
|
|
|
+ # Test delete of a "hidden" element
|
|
|
+ assert element_list_nice("users/user/test/d") == [{"__type" : "Class", "__id": "A", "lower_cardinality": None, "upper_cardinality": None, "constraint": {"AL": ""}, "name": "A", "abstract": None}]
|
|
|
+ ID = [i for i in element_list("users/user/test/d") if i[1] == "Class_name"][0]
|
|
|
+ assert delete_element("users/user/test/d", ID) == None
|
|
|
+ assert element_list_nice("users/user/test/d") == [{"__type" : "Class", "__id": "A", "lower_cardinality": None, "upper_cardinality": None, "constraint": {"AL": ""}, "name": None, "abstract": None}]
|
|
|
+ """
|
|
|
+
|
|
|
+ # Non-existing model
|
|
|
+ try:
|
|
|
+ delete_element("users/afa", "Association")
|
|
|
+ self.fail()
|
|
|
+ except UnknownModel:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Non-existing element
|
|
|
+ before = element_list("users/user/test/a")
|
|
|
+ try:
|
|
|
+ delete_element("users/user/test/a", "AAAAAAA")
|
|
|
+ self.fail()
|
|
|
+ except UnknownElement:
|
|
|
+ assert element_list("users/user/test/a") == before
|
|
|
+
|
|
|
+ # No read permissions
|
|
|
+ try:
|
|
|
+ delete_element("administration/core", "formalisms")
|
|
|
+ self.fail()
|
|
|
+ except ReadPermissionDenied:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # No write permissions
|
|
|
+ before = element_list("formalisms/SimpleClassDiagrams")
|
|
|
+ try:
|
|
|
+ delete_element("formalisms/SimpleClassDiagrams", "Class")
|
|
|
+ self.fail()
|
|
|
+ except WritePermissionDenied:
|
|
|
+ assert element_list("formalisms/SimpleClassDiagrams") == before
|
|
|
+
|
|
|
"""
|
|
|
def test_op_model_render(self):
|
|
|
def test_op_transformation_between(self):
|
|
@@ -1448,7 +1524,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_delete_element(self):
|
|
|
def test_op_AL_text(self):
|
|
|
def test_op_read_outgoing(self):
|
|
|
def test_op_read_incoming(self):
|