def test_stops_on_disconnect(self):
        self.mock_databus.getMeta = Mock(return_value={"foo": "bar"})

        session_recorder = SessionRecorder(
            self.mock_datastore, self.mock_databus, self.mock_rcp_api,
            self.mock_settings, self.mock_track_manager, self.mock_status_pump)

        session_recorder.on_view_change('dash')
        # Get subscription to connect event and call it
        connect_listener = self.mock_rcp_api.add_connect_listener.call_args[0][
            0]
        connect_listener()

        self.assertTrue(session_recorder.recording,
                        "Session recorder is recording")

        disconnect_listener = self.mock_rcp_api.add_disconnect_listener.call_args[
            0][0]
        disconnect_listener()
        self.assertFalse(session_recorder.recording,
                         "Session recorder stops recording on disconnect")
Exemplo n.º 2
0
    def test_cancels_stop_timer_on_view_change(self):
        self.mock_databus.getMeta = Mock(return_value={"foo": "bar"})

        with patch('autosportlabs.racecapture.data.sessionrecorder.Clock.create_trigger') as mock_create_trigger:
            mock_create_trigger.return_value = self.mock_trigger
            session_recorder = SessionRecorder(self.mock_datastore, self.mock_databus, self.mock_rcp_api,
                                               self.mock_settings, self.mock_track_manager, self.mock_status_pump)

            session_recorder.on_view_change('dash')
            mock_create_trigger.assert_called_with(session_recorder._actual_stop, 120)
            self.mock_trigger.is_triggered = True

            # Get subscription to connect event and call it
            connect_listener = self.mock_rcp_api.add_connect_listener.call_args[0][0]
            connect_listener()

            self.assertTrue(session_recorder.recording, "Session recorder is recording")

            session_recorder.on_view_change('analysis')

            session_recorder.on_view_change('dash')
            self.mock_trigger.cancel.assert_called_with()
    def test_stops_on_view_change(self):
        self.mock_databus.getMeta = Mock(return_value={"foo": "bar"})

        session_recorder = SessionRecorder(self.mock_datastore,
                                           self.mock_databus,
                                           self.mock_rcp_api,
                                           self.mock_track_manager,
                                           current_view='dash')

        # Get subscription to connect event and call it
        connect_listener = self.mock_rcp_api.add_connect_listener.call_args[0][
            0]
        connect_listener()

        self.assertTrue(session_recorder.recording,
                        "Session recorder is recording")

        session_recorder.on_view_change('analysis')
        self.assertFalse(
            session_recorder.recording,
            "Session recorder stops recording when view changes to\
         non-recording view")