Skip to content
19 changes: 7 additions & 12 deletions drivers/SmartThings/matter-appliance/src/test/test_cook_top.lua
Original file line number Diff line number Diff line change
Expand Up @@ -70,34 +70,29 @@ local mock_device = test.mock_device.build_test_matter_device({
})

local function test_init()
test.disable_startup_messages()
test.mock_device.add_test_device(mock_device)
local cluster_subscribe_list = {
clusters.OnOff.attributes.OnOff,
clusters.TemperatureMeasurement.attributes.MeasuredValue,
clusters.TemperatureControl.attributes.SelectedTemperatureLevel,
clusters.TemperatureControl.attributes.SupportedTemperatureLevels
}
test.socket.matter:__set_channel_ordering("relaxed")
local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device)
for i, cluster in ipairs(cluster_subscribe_list) do
if i > 1 then
subscribe_request:merge(cluster:subscribe(mock_device))
end
end
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
test.mock_device.add_test_device(mock_device)
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" })
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" })
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure"})
mock_device:expect_metadata_update({ profile = "cook-surface-one-tl-cook-surface-two-tl" })
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
end
test.set_test_init_function(test_init)

test.register_coroutine_test(
"Verify device profile update",
function()
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure"})
mock_device:expect_metadata_update({ profile = "cook-surface-one-tl-cook-surface-two-tl" })
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
end
)

test.register_coroutine_test(
"Assert component to endpoint map",
function()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ local mock_device = test.mock_device.build_test_matter_device({
})

local function test_init()
test.disable_startup_messages()
test.mock_device.add_test_device(mock_device)
local cluster_subscribe_list = {
clusters.OnOff.attributes.OnOff,
clusters.DishwasherMode.attributes.CurrentMode,
Expand All @@ -71,20 +73,20 @@ local function test_init()
clusters.TemperatureControl.attributes.SelectedTemperatureLevel,
clusters.TemperatureControl.attributes.SupportedTemperatureLevels
}
test.socket.matter:__set_channel_ordering("relaxed")
local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device)
for i, cluster in ipairs(cluster_subscribe_list) do
if i > 1 then
subscribe_request:merge(cluster:subscribe(mock_device))
end
end
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
test.mock_device.add_test_device(mock_device)
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" })
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure"})
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" })
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
local read_req = clusters.TemperatureControl.attributes.MinTemperature:read()
read_req:merge(clusters.TemperatureControl.attributes.MaxTemperature:read())
test.socket.matter:__expect_send({mock_device.id, read_req})
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure"})
mock_device:expect_metadata_update({ profile = "dishwasher-tn-tl" })
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
local test = require "integration_test"
local capabilities = require "st.capabilities"
local t_utils = require "integration_test.utils"

local clusters = require "st.matter.clusters"

local mock_device = test.mock_device.build_test_matter_device({
Expand Down Expand Up @@ -86,6 +85,8 @@ local mock_device_onoff = test.mock_device.build_test_matter_device({
})

local function test_init()
test.disable_startup_messages()
test.mock_device.add_test_device(mock_device)
local subscribed_attributes = {
[capabilities.fanMode.ID] = {
clusters.FanControl.attributes.FanModeSequence,
Expand Down Expand Up @@ -117,16 +118,16 @@ local function test_init()
end
end
end

test.socket.matter:__expect_send({mock_device.id, subscribe_request})
test.mock_device.add_test_device(mock_device)
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" })
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" })
test.socket.matter:__expect_send({mock_device.id, subscribe_request})
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure"})
mock_device:expect_metadata_update({ profile = "extractor-hood-hepa-ac-wind" })
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
end

local function test_init_onoff()
test.disable_startup_messages()
local cluster_subscribe_list = {
clusters.FanControl.attributes.FanModeSequence,
clusters.FanControl.attributes.FanMode,
Expand All @@ -135,15 +136,16 @@ local function test_init_onoff()
clusters.FanControl.attributes.WindSetting,
clusters.OnOff.attributes.OnOff
}
local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device)
local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device_onoff)
for i, cluster in ipairs(cluster_subscribe_list) do
if i > 1 then
subscribe_request:merge(cluster:subscribe(mock_device))
subscribe_request:merge(cluster:subscribe(mock_device_onoff))
end
end
test.socket.matter:__expect_send({mock_device_onoff.id, subscribe_request})
test.mock_device.add_test_device(mock_device_onoff)
test.socket.device_lifecycle:__queue_receive({ mock_device_onoff.id, "added" })
test.socket.device_lifecycle:__queue_receive({ mock_device_onoff.id, "init" })
test.socket.matter:__expect_send({mock_device_onoff.id, subscribe_request})
test.socket.device_lifecycle:__queue_receive({ mock_device_onoff.id, "doConfigure"})
mock_device_onoff:expect_metadata_update({ profile = "extractor-hood-wind-light" })
mock_device_onoff:expect_metadata_update({ provisioning_state = "PROVISIONED" })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ local mock_device = test.mock_device.build_test_matter_device({
})

local function test_init()
test.disable_startup_messages()
test.mock_device.add_test_device(mock_device)
local cluster_subscribe_list = {
clusters.OnOff.attributes.OnOff,
clusters.LaundryWasherMode.attributes.CurrentMode,
Expand All @@ -76,8 +78,9 @@ local function test_init()
end
end
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
test.mock_device.add_test_device(mock_device)
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" })
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" })
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure"})
local read_req = clusters.TemperatureControl.attributes.MinTemperature:read()
read_req:merge(clusters.TemperatureControl.attributes.MaxTemperature:read())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ local mock_device_washer = test.mock_device.build_test_matter_device({
})

local function test_init()
test.disable_startup_messages()
test.mock_device.add_test_device(mock_device_washer)
local cluster_subscribe_list = {
clusters.OnOff.attributes.OnOff,
clusters.LaundryWasherMode.attributes.CurrentMode,
Expand All @@ -69,16 +71,16 @@ local function test_init()
clusters.TemperatureControl.attributes.SelectedTemperatureLevel,
clusters.TemperatureControl.attributes.SupportedTemperatureLevels
}
test.socket.matter:__set_channel_ordering("relaxed")
local subscribe_request_washer = cluster_subscribe_list[1]:subscribe(mock_device_washer)
for i, cluster in ipairs(cluster_subscribe_list) do
if i > 1 then
subscribe_request_washer:merge(cluster:subscribe(mock_device_washer))
end
end
test.socket.matter:__expect_send({ mock_device_washer.id, subscribe_request_washer })
test.mock_device.add_test_device(mock_device_washer)
test.socket.device_lifecycle:__queue_receive({ mock_device_washer.id, "added" })
test.socket.device_lifecycle:__queue_receive({ mock_device_washer.id, "init" })
test.socket.matter:__expect_send({ mock_device_washer.id, subscribe_request_washer })
test.socket.device_lifecycle:__queue_receive({ mock_device_washer.id, "doConfigure"})
local read_req = clusters.TemperatureControl.attributes.MinTemperature:read()
read_req:merge(clusters.TemperatureControl.attributes.MaxTemperature:read())
Expand Down
Loading
Loading