Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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"]
Ejemplo n.º 4
0
 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"]
Ejemplo n.º 5
0
 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"]
Ejemplo n.º 6
0
 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']
Ejemplo n.º 7
0
 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"]
Ejemplo n.º 8
0
 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"]
Ejemplo n.º 9
0
 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"])
Ejemplo n.º 10
0
 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"])
Ejemplo n.º 11
0
 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"]
Ejemplo n.º 12
0
 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"]
Ejemplo n.º 13
0
 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"]
Ejemplo n.º 14
0
 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"]
Ejemplo n.º 15
0
 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"]
Ejemplo n.º 16
0
 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"]
Ejemplo n.º 17
0
 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"]
Ejemplo n.º 18
0
    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"]
Ejemplo n.º 19
0
    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"]