-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathtest_generic.py
More file actions
68 lines (58 loc) · 2.2 KB
/
test_generic.py
File metadata and controls
68 lines (58 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
"""Test Plugwise module generic functionality."""
from unittest.mock import patch
import pytest
import aiohttp
from .test_init import _LOGGER, TestPlugwise, pw_exceptions
class TestPlugwiseGeneric(TestPlugwise): # pylint: disable=attribute-defined-outside-init
"""Tests for generic functionality."""
@pytest.mark.asyncio
async def test_fail_anna_connected_to_adam(self):
"""Test erroneous adam with anna system."""
self.smile_setup = "anna_connected_to_adam"
try:
_server, _api, _client = await self.connect_wrapper()
setup_result = False # pragma: no cover
except pw_exceptions.InvalidSetupError:
setup_result = True
assert setup_result
@pytest.mark.asyncio
async def test_invalid_credentials(self):
"""Test P1 with invalid credentials setup."""
self.smile_setup = "p1v4"
try:
await self.connect_wrapper(fail_auth=True)
setup_result = False # pragma: no cover
except pw_exceptions.InvalidAuthentication:
_LOGGER.debug("InvalidAuthentication raised successfully")
setup_result = True
assert setup_result
@pytest.mark.asyncio
async def test_connect_fail_firmware(self):
"""Test a P1 non existing firmware setup."""
self.smile_setup = "fail_firmware"
try:
await self.connect_wrapper()
setup_result = False # pragma: no cover
except pw_exceptions.UnsupportedDeviceError:
setup_result = True
assert setup_result
# Test connect for timeout
@patch(
"plugwise.smilecomm.ClientSession.get",
side_effect=aiohttp.ServerTimeoutError,
)
@pytest.mark.asyncio
async def test_connect_timeout(self, timeout_test):
"""Wrap connect to raise timeout during get."""
# pylint: disable=unused-variable
try:
self.smile_setup = "p1v4"
(
server,
api,
client,
) = await self.connect_wrapper()
setup_result = False # pragma: no cover
except pw_exceptions.PlugwiseException:
setup_result = True
assert setup_result