Skip to content

Commit cd6cbbe

Browse files
authored
chore: Update end to end q7 tests (#736)
* chore: Update e2e tests for q7 to use different product data * chore: remove duplicate data in test_q7_device
1 parent fafc8d8 commit cd6cbbe

File tree

5 files changed

+323
-65
lines changed

5 files changed

+323
-65
lines changed

tests/e2e/__snapshots__/test_device_manager.ambr

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -267,61 +267,61 @@
267267
[mqtt <]
268268
00000000 20 09 02 00 06 22 00 0a 21 00 14 | ...."..!..|
269269
[mqtt >]
270-
00000000 82 2e 00 01 00 00 28 72 72 2f 6d 2f 6f 2f 75 73 |......(rr/m/o/us|
270+
00000000 82 2a 00 01 00 00 24 72 72 2f 6d 2f 6f 2f 75 73 |.*....$rr/m/o/us|
271271
00000010 65 72 31 32 33 2f 31 39 36 34 38 66 39 34 2f 64 |er123/19648f94/d|
272-
00000020 65 76 69 63 65 2d 69 64 2d 64 65 66 34 35 36 00 |evice-id-def456.|
272+
00000020 65 76 69 63 65 2d 69 64 2d 71 37 00 |evice-id-q7.|
273273
[mqtt <]
274274
00000000 90 04 00 01 00 00 |......|
275275
[mqtt >]
276-
00000000 30 b2 01 00 28 72 72 2f 6d 2f 69 2f 75 73 65 72 |0...(rr/m/i/user|
276+
00000000 30 ae 01 00 24 72 72 2f 6d 2f 69 2f 75 73 65 72 |0...$rr/m/i/user|
277277
00000010 31 32 33 2f 31 39 36 34 38 66 39 34 2f 64 65 76 |123/19648f94/dev|
278-
00000020 69 63 65 2d 69 64 2d 64 65 66 34 35 36 00 42 30 |ice-id-def456.B0|
279-
00000030 31 00 00 23 83 00 00 23 84 68 a6 a2 25 00 65 00 |1..#...#.h..%.e.|
280-
00000040 70 9f 24 5b c1 48 2b c9 07 ca c3 e1 c5 01 06 3e |p.$[.H+........>|
281-
00000050 62 44 d8 8d 7c 45 19 47 5c 53 87 fe 1a a7 a5 0d |bD..|E.G\S......|
282-
00000060 b4 a8 b5 7e 19 75 8a 4f 0a 37 ca d0 1f d0 a1 5b |...~.u.O.7.....[|
283-
00000070 e8 ef 45 75 73 aa dd 84 c8 ec d6 c2 e7 64 43 c3 |..Eus........dC.|
284-
00000080 58 8a 31 7a c0 45 0a 5f 06 b6 4f a3 e1 73 05 58 |X.1z.E._..O..s.X|
285-
00000090 b4 71 2b c3 cf e5 68 8a db de a2 3f 1a f7 8e 6d |.q+...h....?...m|
286-
000000a0 ab a4 7f 71 34 c2 93 83 01 7d cd 1e b3 78 c1 d7 |...q4....}...x..|
287-
000000b0 dc 0c 71 b2 86 |..q..|
278+
00000020 69 63 65 2d 69 64 2d 71 37 00 42 30 31 00 00 23 |ice-id-q7.B01..#|
279+
00000030 83 00 00 23 84 68 a6 a2 25 00 65 00 70 9f 24 5b |...#.h..%.e.p.$[|
280+
00000040 c1 48 2b c9 07 ca c3 e1 c5 01 06 3e 62 44 d8 8d |.H+........>bD..|
281+
00000050 7c 45 19 47 5c 53 87 fe 1a a7 a5 0d b4 a8 b5 7e ||E.G\S.........~|
282+
00000060 19 75 8a 4f 0a 37 ca d0 1f d0 a1 5b e8 ef 45 75 |.u.O.7.....[..Eu|
283+
00000070 73 aa dd 84 c8 ec d6 c2 e7 64 43 c3 58 8a 31 7a |s........dC.X.1z|
284+
00000080 c0 45 0a 5f 06 b6 4f a3 e1 73 05 58 b4 71 2b c3 |.E._..O..s.X.q+.|
285+
00000090 cf e5 68 8a db de a2 3f 1a f7 8e 6d ab a4 7f 71 |..h....?...m...q|
286+
000000a0 34 c2 93 83 01 7d cd 1e b3 78 c1 d7 dc 0c 71 b2 |4....}...x....q.|
287+
000000b0 86 |.|
288288
[mqtt <]
289-
00000000 30 96 01 00 28 72 72 2f 6d 2f 6f 2f 75 73 65 72 |0...(rr/m/o/user|
289+
00000000 30 92 01 00 24 72 72 2f 6d 2f 6f 2f 75 73 65 72 |0...$rr/m/o/user|
290290
00000010 31 32 33 2f 31 39 36 34 38 66 39 34 2f 64 65 76 |123/19648f94/dev|
291-
00000020 69 63 65 2d 69 64 2d 64 65 66 34 35 36 00 00 00 |ice-id-def456...|
292-
00000030 00 67 42 30 31 00 00 00 01 00 00 00 17 68 a6 a2 |.gB01........h..|
293-
00000040 23 00 66 00 50 cc c9 4f 81 fd b0 4c 46 6d d7 bb |#.f.P..O...LFm..|
294-
00000050 aa 87 d8 e5 84 54 b7 5b 58 22 d3 d1 53 d0 1d b8 |.....T.[X"..S...|
295-
00000060 6f 11 53 4f 77 21 a1 a5 8b 05 7f 9e b7 62 88 df |o.SOw!.......b..|
296-
00000070 57 1b fe 50 f0 9a 70 bc e1 ad c3 f7 cc f7 3f e4 |W..P..p.......?.|
297-
00000080 6a dd 1d f5 d2 4a 6d 4d 48 4f b5 75 07 70 7d bf |j....JmMHO.u.p}.|
298-
00000090 c5 b9 3f e7 73 4b d9 19 cd |..?.sK...|
291+
00000020 69 63 65 2d 69 64 2d 71 37 00 00 00 00 67 42 30 |ice-id-q7....gB0|
292+
00000030 31 00 00 00 01 00 00 00 17 68 a6 a2 23 00 66 00 |1........h..#.f.|
293+
00000040 50 cc c9 4f 81 fd b0 4c 46 6d d7 bb aa 87 d8 e5 |P..O...LFm......|
294+
00000050 84 54 b7 5b 58 22 d3 d1 53 d0 1d b8 6f 11 53 4f |.T.[X"..S...o.SO|
295+
00000060 77 21 a1 a5 8b 05 7f 9e b7 62 88 df 57 1b fe 50 |w!.......b..W..P|
296+
00000070 f0 9a 70 bc e1 ad c3 f7 cc f7 3f e4 6a dd 1d f5 |..p.......?.j...|
297+
00000080 d2 4a 6d 4d 48 4f b5 75 07 70 7d bf c5 b9 3f e7 |.JmMHO.u.p}...?.|
298+
00000090 73 4b d9 19 cd |sK...|
299299
[mqtt >]
300-
00000000 30 e2 01 00 28 72 72 2f 6d 2f 69 2f 75 73 65 72 |0...(rr/m/i/user|
300+
00000000 30 de 01 00 24 72 72 2f 6d 2f 69 2f 75 73 65 72 |0...$rr/m/i/user|
301301
00000010 31 32 33 2f 31 39 36 34 38 66 39 34 2f 64 65 76 |123/19648f94/dev|
302-
00000020 69 63 65 2d 69 64 2d 64 65 66 34 35 36 00 42 30 |ice-id-def456.B0|
303-
00000030 31 00 00 23 86 00 00 23 87 68 a6 a2 26 00 65 00 |1..#...#.h..&.e.|
304-
00000040 a0 4d ae db 7c ad db 6f 8e 4a 1b 01 4c 2b fd fd |.M..|..o.J..L+..|
305-
00000050 1b 4f df 4c 64 fb 3b ed a6 fc 9f e2 21 e8 95 94 |.O.Ld.;.....!...|
306-
00000060 49 6c 57 79 9c c5 8e 35 48 fc cc 29 f8 69 9b 54 |IlWy...5H..).i.T|
307-
00000070 fb 42 33 7e 63 72 a6 17 0f 87 20 31 74 c3 bb 29 |.B3~cr.... 1t..)|
308-
00000080 5b 6a f3 a7 23 bd 10 42 84 4b 6f 09 a5 6c 0b 3c |[j..#..B.Ko..l.<|
309-
00000090 d0 0c a4 ba 90 be 70 27 43 73 35 bd 5f 47 bd 1b |......p'Cs5._G..|
310-
000000a0 b4 e5 0b 98 50 ed 61 80 7d db 40 c1 ad 99 65 e1 |....P.a.}.@...e.|
311-
000000b0 7e df a6 b8 7d ef 3b 08 92 c3 95 c7 46 a6 f7 32 |~...}.;.....F..2|
312-
000000c0 b6 6d cb 21 72 b8 a1 ee 85 49 d6 2a 76 33 c0 01 |.m.!r....I.*v3..|
313-
000000d0 c3 be fa 58 3d fa f2 72 50 84 e4 17 68 e5 21 00 |...X=..rP...h.!.|
314-
000000e0 98 16 9c 62 43 |...bC|
302+
00000020 69 63 65 2d 69 64 2d 71 37 00 42 30 31 00 00 23 |ice-id-q7.B01..#|
303+
00000030 86 00 00 23 87 68 a6 a2 26 00 65 00 a0 4d ae db |...#.h..&.e..M..|
304+
00000040 7c ad db 6f 8e 4a 1b 01 4c 2b fd fd 1b 4f df 4c ||..o.J..L+...O.L|
305+
00000050 64 fb 3b ed a6 fc 9f e2 21 e8 95 94 49 6c 57 79 |d.;.....!...IlWy|
306+
00000060 9c c5 8e 35 48 fc cc 29 f8 69 9b 54 fb 42 33 7e |...5H..).i.T.B3~|
307+
00000070 63 72 a6 17 0f 87 20 31 74 c3 bb 29 5b 6a f3 a7 |cr.... 1t..)[j..|
308+
00000080 23 bd 10 42 84 4b 6f 09 a5 6c 0b 3c d0 0c a4 ba |#..B.Ko..l.<....|
309+
00000090 90 be 70 27 43 73 35 bd 5f 47 bd 1b b4 e5 0b 98 |..p'Cs5._G......|
310+
000000a0 50 ed 61 80 7d db 40 c1 ad 99 65 e1 7e df a6 b8 |P.a.}.@...e.~...|
311+
000000b0 7d ef 3b 08 92 c3 95 c7 46 a6 f7 32 b6 6d cb 21 |}.;.....F..2.m.!|
312+
000000c0 72 b8 a1 ee 85 49 d6 2a 76 33 c0 01 c3 be fa 58 |r....I.*v3.....X|
313+
000000d0 3d fa f2 72 50 84 e4 17 68 e5 21 00 98 16 9c 62 |=..rP...h.!....b|
314+
000000e0 43 |C|
315315
[mqtt <]
316-
00000000 30 86 01 00 28 72 72 2f 6d 2f 6f 2f 75 73 65 72 |0...(rr/m/o/user|
316+
00000000 30 82 01 00 24 72 72 2f 6d 2f 6f 2f 75 73 65 72 |0...$rr/m/o/user|
317317
00000010 31 32 33 2f 31 39 36 34 38 66 39 34 2f 64 65 76 |123/19648f94/dev|
318-
00000020 69 63 65 2d 69 64 2d 64 65 66 34 35 36 00 00 00 |ice-id-def456...|
319-
00000030 00 57 42 30 31 00 00 00 02 00 00 00 17 68 a6 a2 |.WB01........h..|
320-
00000040 24 00 66 00 40 cc c9 4f 81 fd b0 4c 46 6d d7 bb |$.f.@..O...LFm..|
321-
00000050 aa 87 d8 e5 84 54 b7 5b 58 22 d3 d1 53 d0 1d b8 |.....T.[X"..S...|
322-
00000060 6f 11 53 4f 77 2b ef a8 bf d2 66 05 8e ce 7f 08 |o.SOw+....f.....|
323-
00000070 76 c0 18 90 ed 04 66 8e 8f 91 30 63 d2 e0 8c 1a |v.....f...0c....|
324-
00000080 09 5c 7c ea 94 e3 24 15 60 |.\|...$.`|
318+
00000020 69 63 65 2d 69 64 2d 71 37 00 00 00 00 57 42 30 |ice-id-q7....WB0|
319+
00000030 31 00 00 00 02 00 00 00 17 68 a6 a2 24 00 66 00 |1........h..$.f.|
320+
00000040 40 cc c9 4f 81 fd b0 4c 46 6d d7 bb aa 87 d8 e5 |@..O...LFm......|
321+
00000050 84 54 b7 5b 58 22 d3 d1 53 d0 1d b8 6f 11 53 4f |.T.[X"..S...o.SO|
322+
00000060 77 2b ef a8 bf d2 66 05 8e ce 7f 08 76 c0 18 90 |w+....f.....v...|
323+
00000070 ed 04 66 8e 8f 91 30 63 d2 e0 8c 1a 09 5c 7c ea |..f...0c.....\|.|
324+
00000080 94 e3 24 15 60 |..$.`|
325325
# ---
326326
# name: test_v1_device
327327
[mqtt >]

tests/e2e/test_device_manager.py

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -452,24 +452,8 @@ async def test_q10_device(
452452
(
453453
{
454454
**HOME_DATA_RAW,
455-
# Use a fake Q7 device and product profile as a placeholder
456-
# until we add a json file based on the real one.
457-
"devices": [
458-
{
459-
**mock_data.Q10_DEVICE_DATA,
460-
"name": "Roborock Q7 XX",
461-
"productId": "product-id-q7",
462-
},
463-
],
464-
"products": [
465-
{
466-
**mock_data.SS07_PRODUCT_DATA,
467-
"id": "product-id-q7",
468-
"name": "Roborock Q7 Series",
469-
"model": "roborock.vacuum.scXX",
470-
"category": "robot.vacuum.cleaner",
471-
},
472-
],
455+
"devices": [mock_data.Q7_DEVICE_DATA],
456+
"products": [mock_data.SC01_PRODUCT_DATA],
473457
}
474458
)
475459
],
@@ -486,7 +470,7 @@ async def test_q7_device(
486470
# Prepare MQTT requests
487471
response_builder = ResponseBuilder()
488472
response_builder.version = B01_VERSION
489-
test_topic = TEST_TOPIC_FORMAT.format(duid="device-id-def456")
473+
test_topic = TEST_TOPIC_FORMAT.format(duid="device-id-q7")
490474
mqtt_responses: list[bytes] = [
491475
*MQTT_DEFAULT_RESPONSES,
492476
# ACK the Query status call sent below. id is deterministic based on deterministic_message_fixtures
@@ -506,8 +490,8 @@ async def test_q7_device(
506490
devices = await device_manager.get_devices()
507491
assert len(devices) == 1
508492
device = devices[0]
509-
assert device.duid == "device-id-def456"
510-
assert device.name == "Roborock Q7 XX"
493+
assert device.duid == "device-id-q7"
494+
assert device.name == "Roborock Q7"
511495
assert device.is_connected
512496
assert not device.is_local_connected # Q7 does not support local connections
513497

tests/mock_data.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,14 @@
129129

130130
# Products
131131
A27_PRODUCT_DATA = PRODUCTS["home_data_product_a27.json"]
132+
SC01_PRODUCT_DATA = PRODUCTS["home_data_product_sc01.json"]
132133
SS07_PRODUCT_DATA = PRODUCTS["home_data_product_ss07.json"]
133134
A102_PRODUCT_DATA = PRODUCTS["home_data_product_a102.json"]
134135
A114_PRODUCT_DATA = PRODUCTS["home_data_product_a114.json"]
135136

136137
# Devices
137138
S7_DEVICE_DATA = DEVICES["home_data_device_s7_maxv.json"]
139+
Q7_DEVICE_DATA = DEVICES["home_data_device_q7.json"]
138140
Q10_DEVICE_DATA = DEVICES["home_data_device_q10.json"]
139141
ZEO_ONE_DEVICE_DATA = DEVICES["home_data_device_zeo_one.json"]
140142
SAROS_10R_DEVICE_DATA = DEVICES["home_data_device_saros_10r.json"]
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"duid": "device-id-q7",
3+
"name": "Roborock Q7",
4+
"localKey": "key123key123key1",
5+
"productId": "q7_product_id",
6+
"fv": "03.01.71",
7+
"activeTime": 1749513705,
8+
"timeZoneId": "Pacific/Auckland",
9+
"iconUrl": "",
10+
"share": true,
11+
"shareTime": 1754789238,
12+
"online": true,
13+
"pv": "B01",
14+
"tuyaMigrated": false,
15+
"extra": "{\"1749518432\": \"0\", \"1753581557\": \"0\", \"clean_finish\": \"{}\"}",
16+
"sn": "q7_sn",
17+
"deviceStatus": {
18+
"135": 0,
19+
"120": 0,
20+
"121": 8,
21+
"122": 100,
22+
"123": 4,
23+
"124": 2,
24+
"125": 77,
25+
"126": 4294965348,
26+
"127": 54,
27+
"136": 1,
28+
"137": 1,
29+
"138": 0,
30+
"139": 0,
31+
"141": 0,
32+
"142": 0
33+
},
34+
"silentOtaSwitch": false,
35+
"f": false,
36+
"createTime": 1749513706,
37+
"cid": "DE",
38+
"shareType": "UNLIMITED_TIME"
39+
}

0 commit comments

Comments
 (0)