mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 01:08:12 +00:00
Move IMAP Email Content body to an attribute (#11096)
* Move IMAP Email Content body to an attribute * Fix variable names
This commit is contained in:
parent
0f914b4c20
commit
e2cec9b3ae
@ -219,17 +219,19 @@ class EmailContentSensor(Entity):
|
||||
return
|
||||
|
||||
if self.sender_allowed(email_message):
|
||||
message_body = EmailContentSensor.get_msg_text(email_message)
|
||||
message = EmailContentSensor.get_msg_subject(email_message)
|
||||
|
||||
if self._value_template is not None:
|
||||
message_body = self.render_template(email_message)
|
||||
message = self.render_template(email_message)
|
||||
|
||||
self._message = message_body
|
||||
self._message = message
|
||||
self._state_attributes = {
|
||||
ATTR_FROM:
|
||||
EmailContentSensor.get_msg_sender(email_message),
|
||||
ATTR_SUBJECT:
|
||||
EmailContentSensor.get_msg_subject(email_message),
|
||||
ATTR_DATE:
|
||||
email_message['Date']
|
||||
email_message['Date'],
|
||||
ATTR_BODY:
|
||||
EmailContentSensor.get_msg_text(email_message)
|
||||
}
|
||||
|
@ -60,7 +60,9 @@ class EmailContentSensor(unittest.TestCase):
|
||||
sensor.entity_id = 'sensor.emailtest'
|
||||
sensor.schedule_update_ha_state(True)
|
||||
self.hass.block_till_done()
|
||||
self.assertEqual("Test Message", sensor.state)
|
||||
self.assertEqual('Test', sensor.state)
|
||||
self.assertEqual("Test Message",
|
||||
sensor.device_state_attributes['body'])
|
||||
self.assertEqual('sender@test.com',
|
||||
sensor.device_state_attributes['from'])
|
||||
self.assertEqual('Test', sensor.device_state_attributes['subject'])
|
||||
@ -89,13 +91,15 @@ class EmailContentSensor(unittest.TestCase):
|
||||
sensor.entity_id = "sensor.emailtest"
|
||||
sensor.schedule_update_ha_state(True)
|
||||
self.hass.block_till_done()
|
||||
self.assertEqual("Test Message", sensor.state)
|
||||
self.assertEqual('Link', sensor.state)
|
||||
self.assertEqual("Test Message",
|
||||
sensor.device_state_attributes['body'])
|
||||
|
||||
def test_multi_part_only_html(self):
|
||||
"""Test multi part emails with only HTML."""
|
||||
msg = MIMEMultipart('alternative')
|
||||
msg['Subject'] = "Link"
|
||||
msg['From'] = "sender@test.com"
|
||||
msg['Subject'] = 'Link'
|
||||
msg['From'] = 'sender@test.com'
|
||||
|
||||
html = "<html><head></head><body>Test Message</body></html>"
|
||||
|
||||
@ -113,9 +117,10 @@ class EmailContentSensor(unittest.TestCase):
|
||||
sensor.entity_id = 'sensor.emailtest'
|
||||
sensor.schedule_update_ha_state(True)
|
||||
self.hass.block_till_done()
|
||||
self.assertEqual('Link', sensor.state)
|
||||
self.assertEqual(
|
||||
"<html><head></head><body>Test Message</body></html>",
|
||||
sensor.state)
|
||||
sensor.device_state_attributes['body'])
|
||||
|
||||
def test_multi_part_only_other_text(self):
|
||||
"""Test multi part emails with only other text."""
|
||||
@ -136,7 +141,9 @@ class EmailContentSensor(unittest.TestCase):
|
||||
sensor.entity_id = 'sensor.emailtest'
|
||||
sensor.schedule_update_ha_state(True)
|
||||
self.hass.block_till_done()
|
||||
self.assertEqual("Test Message", sensor.state)
|
||||
self.assertEqual('Link', sensor.state)
|
||||
self.assertEqual("Test Message",
|
||||
sensor.device_state_attributes['body'])
|
||||
|
||||
def test_multiple_emails(self):
|
||||
"""Test multiple emails."""
|
||||
@ -172,10 +179,11 @@ class EmailContentSensor(unittest.TestCase):
|
||||
sensor.schedule_update_ha_state(True)
|
||||
self.hass.block_till_done()
|
||||
|
||||
self.assertEqual("Test Message", states[0].state)
|
||||
self.assertEqual("Test Message 2", states[1].state)
|
||||
self.assertEqual("Test", states[0].state)
|
||||
self.assertEqual("Test 2", states[1].state)
|
||||
|
||||
self.assertEqual("Test Message 2", sensor.state)
|
||||
self.assertEqual("Test Message 2",
|
||||
sensor.device_state_attributes['body'])
|
||||
|
||||
def test_sender_not_allowed(self):
|
||||
"""Test not whitelisted emails."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user