Catch all None responses from http requests
This commit is contained in:
+4
-4
@@ -152,7 +152,7 @@ class Blink:
|
||||
{"name": camera["name"], "id": camera["id"]}
|
||||
)
|
||||
return all_cameras
|
||||
except KeyError:
|
||||
except (KeyError, TypeError):
|
||||
_LOGGER.error("Unable to retrieve cameras from response %s", response)
|
||||
raise BlinkSetupError
|
||||
|
||||
@@ -176,7 +176,7 @@ class Blink:
|
||||
response = api.request_networks(self)
|
||||
try:
|
||||
self.networks = response["summary"]
|
||||
except KeyError:
|
||||
except (KeyError, TypeError):
|
||||
raise BlinkSetupError
|
||||
|
||||
def setup_network_ids(self):
|
||||
@@ -250,8 +250,8 @@ class Blink:
|
||||
try:
|
||||
result = response["media"]
|
||||
if not result:
|
||||
raise IndexError
|
||||
except (KeyError, IndexError):
|
||||
raise KeyError
|
||||
except (KeyError, TypeError):
|
||||
_LOGGER.info("No videos found on page %s. Exiting.", page)
|
||||
break
|
||||
|
||||
|
||||
@@ -149,14 +149,11 @@ class BlinkSyncModule:
|
||||
|
||||
def get_network_info(self):
|
||||
"""Retrieve network status."""
|
||||
is_errored = False
|
||||
self.network_info = api.request_network_status(self.blink, self.network_id)
|
||||
try:
|
||||
is_errored = self.network_info["network"]["sync_module_error"]
|
||||
except KeyError:
|
||||
is_errored = True
|
||||
|
||||
if is_errored:
|
||||
if self.network_info["network"]["sync_module_error"]:
|
||||
raise KeyError
|
||||
except (TypeError, KeyError):
|
||||
self.available = False
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -106,6 +106,9 @@ class TestBlinkSetup(unittest.TestCase):
|
||||
mock_home.return_value = {}
|
||||
with self.assertRaises(BlinkSetupError):
|
||||
self.blink.setup_camera_list()
|
||||
mock_home.return_value = None
|
||||
with self.assertRaises(BlinkSetupError):
|
||||
self.blink.setup_camera_list()
|
||||
|
||||
def test_setup_urls(self):
|
||||
"""Check setup of URLS."""
|
||||
@@ -132,6 +135,9 @@ class TestBlinkSetup(unittest.TestCase):
|
||||
mock_networks.return_value = {}
|
||||
with self.assertRaises(BlinkSetupError):
|
||||
self.blink.setup_networks()
|
||||
mock_networks.return_value = None
|
||||
with self.assertRaises(BlinkSetupError):
|
||||
self.blink.setup_networks()
|
||||
|
||||
@mock.patch("blinkpy.blinkpy.Auth.send_auth_key")
|
||||
def test_setup_prompt_2fa(self, mock_key):
|
||||
|
||||
@@ -78,7 +78,7 @@ class TestBlinkSyncModule(unittest.TestCase):
|
||||
self.assertEqual(self.blink.sync["test"].get_camera_info("1234"), "foobar")
|
||||
|
||||
def test_get_camera_info_fail(self, mock_resp):
|
||||
"""Test hadnling of failed get camera info function."""
|
||||
"""Test handling of failed get camera info function."""
|
||||
mock_resp.return_value = None
|
||||
self.assertEqual(self.blink.sync["test"].get_camera_info("1"), [])
|
||||
mock_resp.return_value = {}
|
||||
@@ -86,6 +86,24 @@ class TestBlinkSyncModule(unittest.TestCase):
|
||||
mock_resp.return_value = {"camera": None}
|
||||
self.assertEqual(self.blink.sync["test"].get_camera_info("1"), [])
|
||||
|
||||
def test_get_network_info(self, mock_resp):
|
||||
"""Test network retrieval."""
|
||||
mock_resp.return_value = {"network": {"sync_module_error": False}}
|
||||
self.assertTrue(self.blink.sync["test"].get_network_info())
|
||||
mock_resp.return_value = {"network": {"sync_module_error": True}}
|
||||
self.assertFalse(self.blink.sync["test"].get_network_info())
|
||||
|
||||
def test_get_network_info_failure(self, mock_resp):
|
||||
"""Test failed network retrieval."""
|
||||
mock_resp.return_value = {}
|
||||
self.blink.sync["test"].available = True
|
||||
self.assertFalse(self.blink.sync["test"].get_network_info())
|
||||
self.assertFalse(self.blink.sync["test"].available)
|
||||
self.blink.sync["test"].available = True
|
||||
mock_resp.return_value = None
|
||||
self.assertFalse(self.blink.sync["test"].get_network_info())
|
||||
self.assertFalse(self.blink.sync["test"].available)
|
||||
|
||||
def test_check_new_videos_startup(self, mock_resp):
|
||||
"""Test that check_new_videos does not block startup."""
|
||||
sync_module = self.blink.sync["test"]
|
||||
|
||||
Reference in New Issue
Block a user