def test_forwards_delete_if_enabled(self):
        self.assertTrue(hasattr(self.obj.member, "attr"))

        pp = utils.proxy_property("member", "attr", allow_delete=True)

        pp.__delete__(self.obj)

        self.assertFalse(hasattr(self.obj.member, "attr"))
Ejemplo n.º 2
0
    def test_rejects_writes_if_readonly(self):
        self.obj.member.attr = unittest.mock.sentinel.old_value

        pp = utils.proxy_property("member", "attr", readonly=True)

        with self.assertRaisesRegex(AttributeError, "can't set attribute"):
            pp.__set__(self.obj, unittest.mock.sentinel.value)

        self.assertEqual(self.obj.member.attr,
                         unittest.mock.sentinel.old_value)
 def setUp(self):
     self.obj = unittest.mock.Mock(["member"])
     self.obj.member = unittest.mock.Mock(["attr"])
     self.pp = utils.proxy_property("member", "attr")