예제 #1
0
 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