15
15
USERNAME = 'foobar'
16
16
PASSWORD = 'deadbeef'
17
17
18
+ CAMERA_CFG = {
19
+ 'camera' : [
20
+ {
21
+ 'battery_voltage' : 90 ,
22
+ 'motion_alert' : True ,
23
+ 'wifi_strength' : - 30 ,
24
+ 'temperature' : 68
25
+ }
26
+ ]
27
+ }
28
+
18
29
19
30
class TestBlinkCameraSetup (unittest .TestCase ):
20
31
"""Test the Blink class in blinkpy."""
@@ -35,18 +46,21 @@ def setUp(self):
35
46
'notifications' : 2 ,
36
47
'region_id' : 'test'
37
48
}
49
+
38
50
self .blink .urls = blinkpy .BlinkURLHandler ('test' )
39
51
self .blink .network_id = '0000'
40
52
41
53
def tearDown (self ):
42
54
"""Clean up after test."""
43
55
self .blink = None
44
56
57
+ @mock .patch ('blinkpy.blinkpy.Blink.camera_config_request' ,
58
+ return_value = CAMERA_CFG )
45
59
@mock .patch ('blinkpy.blinkpy.requests.post' ,
46
60
side_effect = mresp .mocked_requests_post )
47
61
@mock .patch ('blinkpy.blinkpy.requests.get' ,
48
62
side_effect = mresp .mocked_requests_get )
49
- def test_camera_properties (self , mock_get , mock_post ):
63
+ def test_camera_properties (self , mock_get , mock_post , mock_cfg ):
50
64
"""Tests all property set/recall."""
51
65
self .blink .urls = blinkpy .BlinkURLHandler ('test' )
52
66
@@ -56,7 +70,7 @@ def test_camera_properties(self, mock_get, mock_post):
56
70
57
71
for name in self .blink .cameras :
58
72
camera = self .blink .cameras [name ]
59
-
73
+ camera . update ( self . camera_config )
60
74
self .assertEqual (camera .id , '1111' )
61
75
self .assertEqual (camera .name , 'foobar' )
62
76
self .assertEqual (camera .armed , False )
@@ -68,19 +82,21 @@ def test_camera_properties(self, mock_get, mock_post):
68
82
camera .clip ,
69
83
"https://rest.test.{}/test/clip/clip.mp4" .format (BLINK_URL )
70
84
)
71
- self .assertEqual (camera .temperature , 70 )
72
- self .assertEqual (camera .battery , 3 )
85
+ self .assertEqual (camera .temperature , 68 )
86
+ self .assertEqual (camera .battery , 50 )
73
87
self .assertEqual (camera .battery_string , "OK" )
74
88
self .assertEqual (camera .notifications , 2 )
75
89
self .assertEqual (camera .region_id , 'test' )
90
+ self .assertEqual (camera .motion_detected , True )
91
+ self .assertEqual (camera .wifi_strength , - 30 )
92
+
76
93
camera_config = self .camera_config
77
94
camera_config ['active' ] = 'armed'
78
95
camera_config ['thumbnail' ] = '/test2/image'
79
96
camera_config ['video' ] = '/test2/clip.mp4'
80
97
camera_config ['temp' ] = 60
81
98
camera_config ['battery' ] = 0
82
99
camera_config ['notifications' ] = 4
83
-
84
100
for name in self .blink .cameras :
85
101
camera = self .blink .cameras [name ]
86
102
camera .update (camera_config )
@@ -93,8 +109,8 @@ def test_camera_properties(self, mock_get, mock_post):
93
109
camera .clip ,
94
110
"https://rest.test.{}/test2/clip.mp4" .format (BLINK_URL )
95
111
)
96
- self .assertEqual (camera .temperature , 60 )
97
- self .assertEqual (camera .battery , 0 )
112
+ self .assertEqual (camera .temperature , 68 )
113
+ self .assertEqual (camera .battery , 50 )
98
114
self .assertEqual (camera .battery_string , "Low" )
99
115
self .assertEqual (camera .notifications , 4 )
100
116
camera_config ['battery' ] = - 10
@@ -107,7 +123,9 @@ def test_camera_case(self):
107
123
self .blink .cameras ['foobar' ] = camera_object
108
124
self .assertEqual (camera_object , self .blink .cameras ['fOoBaR' ])
109
125
110
- def test_camera_attributes (self ):
126
+ @mock .patch ('blinkpy.blinkpy.Blink.camera_config_request' ,
127
+ return_value = CAMERA_CFG )
128
+ def test_camera_attributes (self , mock_cfg ):
111
129
"""Tests camera attributes."""
112
130
self .blink .urls = blinkpy .BlinkURLHandler ('test' )
113
131
@@ -117,6 +135,7 @@ def test_camera_attributes(self):
117
135
118
136
for name in self .blink .cameras :
119
137
camera = self .blink .cameras [name ]
138
+ camera .update (self .camera_config )
120
139
camera_attr = camera .attributes
121
140
self .assertEqual (camera_attr ['device_id' ], '1111' )
122
141
self .assertEqual (camera_attr ['name' ], 'foobar' )
@@ -129,7 +148,9 @@ def test_camera_attributes(self):
129
148
camera_attr ['video' ],
130
149
"https://rest.test.{}/test/clip/clip.mp4" .format (BLINK_URL )
131
150
)
132
- self .assertEqual (camera_attr ['temperature' ], 70 )
133
- self .assertEqual (camera_attr ['battery' ], 3 )
151
+ self .assertEqual (camera_attr ['temperature' ], 68 )
152
+ self .assertEqual (camera_attr ['battery' ], 50 )
134
153
self .assertEqual (camera_attr ['notifications' ], 2 )
135
154
self .assertEqual (camera_attr ['network_id' ], '0000' )
155
+ self .assertEqual (camera_attr ['motion_detected' ], True )
156
+ self .assertEqual (camera_attr ['wifi_strength' ], - 30 )
0 commit comments