22-- Licensed under the Apache License, Version 2.0
33
44local test = require " integration_test"
5- local capabilities = require " st.capabilities"
65local t_utils = require " integration_test.utils"
76local clusters = require " st.matter.clusters"
87
@@ -33,33 +32,11 @@ local cluster_subscribe_list = {
3332 clusters .LevelControl .attributes .CurrentLevel ,
3433 clusters .LevelControl .attributes .MaxLevel ,
3534 clusters .LevelControl .attributes .MinLevel ,
36- clusters .ColorControl .attributes .CurrentHue ,
37- clusters .ColorControl .attributes .CurrentSaturation ,
38- clusters .ColorControl .attributes .CurrentX ,
39- clusters .ColorControl .attributes .CurrentY ,
40- clusters .ColorControl .attributes .ColorMode ,
4135 clusters .ColorControl .attributes .ColorTemperatureMireds ,
4236 clusters .ColorControl .attributes .ColorTempPhysicalMaxMireds ,
4337 clusters .ColorControl .attributes .ColorTempPhysicalMinMireds ,
4438}
4539
46- local function set_color_mode (device , endpoint , color_mode )
47- test .socket .matter :__queue_receive ({
48- device .id ,
49- clusters .ColorControl .attributes .ColorMode :build_test_report_data (
50- device , endpoint , color_mode )
51- })
52- local read_req
53- if color_mode == clusters .ColorControl .types .ColorMode .CURRENT_HUE_AND_CURRENT_SATURATION then
54- read_req = clusters .ColorControl .attributes .CurrentHue :read ()
55- read_req :merge (clusters .ColorControl .attributes .CurrentSaturation :read ())
56- else -- color_mode = clusters.ColorControl.types.ColorMode.CURRENTX_AND_CURRENTY
57- read_req = clusters .ColorControl .attributes .CurrentX :read ()
58- read_req :merge (clusters .ColorControl .attributes .CurrentY :read ())
59- end
60- test .socket .matter :__expect_send ({device .id , read_req })
61- end
62-
6340local function test_init ()
6441 local subscribe_request = cluster_subscribe_list [1 ]:subscribe (mock_device_color_temp )
6542 for i , cluster in ipairs (cluster_subscribe_list ) do
@@ -69,78 +46,116 @@ local function test_init()
6946 end
7047 test .socket .matter :__expect_send ({mock_device_color_temp .id , subscribe_request })
7148 test .mock_device .add_test_device (mock_device_color_temp )
72- set_color_mode (mock_device_color_temp , 1 , clusters .ColorControl .types .ColorMode .CURRENT_HUE_AND_CURRENT_SATURATION )
7349end
7450test .set_test_init_function (test_init )
7551
52+ local fields = require " switch_utils.fields"
53+
7654test .register_message_test (
7755 " Color Temperature Step Command Test" ,
7856 {
7957 {
8058 channel = " capability" ,
8159 direction = " receive" ,
82- message = { mock_device_color_temp :generate_test_message (" main" , capabilities .statelessColorTemperatureStep .stepColorTemperatureByPercent (25 )) }
60+ message = {
61+ mock_device_color_temp .id ,
62+ { capability = " statelessColorTemperatureStep" , component = " main" , command = " stepColorTemperatureByPercent" , args = { 20 } }
63+ }
8364 },
8465 {
8566 channel = " matter" ,
8667 direction = " send" ,
87- message = mock_device_color_temp :generate_test_message (" matter" , clusters .ColorControl .server .commands .StepColorTemperature (mock_device_color_temp , 1 , clusters .ColorControl .types .StepModeEnum .UP , 1075 , 10 , 2200 , 6500 , 0 , 0 ))
68+ message = {
69+ mock_device_color_temp .id ,
70+ clusters .ColorControl .server .commands .StepColorTemperature (mock_device_color_temp , 1 , clusters .ColorControl .types .StepModeEnum .DOWN , 187 , fields .TRANSITION_TIME , fields .COLOR_TEMPERATURE_MIRED_MIN , fields .COLOR_TEMPERATURE_MIRED_MAX , fields .OPTIONS_MASK , fields .OPTIONS_OVERRIDE )
71+ },
8872 },
8973 {
9074 channel = " capability" ,
9175 direction = " receive" ,
92- message = { mock_device_color_temp :generate_test_message (" main" , capabilities .statelessColorTemperatureStep .stepColorTemperatureByPercent (- 50 )) }
76+ message = {
77+ mock_device_color_temp .id ,
78+ { capability = " statelessColorTemperatureStep" , component = " main" , command = " stepColorTemperatureByPercent" , args = { 90 } }
79+ }
9380 },
9481 {
9582 channel = " matter" ,
9683 direction = " send" ,
97- message = mock_device_color_temp :generate_test_message (" matter" , clusters .ColorControl .server .commands .StepColorTemperature (mock_device_color_temp , 1 , clusters .ColorControl .types .StepModeEnum .DOWN , 2150 , 10 , 2200 , 6500 , 0 , 0 ))
84+ message = {
85+ mock_device_color_temp .id ,
86+ clusters .ColorControl .server .commands .StepColorTemperature (mock_device_color_temp , 1 , clusters .ColorControl .types .StepModeEnum .DOWN , 841 , fields .TRANSITION_TIME , fields .COLOR_TEMPERATURE_MIRED_MIN , fields .COLOR_TEMPERATURE_MIRED_MAX , fields .OPTIONS_MASK , fields .OPTIONS_OVERRIDE )
87+ },
9888 },
9989 {
10090 channel = " capability" ,
10191 direction = " receive" ,
102- message = { mock_device_color_temp :generate_test_message (" main" , capabilities .statelessColorTemperatureStep .stepColorTemperatureByPercent (100 )) }
92+ message = {
93+ mock_device_color_temp .id ,
94+ { capability = " statelessColorTemperatureStep" , component = " main" , command = " stepColorTemperatureByPercent" , args = { - 50 } }
95+ }
10396 },
10497 {
10598 channel = " matter" ,
10699 direction = " send" ,
107- message = mock_device_color_temp :generate_test_message (" matter" , clusters .ColorControl .server .commands .StepColorTemperature (mock_device_color_temp , 1 , clusters .ColorControl .types .StepModeEnum .UP , 4300 , 10 , 2200 , 6500 , 0 , 0 ))
100+ message = {
101+ mock_device_color_temp .id ,
102+ clusters .ColorControl .server .commands .StepColorTemperature (mock_device_color_temp , 1 , clusters .ColorControl .types .StepModeEnum .UP , 467 , fields .TRANSITION_TIME , fields .COLOR_TEMPERATURE_MIRED_MIN , fields .COLOR_TEMPERATURE_MIRED_MAX , fields .OPTIONS_MASK , fields .OPTIONS_OVERRIDE )
103+ },
108104 }
109105 }
110106)
111107
108+
112109test .register_message_test (
113110 " Level Step Command Test" ,
114111 {
115112 {
116113 channel = " capability" ,
117114 direction = " receive" ,
118- message = { mock_device_color_temp :generate_test_message (" main" , capabilities .statelessSwitchLevelStep .stepLevel (25 )) }
115+ message = {
116+ mock_device_color_temp .id ,
117+ { capability = " statelessSwitchLevelStep" , component = " main" , command = " stepLevel" , args = { 25 } }
118+ }
119119 },
120120 {
121121 channel = " matter" ,
122122 direction = " send" ,
123- message = mock_device_color_temp :generate_test_message (" matter" , clusters .LevelControl .server .commands .StepLevel (mock_device_color_temp , 1 , clusters .LevelControl .types .StepModeEnum .UP , 1075 , 10 , 254 ))
123+ message = {
124+ mock_device_color_temp .id ,
125+ clusters .LevelControl .server .commands .Step (mock_device_color_temp , 1 , clusters .LevelControl .types .StepModeEnum .UP , 63 , fields .TRANSITION_TIME , fields .OPTIONS_MASK , fields .OPTIONS_OVERRIDE )
126+ },
124127 },
125128 {
126129 channel = " capability" ,
127130 direction = " receive" ,
128- message = { mock_device_color_temp :generate_test_message (" main" , capabilities .statelessSwitchLevelStep .stepLevel (- 50 )) }
131+ message = {
132+ mock_device_color_temp .id ,
133+ { capability = " statelessSwitchLevelStep" , component = " main" , command = " stepLevel" , args = { - 50 } }
134+ }
129135 },
130136 {
131137 channel = " matter" ,
132138 direction = " send" ,
133- message = mock_device_color_temp :generate_test_message (" matter" , clusters .LevelControl .server .commands .StepLevel (mock_device_color_temp , 1 , clusters .LevelControl .types .StepModeEnum .DOWN , 2150 , 10 , 254 ))
139+ message = {
140+ mock_device_color_temp .id ,
141+ clusters .LevelControl .server .commands .Step (mock_device_color_temp , 1 , clusters .LevelControl .types .StepModeEnum .DOWN , 127 , fields .TRANSITION_TIME , fields .OPTIONS_MASK , fields .OPTIONS_OVERRIDE )
142+ },
134143 },
135144 {
136145 channel = " capability" ,
137146 direction = " receive" ,
138- message = { mock_device_color_temp :generate_test_message (" main" , capabilities .statelessSwitchLevelStep .stepLevel (100 )) }
147+ message = {
148+ mock_device_color_temp .id ,
149+ { capability = " statelessSwitchLevelStep" , component = " main" , command = " stepLevel" , args = { 100 } }
150+ }
139151 },
140152 {
141153 channel = " matter" ,
142154 direction = " send" ,
143- message = mock_device_color_temp :generate_test_message (" matter" , clusters .LevelControl .server .commands .StepLevel (mock_device_color_temp , 1 , clusters .LevelControl .types .StepModeEnum .UP , 4300 , 10 , 254 ))
155+ message = {
156+ mock_device_color_temp .id ,
157+ clusters .LevelControl .server .commands .Step (mock_device_color_temp , 1 , clusters .LevelControl .types .StepModeEnum .UP , 254 , fields .TRANSITION_TIME , fields .OPTIONS_MASK , fields .OPTIONS_OVERRIDE )
158+ },
144159 }
145160 }
146161)
0 commit comments