Exemplo n.º 1
0
    def test_poll_loop_not_connected(self):
        """
        Test PJLink.poll_loop not connected return
        """
        # GIVEN: Test object and mocks
        pjlink = PJLink(Projector(**TEST1_DATA), no_poll=True)
        pjlink.state = MagicMock()
        pjlink.timer = MagicMock()
        pjlink.state.return_value = False
        pjlink.ConnectedState = True

        # WHEN: PJLink.poll_loop called
        pjlink.poll_loop()

        # THEN: poll_loop should exit without calling any other method
        assert pjlink.timer.called is False, 'Should have returned without calling any other method'
Exemplo n.º 2
0
    def test_poll_loop_set_interval(self):
        """
        Test PJLink.poll_loop makes correct calls
        """
        # GIVEN: Mocks and test data
        with patch('openlp.core.projectors.pjlink.PJLink.send_command') as mock_send_command:

            pjlink = PJLink(Projector(**TEST1_DATA), no_poll=True)
            pjlink.state = MagicMock()
            pjlink.state.return_value = QSOCKET_STATE[S_CONNECTED]
            pjlink.poll_timer = MagicMock()
            pjlink.poll_timer.interval.return_value = 10

            pjlink.poll_time = 20
            pjlink.power = S_ON
            pjlink.source_available = None
            pjlink.other_info = None
            pjlink.manufacturer = None
            pjlink.model = None
            pjlink.pjlink_name = None
            call_list = [
                call('POWR'),
                call('ERST'),
                call('LAMP'),
                call('AVMT'),
                call('INPT'),
                call('INST'),
                call('INFO'),
                call('INF1'),
                call('INF2'),
                call('NAME'),
            ]

            # WHEN: PJLink.poll_loop is called
            pjlink.poll_loop()

            # THEN: proper calls were made to retrieve projector data
            # First, call to update the timer with the next interval
            assert pjlink.poll_timer.setInterval.called is True, 'Timer update interval should have been called'
            # Finally, should have called send_command with a list of projetctor status checks
            mock_send_command.assert_has_calls(call_list, 'Should have queued projector queries')