def test_resource_init_by_href(self): r = Resource(MagicMock(), href='test/resource') # it's not materialized yet self.assertFalse(r.is_materialized()) # it's not new (has href) self.assertFalse(r.is_new()) # it know what it is self.assertEqual(r.href, 'test/resource') # href is not writable with self.assertRaises(AttributeError): r.href = 'abc' # non-existing attribute access is handled correctly with self.assertRaises(AttributeError): r.foo
def test_resource_init_by_properties(self): r = Resource(MagicMock(), properties={ 'href': 'test/resource', 'name': 'Test Resource', 'someProperty': 'value' }) # we have the resource data self.assertTrue(r.is_materialized()) # it's not new (has href) self.assertFalse(r.is_new()) # it knows what it is self.assertEqual(r.href, 'test/resource') # we can access the attributes self.assertEqual(r.name, 'Test Resource') # attribute name was correctly converted self.assertEqual(r.some_property, 'value') # there are no writable attributes with self.assertRaises(AttributeError): r.name = 5