def test_resource_init_by_href(self): r = Resource(MagicMock(), href='test/resource') # 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