Ver código fonte

Test more exceptional cases as well

Yentl Van Tendeloo 7 anos atrás
pai
commit
2827e39e78
1 arquivos alterados com 38 adições e 0 exclusões
  1. 38 0
      unit/test_all.py

+ 38 - 0
unit/test_all.py

@@ -2058,6 +2058,44 @@ class TestModelverse(unittest.TestCase):
             pass
         assert read_defined_attrs("users/user/test/a", "D") == ({"value": "Natural", "additional_attr": "Natural"}, {"new_name": "String"})
 
+        # Non-existing model
+        try:
+            undefine_attribute("users/afa", "A", "B")
+            self.fail()
+        except UnknownModel:
+            pass
+
+        # Non-existing element
+        before = read_defined_attrs("users/user/test/a", "A")
+        try:
+            undefine_attribute("users/user/test/a", "AA", "B")
+            self.fail()
+        except UnknownElement:
+            assert read_defined_attrs("users/user/test/a", "A") == before
+
+        # Non-existing attribute
+        before = read_defined_attrs("users/user/test/a", "A")
+        try:
+            undefine_attribute("users/user/test/a", "A", "adfadf")
+            self.fail()
+        except UnknownAttribute:
+            assert read_defined_attrs("users/user/test/a", "A") == before
+
+        # No read permissions
+        try:
+            undefine_attribute("administration/core", "formalisms", "name")
+            self.fail()
+        except ReadPermissionDenied:
+            pass
+
+        # No write permissions
+        before = read_defined_attrs("formalisms/SimpleClassDiagrams", "Class")
+        try:
+            undefine_attribute("formalisms/SimpleClassDiagrams", "Class", "name")
+            self.fail()
+        except WritePermissionDenied:
+            assert read_defined_attrs("formalisms/SimpleClassDiagrams", "Class") == before
+
     """
     def test_op_model_render(self):
     def test_op_transformation_between(self):