def test_attachment_properties(self): binary_file_content = u'Hello from unicode æøå'.encode('utf-8') att1 = FileAttachment(name='my_file_1.txt', content=binary_file_content) self.assertIn("name='my_file_1.txt'", str(att1)) att1.content = binary_file_content # Test property setter self.assertEqual(att1.content, binary_file_content) # Test property getter att1.attachment_id = 'xxx' self.assertEqual(att1.content, binary_file_content ) # Test property getter when attachment_id is set att1._content = None with self.assertRaises(ValueError): print(att1.content ) # Test property getter when we need to fetch the content attached_item1 = self.get_test_item(folder=self.test_folder) att2 = ItemAttachment(name='attachment1', item=attached_item1) self.assertIn("name='attachment1'", str(att2)) att2.item = attached_item1 # Test property setter self.assertEqual(att2.item, attached_item1) # Test property getter self.assertEqual(att2.item, attached_item1) # Test property getter att2.attachment_id = 'xxx' self.assertEqual( att2.item, attached_item1) # Test property getter when attachment_id is set att2._item = None with self.assertRaises(ValueError): print(att2.item ) # Test property getter when we need to fetch the item
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_file_attachment_properties(self): binary_file_content = "Hello from unicode æøå".encode("utf-8") att1 = FileAttachment(name="my_file_1.txt", content=binary_file_content) self.assertIn("name='my_file_1.txt'", str(att1)) att1.content = binary_file_content # Test property setter with self.assertRaises(TypeError) as e: att1.content = "XXX" self.assertEqual(e.exception.args[0], "'value' 'XXX' must be of type <class 'bytes'>") self.assertEqual(att1.content, binary_file_content) # Test property getter att1.attachment_id = "xxx" self.assertEqual(att1.content, binary_file_content) # Test property getter when attachment_id is set att1._content = None with self.assertRaises(ValueError): print(att1.content) # Test property getter when we need to fetch the content
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
def test_file_attachment_properties(self): binary_file_content = 'Hello from unicode æøå'.encode('utf-8') att1 = FileAttachment(name='my_file_1.txt', content=binary_file_content) self.assertIn("name='my_file_1.txt'", str(att1)) att1.content = binary_file_content # Test property setter self.assertEqual(att1.content, binary_file_content) # Test property getter att1.attachment_id = 'xxx' self.assertEqual(att1.content, binary_file_content ) # Test property getter when attachment_id is set att1._content = None with self.assertRaises(ValueError): print(att1.content ) # Test property getter when we need to fetch the content