add the ability to make a layer readonly

This commit is contained in:
Jakob Ketterl
2021-01-30 16:03:35 +01:00
parent 2a5448f5c1
commit 8372f198db
2 changed files with 61 additions and 21 deletions

View File

@ -0,0 +1,15 @@
from unittest import TestCase
from owrx.property import PropertyLayer, PropertyReadOnly, PropertyWriteError
class PropertyReadOnlyTest(TestCase):
def testPreventsWrites(self):
layer = PropertyLayer()
layer["testkey"] = "initial value"
ro = PropertyReadOnly(layer)
with self.assertRaises(PropertyWriteError):
ro["testkey"] = "new value"
with self.assertRaises(PropertyWriteError):
ro["otherkey"] = "testvalue"
self.assertEqual(ro["testkey"], "initial value")
self.assertNotIn("otherkey", ro)