mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 17:57:11 +00:00
Rewrite remember_the_milk tests to pytest style tests (#41002)
* ✅ rewrite remember_the_milk tests to pytest tests * ✅ rewrite reddit tests to pytest tests * Revert "✅ rewrite reddit tests to pytest tests" This reverts commit 7eae35f69ad61b29ddbbf2054c0464a8d90d9b97. Forgot to switch to a new branch 🙈
This commit is contained in:
parent
4b225a87c5
commit
cad2304968
14
tests/components/remember_the_milk/const.py
Normal file
14
tests/components/remember_the_milk/const.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
"""Constants for remember_the_milk tests."""
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
|
PROFILE = "myprofile"
|
||||||
|
TOKEN = "mytoken"
|
||||||
|
JSON_STRING = json.dumps(
|
||||||
|
{
|
||||||
|
"myprofile": {
|
||||||
|
"token": "mytoken",
|
||||||
|
"id_map": {"1234": {"list_id": "0", "timeseries_id": "1", "task_id": "2"}},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
@ -1,89 +1,66 @@
|
|||||||
"""Tests for the Remember The Milk component."""
|
"""Tests for the Remember The Milk component."""
|
||||||
|
|
||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
import unittest
|
|
||||||
|
|
||||||
import homeassistant.components.remember_the_milk as rtm
|
import homeassistant.components.remember_the_milk as rtm
|
||||||
|
|
||||||
|
from .const import JSON_STRING, PROFILE, TOKEN
|
||||||
|
|
||||||
from tests.async_mock import Mock, mock_open, patch
|
from tests.async_mock import Mock, mock_open, patch
|
||||||
from tests.common import get_test_home_assistant
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class TestConfiguration(unittest.TestCase):
|
def test_create_new(hass):
|
||||||
"""Basic tests for the class RememberTheMilkConfiguration."""
|
"""Test creating a new config file."""
|
||||||
|
with patch("builtins.open", mock_open()), patch(
|
||||||
|
"os.path.isfile", Mock(return_value=False)
|
||||||
|
), patch.object(rtm.RememberTheMilkConfiguration, "save_config"):
|
||||||
|
config = rtm.RememberTheMilkConfiguration(hass)
|
||||||
|
config.set_token(PROFILE, TOKEN)
|
||||||
|
assert config.get_token(PROFILE) == TOKEN
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
"""Set up test Home Assistant main loop."""
|
|
||||||
self.hass = get_test_home_assistant()
|
|
||||||
self.profile = "myprofile"
|
|
||||||
self.token = "mytoken"
|
|
||||||
self.json_string = json.dumps(
|
|
||||||
{
|
|
||||||
"myprofile": {
|
|
||||||
"token": "mytoken",
|
|
||||||
"id_map": {
|
|
||||||
"1234": {"list_id": "0", "timeseries_id": "1", "task_id": "2"}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
self.addCleanup(self.tear_down_cleanup)
|
|
||||||
|
|
||||||
def tear_down_cleanup(self):
|
def test_load_config(hass):
|
||||||
"""Exit Home Assistant."""
|
"""Test loading an existing token from the file."""
|
||||||
self.hass.stop()
|
with patch("builtins.open", mock_open(read_data=JSON_STRING)), patch(
|
||||||
|
"os.path.isfile", Mock(return_value=True)
|
||||||
|
):
|
||||||
|
config = rtm.RememberTheMilkConfiguration(hass)
|
||||||
|
assert config.get_token(PROFILE) == TOKEN
|
||||||
|
|
||||||
def test_create_new(self):
|
|
||||||
"""Test creating a new config file."""
|
|
||||||
with patch("builtins.open", mock_open()), patch(
|
|
||||||
"os.path.isfile", Mock(return_value=False)
|
|
||||||
), patch.object(rtm.RememberTheMilkConfiguration, "save_config"):
|
|
||||||
config = rtm.RememberTheMilkConfiguration(self.hass)
|
|
||||||
config.set_token(self.profile, self.token)
|
|
||||||
assert config.get_token(self.profile) == self.token
|
|
||||||
|
|
||||||
def test_load_config(self):
|
def test_invalid_data(hass):
|
||||||
"""Test loading an existing token from the file."""
|
"""Test starts with invalid data and should not raise an exception."""
|
||||||
with patch("builtins.open", mock_open(read_data=self.json_string)), patch(
|
with patch("builtins.open", mock_open(read_data="random characters")), patch(
|
||||||
"os.path.isfile", Mock(return_value=True)
|
"os.path.isfile", Mock(return_value=True)
|
||||||
):
|
):
|
||||||
config = rtm.RememberTheMilkConfiguration(self.hass)
|
config = rtm.RememberTheMilkConfiguration(hass)
|
||||||
assert config.get_token(self.profile) == self.token
|
assert config is not None
|
||||||
|
|
||||||
def test_invalid_data(self):
|
|
||||||
"""Test starts with invalid data and should not raise an exception."""
|
|
||||||
with patch("builtins.open", mock_open(read_data="random characters")), patch(
|
|
||||||
"os.path.isfile", Mock(return_value=True)
|
|
||||||
):
|
|
||||||
config = rtm.RememberTheMilkConfiguration(self.hass)
|
|
||||||
assert config is not None
|
|
||||||
|
|
||||||
def test_id_map(self):
|
def test_id_map(hass):
|
||||||
"""Test the hass to rtm task is mapping."""
|
"""Test the hass to rtm task is mapping."""
|
||||||
hass_id = "hass-id-1234"
|
hass_id = "hass-id-1234"
|
||||||
list_id = "mylist"
|
list_id = "mylist"
|
||||||
timeseries_id = "my_timeseries"
|
timeseries_id = "my_timeseries"
|
||||||
rtm_id = "rtm-id-4567"
|
rtm_id = "rtm-id-4567"
|
||||||
with patch("builtins.open", mock_open()), patch(
|
with patch("builtins.open", mock_open()), patch(
|
||||||
"os.path.isfile", Mock(return_value=False)
|
"os.path.isfile", Mock(return_value=False)
|
||||||
), patch.object(rtm.RememberTheMilkConfiguration, "save_config"):
|
), patch.object(rtm.RememberTheMilkConfiguration, "save_config"):
|
||||||
config = rtm.RememberTheMilkConfiguration(self.hass)
|
config = rtm.RememberTheMilkConfiguration(hass)
|
||||||
|
|
||||||
assert config.get_rtm_id(self.profile, hass_id) is None
|
assert config.get_rtm_id(PROFILE, hass_id) is None
|
||||||
config.set_rtm_id(self.profile, hass_id, list_id, timeseries_id, rtm_id)
|
config.set_rtm_id(PROFILE, hass_id, list_id, timeseries_id, rtm_id)
|
||||||
assert (list_id, timeseries_id, rtm_id) == config.get_rtm_id(
|
assert (list_id, timeseries_id, rtm_id) == config.get_rtm_id(PROFILE, hass_id)
|
||||||
self.profile, hass_id
|
config.delete_rtm_id(PROFILE, hass_id)
|
||||||
)
|
assert config.get_rtm_id(PROFILE, hass_id) is None
|
||||||
config.delete_rtm_id(self.profile, hass_id)
|
|
||||||
assert config.get_rtm_id(self.profile, hass_id) is None
|
|
||||||
|
|
||||||
def test_load_key_map(self):
|
|
||||||
"""Test loading an existing key map from the file."""
|
def test_load_key_map(hass):
|
||||||
with patch("builtins.open", mock_open(read_data=self.json_string)), patch(
|
"""Test loading an existing key map from the file."""
|
||||||
"os.path.isfile", Mock(return_value=True)
|
with patch("builtins.open", mock_open(read_data=JSON_STRING)), patch(
|
||||||
):
|
"os.path.isfile", Mock(return_value=True)
|
||||||
config = rtm.RememberTheMilkConfiguration(self.hass)
|
):
|
||||||
assert ("0", "1", "2") == config.get_rtm_id(self.profile, "1234")
|
config = rtm.RememberTheMilkConfiguration(hass)
|
||||||
|
assert ("0", "1", "2") == config.get_rtm_id(PROFILE, "1234")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user