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() self.assertEqual(1, device.state) self.assertEqual('mdi:television', device.icon) self.assertEqual('Episodes', device.unit_of_measurement) self.assertEqual('Sonarr Wanted', device.name) self.assertEqual( '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() self.assertEqual(1, device.state) self.assertEqual('mdi:television', device.icon) self.assertEqual('Shows', device.unit_of_measurement) self.assertEqual('Sonarr Series', device.name) self.assertEqual( '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() self.assertEqual(1, device.state) self.assertEqual('mdi:television', device.icon) self.assertEqual('Episodes', device.unit_of_measurement) self.assertEqual('Sonarr Upcoming', device.name) self.assertEqual( 'S04E11', device.device_state_attributes["Bob's Burgers"] )
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() self.assertEqual(1, device.state) self.assertEqual('mdi:download', device.icon) self.assertEqual('Episodes', device.unit_of_measurement) self.assertEqual('Sonarr Queue', device.name) self.assertEqual( '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_devices, None) for device in self.DEVICES: device.update() self.assertEqual(1, device.state) self.assertEqual('mdi:code-braces', device.icon) self.assertEqual('Commands', device.unit_of_measurement) self.assertEqual('Sonarr Commands', device.name) self.assertEqual( '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() self.assertEqual('263.10', device.state) self.assertEqual('mdi:harddisk', device.icon) self.assertEqual('GB', device.unit_of_measurement) self.assertEqual('Sonarr Disk Space', device.name) self.assertEqual( '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': 'GB', "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_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_devices, None) for device in self.DEVICES: device.update() self.assertEqual(1, device.state) self.assertEqual('mdi:television', device.icon) self.assertEqual('Episodes', device.unit_of_measurement) self.assertEqual('Sonarr Upcoming', device.name) self.assertEqual( 'S04E11', device.device_state_attributes["Bob's Burgers"] )
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_devices, None) for device in self.DEVICES: device.update() self.assertEqual(1, device.state) self.assertEqual('mdi:television', device.icon) self.assertEqual('Shows', device.unit_of_measurement) self.assertEqual('Sonarr Series', device.name) self.assertEqual( '26/26 Episodes', device.device_state_attributes["Marvel's Daredevil"] )
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_devices, None) for device in self.DEVICES: device.update() self.assertEqual(1, device.state) self.assertEqual('mdi:television', device.icon) self.assertEqual('Episodes', device.unit_of_measurement) self.assertEqual('Sonarr Wanted', device.name) self.assertEqual( '2014-02-03', device.device_state_attributes["Archer (2009) S05E04"] )
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_devices, None) for device in self.DEVICES: device.update() self.assertEqual(1, device.state) self.assertEqual('mdi:download', device.icon) self.assertEqual('Episodes', device.unit_of_measurement) self.assertEqual('Sonarr Queue', device.name) self.assertEqual( '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() self.assertEqual(1, device.state) self.assertEqual('mdi:code-braces', device.icon) self.assertEqual('Commands', device.unit_of_measurement) self.assertEqual('Sonarr Commands', device.name) self.assertEqual( '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_devices, None) for device in self.DEVICES: device.update() self.assertEqual('263.10', device.state) self.assertEqual('mdi:harddisk', device.icon) self.assertEqual('GB', device.unit_of_measurement) self.assertEqual('Sonarr Disk Space', device.name) self.assertEqual( '263.10/465.42GB (56.53%)', device.device_state_attributes["/data"] )
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_devices, None) for device in self.DEVICES: device.update() self.assertEqual(None, device.state)
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_devices, None) for device in self.DEVICES: device.update() self.assertEqual('2.0.0.1121', device.state) self.assertEqual('mdi:information', device.icon) self.assertEqual('Sonarr Status', device.name) self.assertEqual('6.2.9200.0', device.device_state_attributes['osVersion'])
def test_diskspace_no_paths(self, req_mock): """Test getting all disk space.""" config = { 'platform': 'sonarr', 'api_key': 'foo', 'days': '2', 'unit': 'GB', "include_paths": [], '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_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']