OpenWebRX_Solar_SDR/openwebrx/test/property/test_property_readonly.py
Carsten Schmiemann 0c0cc5a490 Migrate to git
2022-02-10 23:48:55 +01:00

24 lines
895 B
Python

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)
def testPreventsDeletes(self):
layer = PropertyLayer(testkey="some value")
ro = PropertyReadOnly(layer)
with self.assertRaises(PropertyWriteError):
del ro["testkey"]
self.assertEqual(ro["testkey"], "some value")
self.assertEqual(layer["testkey"], "some value")