Skip to content

Commit

Permalink
Merge pull request #41 from bdraco/doorbell_image_fetch
Browse files Browse the repository at this point in the history
Doorbell image fetch
  • Loading branch information
snjoetw authored Feb 25, 2020
2 parents 860c2cc + 1e86023 commit 8688e8e
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
4 changes: 4 additions & 0 deletions august/doorbell.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import datetime

import dateutil.parser
import requests

from august.device import Device, DeviceDetail

Expand Down Expand Up @@ -108,3 +109,6 @@ def battery_level(self):
@property
def has_subscription(self):
return self._has_subscription

def get_doorbell_image(self, timeout=10):
return requests.get(self._image_url, timeout=timeout).content
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

setup(
name='py-august',
version='0.18.0',
version='0.19.0',
packages=['august'],
url='https://github.com/snjoetw/py-august',
license='MIT',
Expand Down
8 changes: 7 additions & 1 deletion tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,15 @@ def test_get_doorbells(self, mock):

@requests_mock.Mocker()
def test_get_doorbell_detail(self, mock):
expected_doorbell_image_url = "https://image.com/vmk16naaaa7ibuey7sar.jpg"
mock.register_uri(
"get",
API_GET_DOORBELL_URL.format(doorbell_id="K98GiDT45GUL"),
text=load_fixture("get_doorbell.json"),
)
mock.register_uri(
"get", expected_doorbell_image_url, text="doorbell_image_mocked"
)

api = Api()
doorbell = api.get_doorbell_detail(ACCESS_TOKEN, "K98GiDT45GUL")
Expand All @@ -96,8 +100,10 @@ def test_get_doorbell_detail(self, mock):
doorbell.image_created_at_datetime,
)
self.assertEqual(True, doorbell.has_subscription)
self.assertEqual(expected_doorbell_image_url, doorbell.image_url)
self.assertEqual(doorbell.get_doorbell_image(), b"doorbell_image_mocked")
self.assertEqual(
"https://image.com/vmk16naaaa7ibuey7sar.jpg", doorbell.image_url
doorbell.get_doorbell_image(timeout=50), b"doorbell_image_mocked"
)

@requests_mock.Mocker()
Expand Down

0 comments on commit 8688e8e

Please sign in to comment.