local lu = require('luaunit')
local c_controller = require('controller.controller_object')
TEST_Controller_Refactor = {}
function TEST_Controller_Refactor:setUp()
self.original_sml = require('sml')
self.original_ctrl_commu_loss_monitor = require('ctrl_commu_loss_monitor')
self.original_storageconfig = require('storageconfig.storageconfig_object')
self.mock_sml = {
update_ctrl_init_state = function()
return 2
end,
get_ctrl_info = function()
return { ctrl_name = 'test' }
end,
}
self.mock_ctrl_commu_loss_monitor = {
get_instance = function()
return {
update = function() end,
get_ctrl_commu_loss = function()
return 0
end,
}
end,
}
self.mock_storageconfig = {
get_instance = function()
return {
power_on = 1,
configuration_ready_mask = 0,
on_update_flag = {
emit = function() end,
},
}
end,
}
end
function TEST_Controller_Refactor:tearDown()
package.loaded['sml'] = self.original_sml
package.loaded['ctrl_commu_loss_monitor'] = self.original_ctrl_commu_loss_monitor
package.loaded['storageconfig.storageconfig_object'] = self.original_storageconfig
end
function TEST_Controller_Refactor:test_start_update_task_structure()
local ctrl = c_controller.new({
Id = 1,
DeviceName = 'test_device',
TypeId = 1,
OOBSupport = 1,
position = 'test_position',
})
ctrl.tasks_pause = false
ctrl.update_temp_abnormal = function() end
ctrl.update_ctrl_info_from_sml = function() end
ctrl.update_controller_info_via_bma = function() end
ctrl.update_sas_addr = function() end
ctrl.update_boot_devices = function() end
ctrl.update_fault_code = function() end
ctrl.update_asset_data_info = function() end
ctrl.update_controller_battery_info = function() end
package.loaded['sml'] = self.mock_sml
package.loaded['ctrl_commu_loss_monitor'] = self.mock_ctrl_commu_loss_monitor
package.loaded['storageconfig.storageconfig_object'] = self.mock_storageconfig
ctrl:start_update_task()
lu.assertNotNil(ctrl.tasks, 'Tasks should be created')
end
return lu.LuaUnit.run()