def test_attachment_failure(self): att1 = FileAttachment(name='my_file_1.txt', content='Hello from unicode æøå'.encode('utf-8')) att1.attachment_id = 'XXX' with self.assertRaises(ValueError): att1.attach() # Cannot have an attachment ID att1.attachment_id = None with self.assertRaises(ValueError): att1.attach() # Must have a parent item att1.parent_item = Item() with self.assertRaises(ValueError): att1.attach() # Parent item must have an account att1.parent_item = None with self.assertRaises(ValueError): att1.detach() # Must have an attachment ID att1.attachment_id = 'XXX' with self.assertRaises(ValueError): att1.detach() # Must have a parent item att1.parent_item = Item() with self.assertRaises(ValueError): att1.detach() # Parent item must have an account att1.parent_item = None att1.attachment_id = None
def test_attachment_failure(self): att1 = FileAttachment(name="my_file_1.txt", content="Hello from unicode æøå".encode("utf-8")) att1.attachment_id = "XXX" with self.assertRaises(ValueError) as e: att1.attach() self.assertEqual(e.exception.args[0], "This attachment has already been created") att1.attachment_id = None with self.assertRaises(ValueError) as e: att1.attach() self.assertEqual(e.exception.args[0], "Parent item None must have an account") att1.parent_item = Item() with self.assertRaises(ValueError) as e: att1.attach() self.assertEqual(e.exception.args[0], "Parent item Item(attachments=[]) must have an account") att1.parent_item = None with self.assertRaises(ValueError) as e: att1.detach() self.assertEqual(e.exception.args[0], "This attachment has not been created") att1.attachment_id = "XXX" with self.assertRaises(ValueError) as e: att1.detach() self.assertEqual(e.exception.args[0], "Parent item None must have an account") att1.parent_item = Item() with self.assertRaises(ValueError) as e: att1.detach() self.assertEqual(e.exception.args[0], "Parent item Item(attachments=[]) must have an account") att1.parent_item = "XXX" with self.assertRaises(TypeError) as e: att1.clean() self.assertEqual( e.exception.args[0], "'parent_item' 'XXX' must be of type <class 'exchangelib.items.item.Item'>" ) with self.assertRaises(ValueError) as e: Message(attachments=[att1]) self.assertIn("must point to this item", e.exception.args[0]) att1.parent_item = None att1.attachment_id = None