Merge pull request #37 from fronzbot/case_insensitive_cameras

Added case handling on camera dict
This commit is contained in:
Kevin Fronczak
2017-06-18 18:47:41 -04:00
committed by GitHub
4 changed files with 25 additions and 2 deletions
+1
View File
@@ -6,6 +6,7 @@ A list of changes between each release
0.7.0.dev (development version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Fixed style errors for bumped pydocstring and pylint versions
- Changed Blink.cameras dictionary to be case-insensitive (fixes `#35 <https://github.com/fronzbot/blinkpy/issues/35>`_)
0.6.0 (2017-05-12)
^^^^^^^^^^^^^^^^^^
+2 -1
View File
@@ -16,6 +16,7 @@ import json
import getpass
from shutil import copyfileobj
import requests
from requests.structures import CaseInsensitiveDict
import helpers.errors as ERROR
from helpers.constants import (BLINK_URL, LOGIN_URL,
LOGIN_BACKUP_URL,
@@ -186,7 +187,7 @@ class Blink(object):
self.region_id = None
self._host = None
self._events = []
self.cameras = {}
self.cameras = CaseInsensitiveDict({})
self._idlookup = {}
self.urls = None
+21
View File
@@ -2,6 +2,7 @@
import unittest
from unittest import mock
import random
import blinkpy
import tests.mock_responses as mresp
@@ -120,6 +121,26 @@ class TestBlinkFunctions(unittest.TestCase):
camera.urls.home_url = "use_bad_response"
self.assertEqual(camera.image_refresh(), None)
@mock.patch('blinkpy.blinkpy.requests.post',
side_effect=mresp.mocked_requests_post)
@mock.patch('blinkpy.blinkpy.requests.get',
side_effect=mresp.mocked_requests_get)
def test_camera_random_case(self, mock_get, mock_post):
"""Checks for case of camera name."""
self.blink.setup_system()
for camera_name in self.blink.cameras:
rand_name = camera_name
# Make sure we never pass this test if rand_name = camera_name
while rand_name == camera_name:
rand_name = ''.join(
random.choice(
(str.upper, str.lower)
)(x) for x in camera_name)
self.assertEqual(self.blink.cameras[camera_name].name,
self.blink.cameras[rand_name].name)
def test_camera_update(self):
"""Checks that the update function is doing the right thing."""
self.test_urls = blinkpy.BlinkURLHandler('test')