From b3f4962f7ee0cabbdcbb94a8000885d86789bf30 Mon Sep 17 00:00:00 2001 From: Andrew Bastien Date: Sat, 16 Dec 2023 17:30:44 -0500 Subject: [PATCH] Added tests for new lock features. --- evennia/objects/tests.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/evennia/objects/tests.py b/evennia/objects/tests.py index ea1ac4bfc3..34f3c589bc 100644 --- a/evennia/objects/tests.py +++ b/evennia/objects/tests.py @@ -114,6 +114,31 @@ class DefaultObjectTest(BaseEvenniaTest): # partial match to 'colon' - multimatch error since stack is not homogenous self.assertEqual(self.char1.search("co", stacked=2), None) + def test_get_default_lockstring_base(self): + pattern = f"control:pid({self.account.id}) or id({self.char1.id}) or perm(Admin);delete:pid({self.account.id}) or id({self.char1.id}) or perm(Admin);edit:pid({self.account.id}) or id({self.char1.id}) or perm(Admin)" + self.assertEqual( + DefaultObject.get_default_lockstring(account=self.account, caller=self.char1), pattern + ) + + def test_get_default_lockstring_room(self): + pattern = f"control:pid({self.account.id}) or id({self.char1.id}) or perm(Admin);delete:pid({self.account.id}) or id({self.char1.id}) or perm(Admin);edit:pid({self.account.id}) or id({self.char1.id}) or perm(Admin)" + self.assertEqual( + DefaultRoom.get_default_lockstring(account=self.account, caller=self.char1), pattern + ) + + def test_get_default_lockstring_exit(self): + pattern = f"control:pid({self.account.id}) or id({self.char1.id}) or perm(Admin);delete:pid({self.account.id}) or id({self.char1.id}) or perm(Admin);edit:pid({self.account.id}) or id({self.char1.id}) or perm(Admin)" + self.assertEqual( + DefaultExit.get_default_lockstring(account=self.account, caller=self.char1), pattern + ) + + def test_get_default_lockstring_character(self): + pattern = f"puppet:pid({self.account.id}) or perm(Developer) or pperm(Developer);delete:pid({self.account.id}) or perm(Admin);edit:pid({self.account.id}) or perm(Admin)" + self.assertEqual( + DefaultCharacter.get_default_lockstring(account=self.account, caller=self.char1), + pattern, + ) + class TestObjectManager(BaseEvenniaTest): "Test object manager methods"