def test_cn_rpi3_basic(self, call): # pylint:disable=no-self-use """Test basic empty features of RPI3 control node.""" call.return_value = 0 # Setup doesn't nothing but is required. It always returns 0 assert ControlNodeRpi3.setup() == 0 cn_rpi3 = ControlNodeRpi3('test', None) # Flash and status does nothing assert cn_rpi3.flash() == 0 assert cn_rpi3.status() == 0 assert cn_rpi3.autotest_setup(None) == 0 assert cn_rpi3.autotest_teardown(None) == 0
def test_cn_rpi3_timeout(self, call): # pylint:disable=no-self-use """Test open node start/stop with timeout.""" call.side_effect = subprocess_timeout.TimeoutExpired( mock.Mock("test"), 'timeout') cn_rpi3 = ControlNodeRpi3('test', None) ret = cn_rpi3.start('test') assert cn_rpi3.open_node_state == 'stop' assert ret == 1 ret = cn_rpi3.stop() assert cn_rpi3.open_node_state == 'stop' assert ret == 1
def test_cn_rpi3_open_start_stop(self, call): # pylint:disable=no-self-use """Test open node start calls the right command.""" call.return_value = 0 cn_rpi3 = ControlNodeRpi3('test', None) cn_rpi3.start('test') assert call.call_count == 1 call.assert_called_with(args=['sudo', 'ykushcmd', 'ykushxs', '-u']) assert cn_rpi3.open_node_state == 'start' call.call_count = 0 cn_rpi3.stop() assert call.call_count == 1 call.assert_called_with(args=['sudo', 'ykushcmd', 'ykushxs', '-d']) assert cn_rpi3.open_node_state == 'stop'
def test_cn_rpi3_configure_profile(self, cam_start, cam_stop, call): # pylint:disable=too-many-arguments,no-self-use """Test open node profile confguration with start/stop experiment.""" call.return_value = 0 cam_start.return_value = 0 cam_stop.return_value = 0 cn_rpi3 = ControlNodeRpi3('test', None) ret = cn_rpi3.start_experiment("test") assert ret == 0 assert cn_rpi3.profile == "test" assert call.call_count == 0 ret = cn_rpi3.stop_experiment() assert ret == 0 assert cn_rpi3.profile is None assert call.call_count == 1 # ykush is called once to start the on. call.call_count = 0 call.mock_calls = [] call.call_count = 0 with mock.patch('gateway_code.control_nodes.cn_rpi3.CAMERA_CONFIG', self.camera_conf): ret = cn_rpi3.start_experiment("test") assert ret == 0 assert cn_rpi3.profile == "test" cam_start.assert_called_once() assert call.call_count == 0 ret = cn_rpi3.stop_experiment() assert ret == 0 assert cn_rpi3.profile is None cam_stop.assert_called_once() assert call.call_count == 1