Skip to content

Commit 33bda4d

Browse files
committed
Return remaining testcases
1 parent fceb86e commit 33bda4d

File tree

4 files changed

+184
-0
lines changed

4 files changed

+184
-0
lines changed

tests/test_legacy_anna.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,33 @@ async def test_connect_legacy_anna(self):
4444
assert result
4545
await smile.close_connection()
4646
await self.disconnect(server, client)
47+
48+
@pytest.mark.asyncio
49+
async def test_connect_legacy_anna_2(self):
50+
"""Test another legacy Anna device."""
51+
self.smile_setup = "legacy_anna_2"
52+
53+
testdata = self.load_testdata(SMILE_TYPE, self.smile_setup)
54+
server, smile, client = await self.connect_legacy_wrapper()
55+
assert smile.smile_hostname == "smile000000"
56+
57+
self.validate_test_basics(
58+
_LOGGER,
59+
smile,
60+
smile_version="1.8.22",
61+
smile_legacy=True,
62+
)
63+
64+
await self.device_test(smile, "2020-05-03 00:00:01", testdata)
65+
66+
assert smile.gateway_id == "be81e3f8275b4129852c4d8d550ae2eb"
67+
assert self.entity_items == 43
68+
69+
result = await self.tinker_legacy_thermostat(smile)
70+
assert result
71+
72+
result = await self.tinker_legacy_thermostat_schedule(smile, "on")
73+
assert result
74+
75+
await smile.close_connection()
76+
await self.disconnect(server, client)

tests/test_legacy_p1.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,35 @@ async def test_connect_smile_p1_v2(self):
3434
await smile.close_connection()
3535
await self.disconnect(server, client)
3636

37+
@pytest.mark.asyncio
38+
async def test_connect_smile_p1_v2_2(self):
39+
"""Test another legacy P1 device."""
40+
self.smile_setup = "smile_p1_v2_2"
41+
42+
testdata = self.load_testdata(SMILE_TYPE, self.smile_setup)
43+
server, smile, client = await self.connect_legacy_wrapper()
44+
assert smile.smile_hostname == "smile000000"
45+
46+
self.validate_test_basics(
47+
_LOGGER,
48+
smile,
49+
smile_type="power",
50+
smile_version="2.5.9",
51+
smile_legacy=True,
52+
)
53+
54+
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
55+
assert self.device_items == 26
56+
57+
# Now change some data and change directory reading xml from
58+
# emulating reading newer dataset after an update_interval
59+
testdata_updated = self.load_testdata(
60+
SMILE_TYPE, f"{self.smile_setup}_UPDATED_DATA"
61+
)
62+
self.smile_setup = "updated/smile_p1_v2_2"
63+
await self.device_test(
64+
smile, "2022-05-16 00:00:01", testdata_updated, initialize=False
65+
)
66+
67+
await smile.close_connection()
68+
await self.disconnect(server, client)

tests/test_legacy_stretch.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,67 @@ async def test_connect_stretch_v31(self):
5050

5151
await smile.close_connection()
5252
await self.disconnect(server, client)
53+
54+
@pytest.mark.asyncio
55+
async def test_connect_stretch_v23(self):
56+
"""Test a legacy Stretch with firmware 2.3 setup."""
57+
self.smile_setup = "stretch_v23"
58+
59+
testdata = self.load_testdata(SMILE_TYPE, self.smile_setup)
60+
server, smile, client = await self.connect_legacy_wrapper(stretch=True)
61+
assert smile.smile_hostname == "stretch000000"
62+
63+
self.validate_test_basics(
64+
_LOGGER,
65+
smile,
66+
smile_type="stretch",
67+
smile_version="2.3.12",
68+
smile_legacy=True,
69+
)
70+
71+
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
72+
assert self.device_items == 243
73+
74+
switch_change = await self.tinker_switch(
75+
smile, "2587a7fcdd7e482dab03fda256076b4b"
76+
)
77+
assert switch_change
78+
switch_change = await self.tinker_switch(
79+
smile,
80+
"f7b145c8492f4dd7a4de760456fdef3e",
81+
["407aa1c1099d463c9137a3a9eda787fd"],
82+
)
83+
assert switch_change
84+
85+
await smile.close_connection()
86+
await self.disconnect(server, client)
87+
88+
@pytest.mark.asyncio
89+
async def test_connect_stretch_v27_no_domain(self):
90+
"""Test a legacy Stretch with firmware 2.7 setup, with no domain_objects."""
91+
# testdata dictionary with key ctrl_id_dev_id => keys:values
92+
self.smile_setup = "stretch_v27_no_domain"
93+
94+
testdata = self.load_testdata(SMILE_TYPE, self.smile_setup)
95+
server, smile, client = await self.connect_legacy_wrapper(stretch=True)
96+
assert smile.smile_hostname == "stretch000000"
97+
98+
self.validate_test_basics(
99+
_LOGGER,
100+
smile,
101+
smile_type="stretch",
102+
smile_version="2.7.18",
103+
smile_legacy=True,
104+
)
105+
106+
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
107+
assert self.device_items == 190
108+
_LOGGER.info(" # Assert no master thermostat")
109+
110+
switch_change = await self.tinker_switch(
111+
smile, "8b8d14b242e24cd789743c828b9a2ea9"
112+
)
113+
assert switch_change
114+
115+
await smile.close_connection()
116+
await self.disconnect(server, client)

tests/test_p1.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,61 @@ async def test_connect_p1v4_442_single(self):
4343

4444
await smile.close_connection()
4545
await self.disconnect(server, client)
46+
47+
@pytest.mark.asyncio
48+
async def test_connect_p1v4_442_single(self):
49+
"""Test a P1 firmware 4.4 single-phase setup."""
50+
self.smile_setup = "p1v4_442_single"
51+
52+
testdata = self.load_testdata(SMILE_TYPE, self.smile_setup)
53+
server, smile, client = await self.connect_wrapper()
54+
assert smile.smile_hostname == "smile000000"
55+
56+
self.validate_test_basics(
57+
_LOGGER,
58+
smile,
59+
smile_type="power",
60+
smile_version="4.4.2",
61+
)
62+
63+
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
64+
assert smile.gateway_id == "a455b61e52394b2db5081ce025a430f3"
65+
assert self.device_items == 32
66+
assert not self.notifications
67+
68+
# Now change some data and change directory reading xml from
69+
# emulating reading newer dataset after an update_interval
70+
testdata_updated = self.load_testdata(
71+
SMILE_TYPE, f"{self.smile_setup}_UPDATED_DATA"
72+
)
73+
self.smile_setup = "updated/p1v4_442_single"
74+
await self.device_test(
75+
smile, "2022-05-16 00:00:01", testdata_updated, initialize=False
76+
)
77+
78+
await smile.close_connection()
79+
await self.disconnect(server, client)
80+
81+
@pytest.mark.asyncio
82+
async def test_connect_p1v4_442_triple(self):
83+
"""Test a P1 firmware 4 3-phase setup."""
84+
self.smile_setup = "p1v4_442_triple"
85+
86+
testdata = self.load_testdata(SMILE_TYPE, self.smile_setup)
87+
server, smile, client = await self.connect_wrapper()
88+
assert smile.smile_hostname == "smile000000"
89+
90+
self.validate_test_basics(
91+
_LOGGER,
92+
smile,
93+
smile_type="power",
94+
smile_version="4.4.2",
95+
)
96+
97+
await self.device_test(smile, "2022-05-16 00:00:01", testdata)
98+
assert smile.gateway_id == "03e65b16e4b247a29ae0d75a78cb492e"
99+
assert self.device_items == 41
100+
assert self.notifications
101+
102+
await smile.close_connection()
103+
await self.disconnect(server, client)

0 commit comments

Comments
 (0)