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
示例#2
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
示例#3
0
    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'
示例#4
0
    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