Prechádzať zdrojové kódy

Add model_delete test

Yentl Van Tendeloo 7 rokov pred
rodič
commit
030e616ddd
2 zmenil súbory, kde vykonal 52 pridanie a 2 odobranie
  1. 1 1
      bootstrap/core_algorithm.alc
  2. 51 1
      unit/test_all.py

+ 1 - 1
bootstrap/core_algorithm.alc

@@ -1156,7 +1156,7 @@ String function cmd_model_move(source : String, target : String):
 		else:
 			return "Model exists: " + target!
 	else:
-		return "Model does not exist: " + source!
+		return "Location not found: " + source!
 
 String function cmd_model_add(type : String, name : String, code : String):
 	// Model addition operation, which uses model upload commands of the compiler

+ 51 - 1
unit/test_all.py

@@ -314,9 +314,59 @@ class TestModelverse(unittest.TestCase):
         model_add("users/user/test/e", "users/user/test/d")
         model_add("users/user/test/f", "users/user/test/e")
 
-    """
     def test_op_model_move(self):
+        # Test basic scenario
+        model_add("users/user/test/a", "formalisms/SimpleClassDiagrams")
+        assert model_list_full("users/user/test") == set([("a", "user", "nobody", "200")])
+        assert model_move("users/user/test/a", "users/user/test/b") == None
+        assert model_list_full("users/user/test") == set([("b", "user", "nobody", "200")])
+
+        # Test if permissions are copied as well
+        permission_modify("users/user/test/b", "222")
+        assert model_list_full("users/user/test") == set([("b", "user", "nobody", "222")])
+        assert model_move("users/user/test/b", "users/user/test/a") == None
+        assert model_list_full("users/user/test") == set([("a", "user", "nobody", "222")])
+
+        # Test move if destination exists
+        model_add("users/user/test/b", "formalisms/SimpleClassDiagrams")
+        assert model_list_full("users/user/test") == set([("a", "user", "nobody", "222"), ("b", "user", "nobody", "200")])
+        try:
+            model_move("users/user/test/a", "users/user/test/b")
+            self.fail()
+        except ModelExists:
+            pass
+        assert model_list_full("users/user/test") == set([("a", "user", "nobody", "222"), ("b", "user", "nobody", "200")])
+
+        # Test move if source doesn't exist
+        try:
+            model_move("users/user/test/z", "users/user/test/y")
+            self.fail()
+        except UnknownLocation:
+            pass
+
     def test_op_model_delete(self):
+        # Test basic delete
+        model_add("users/user/test/a", "formalisms/SimpleClassDiagrams")
+        assert model_list_full("users/user/test") == set([("a", "user", "nobody", "200")])
+        assert model_delete("users/user/test/a") == None
+        assert model_list_full("users/user/test") == set([])
+
+        # Test delete of non-existing
+        assert model_list_full("users/user/test") == set([])
+        try:
+            model_delete("users/user/test/a")
+            self.fail()
+        except UnknownLocation:
+            pass
+
+        # Test delete of non-writable models
+        try:
+            model_delete("formalisms/SimpleClassDiagrams")
+            self.fail()
+        except WritePermissionDenied:
+            pass
+
+    """
     def test_op_model_overwrite(self):
     def test_op_user_delete(self):
     def test_op_model_render(self):