def test_exception_handling(self, req_mock): """Test exception being handled.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '1', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['upcoming'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert device.state is None
def test_exception_handling(self, req_mock): """Test exception being handled.""" config = { "platform": "sonarr", "api_key": "foo", "days": "1", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["upcoming"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert device.state is None
def test_system_status(self, req_mock): """Test getting system status.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["status"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert "2.0.0.1121" == device.state assert "mdi:information" == device.icon assert "Sonarr Status" == device.name assert "6.2.9200.0" == device.device_state_attributes["osVersion"]
def test_upcoming_multiple_days(self, req_mock): """Test the upcoming episodes for multiple days.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["upcoming"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "mdi:television" == device.icon assert "Episodes" == device.unit_of_measurement assert "Sonarr Upcoming" == device.name assert "S04E11" == device.device_state_attributes["Bob's Burgers"]
def test_commands(self, req_mock): """Test getting running commands.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["commands"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "mdi:code-braces" == device.icon assert "Commands" == device.unit_of_measurement assert "Sonarr Commands" == device.name assert "pending" == device.device_state_attributes["RescanSeries"]
def test_system_status(self, req_mock): """Test getting system status.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['status'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert '2.0.0.1121' == device.state assert 'mdi:information' == device.icon assert 'Sonarr Status' == device.name assert '6.2.9200.0' == \ device.device_state_attributes['osVersion']
def test_diskspace_paths(self, req_mock): """Test getting diskspace for included paths.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["diskspace"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert "263.10" == device.state assert "mdi:harddisk" == device.icon assert "GB" == device.unit_of_measurement assert "Sonarr Disk Space" == device.name assert "263.10/465.42GB (56.53%)" == device.device_state_attributes["/data"]
def test_queue(self, req_mock): """Test getting downloads in the queue.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["queue"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "mdi:download" == device.icon assert "Episodes" == device.unit_of_measurement assert "Sonarr Queue" == device.name assert "100.00%" == device.device_state_attributes["Game of Thrones S03E08"]
def test_wanted(self, req_mock): """Test getting wanted episodes.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["wanted"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "mdi:television" == device.icon assert "Episodes" == device.unit_of_measurement assert "Sonarr Wanted" == device.name assert ("2014-02-03" == device.device_state_attributes["Archer (2009) S05E04"])
def test_series(self, req_mock): """Test getting the number of series.""" config = { "platform": "sonarr", "api_key": "foo", "days": "2", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["series"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "mdi:television" == device.icon assert "Shows" == device.unit_of_measurement assert "Sonarr Series" == device.name assert ("26/26 Episodes" == device.device_state_attributes["Marvel's Daredevil"])
def test_upcoming_multiple_days(self, req_mock): """Test the upcoming episodes for multiple days.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['upcoming'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert 'mdi:television' == device.icon assert 'Episodes' == device.unit_of_measurement assert 'Sonarr Upcoming' == device.name assert 'S04E11' == \ device.device_state_attributes["Bob's Burgers"]
def test_wanted(self, req_mock): """Test getting wanted episodes.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['wanted'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert 'mdi:television' == device.icon assert 'Episodes' == device.unit_of_measurement assert 'Sonarr Wanted' == device.name assert '2014-02-03' == \ device.device_state_attributes["Archer (2009) S05E04"]
def test_series(self, req_mock): """Test getting the number of series.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['series'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert 'mdi:television' == device.icon assert 'Shows' == device.unit_of_measurement assert 'Sonarr Series' == device.name assert '26/26 Episodes' == \ device.device_state_attributes["Marvel's Daredevil"]
def test_queue(self, req_mock): """Test getting downloads in the queue.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['queue'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert 'mdi:download' == device.icon assert 'Episodes' == device.unit_of_measurement assert 'Sonarr Queue' == device.name assert '100.00%' == \ device.device_state_attributes["Game of Thrones S03E08"]
def test_commands(self, req_mock): """Test getting running commands.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['commands'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert 'mdi:code-braces' == device.icon assert 'Commands' == device.unit_of_measurement assert 'Sonarr Commands' == device.name assert 'pending' == \ device.device_state_attributes["RescanSeries"]
def test_diskspace_paths(self, req_mock): """Test getting diskspace for included paths.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['diskspace'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert '263.10' == device.state assert 'mdi:harddisk' == device.icon assert 'GB' == device.unit_of_measurement assert 'Sonarr Disk Space' == device.name assert '263.10/465.42GB (56.53%)' == \ device.device_state_attributes["/data"]
def test_ssl(self, req_mock): """Test SSL being enabled.""" config = { "platform": "sonarr", "api_key": "foo", "days": "1", "unit": DATA_GIGABYTES, "include_paths": ["/data"], "monitored_conditions": ["upcoming"], "ssl": "true", } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "s" == device.ssl assert "mdi:television" == device.icon assert "Episodes" == device.unit_of_measurement assert "Sonarr Upcoming" == device.name assert "S04E11" == device.device_state_attributes["Bob's Burgers"]
def test_upcoming_today(self, req_mock): """Test filtering for a single day. Sonarr needs to respond with at least 2 days """ config = { "platform": "sonarr", "api_key": "foo", "days": "1", "unit": "GB", "include_paths": ["/data"], "monitored_conditions": ["upcoming"], } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert "mdi:television" == device.icon assert "Episodes" == device.unit_of_measurement assert "Sonarr Upcoming" == device.name assert "S04E11" == device.device_state_attributes["Bob's Burgers"]
def test_upcoming_today(self, req_mock): """Test filtering for a single day. Sonarr needs to respond with at least 2 days """ config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '1', 'unit': 'GB', "include_paths": ['/data'], 'monitored_conditions': ['upcoming'] } sonarr.setup_platform(self.hass, config, self.add_entities, None) for device in self.DEVICES: device.update() assert 1 == device.state assert 'mdi:television' == device.icon assert 'Episodes' == device.unit_of_measurement assert 'Sonarr Upcoming' == device.name assert 'S04E11' == \ device.device_state_attributes["Bob's Burgers"]