def test_post_raises_on_404(self):
     # When posting, a 404 is converted to a BugTrackerConnectError.
     base_url = "http://example.com/"
     bugtracker = ExternalBugTracker(base_url)
     def raise404(request, data, timeout=None):
         raise urllib2.HTTPError('url', 404, 'Not Found', None, None)
     with monkey_patch(urllib2, urlopen=raise404):
         self.assertRaises(
             BugTrackerConnectError,
             bugtracker._post, 'some-url', {'post-data': 'here'})
 def test_disconnect_with_error(self):
     session = self.session_factory()
     session.connect()
     old_close = session._connection.close
     def new_close(*args, **kwargs):
         old_close(*args, **kwargs)
         raise socket.error
     with monkey_patch(session._connection, close=new_close):
         session.disconnect()
         self.assertFalse(session.is_connected)
Beispiel #3
0
    def test_csv_data_on_post_404(self):
        # If the 'view_all_set.php' request raises a 404, then the csv_data
        # attribute is None.
        base_url = "http://example.com/"

        fail_404 = urllib2.HTTPError('url', 404, 'Not Found', None, None)

        with monkey_patch(Mantis, urlopen=FakeMethod(failure=fail_404)):
            bugtracker = Mantis(base_url)
            self.assertThat(bugtracker.csv_data, Is(None))
    def test_csv_data_on_post_404(self):
        # If the 'view_all_set.php' request raises a 404, then the csv_data
        # attribute is None.
        base_url = "http://example.com/"

        fail_404 = urllib2.HTTPError('url', 404, 'Not Found', None, None)

        with monkey_patch(Mantis, urlopen=FakeMethod(failure=fail_404)):
            bugtracker = Mantis(base_url)
            self.assertThat(bugtracker.csv_data, Is(None))
Beispiel #5
0
    def test_post_raises_on_404(self):
        # When posting, a 404 is converted to a BugTrackerConnectError.
        base_url = "http://example.com/"
        bugtracker = ExternalBugTracker(base_url)

        def raise404(request, data, timeout=None):
            raise urllib2.HTTPError('url', 404, 'Not Found', None, None)

        with monkey_patch(urllib2, urlopen=raise404):
            self.assertRaises(BugTrackerConnectError, bugtracker._post,
                              'some-url', {'post-data': 'here'})
 def test_post_sends_host(self):
     # When posting, a Host header is sent.
     base_host = 'example.com'
     base_url = 'http://%s/' % base_host
     bugtracker = ExternalBugTracker(base_url)
     def assert_headers(request, data, timeout=None):
         self.assertContentEqual(
             [('User-agent', LP_USER_AGENT), ('Host', base_host)],
             request.header_items())
     with monkey_patch(urllib2, urlopen=assert_headers):
         bugtracker._post('some-url', {'post-data': 'here'})
    def test_disconnect_with_error(self):
        session = self.session_factory()
        session.connect()
        old_close = session._connection.close

        def new_close(*args, **kwargs):
            old_close(*args, **kwargs)
            raise socket.error

        with monkey_patch(session._connection, close=new_close):
            session.disconnect()
            self.assertFalse(session.is_connected)
Beispiel #8
0
    def test_post_sends_host(self):
        # When posting, a Host header is sent.
        base_host = 'example.com'
        base_url = 'http://%s/' % base_host
        bugtracker = ExternalBugTracker(base_url)

        def assert_headers(request, data, timeout=None):
            self.assertContentEqual([('User-agent', LP_USER_AGENT),
                                     ('Host', base_host)],
                                    request.header_items())

        with monkey_patch(urllib2, urlopen=assert_headers):
            bugtracker._post('some-url', {'post-data': 'here'})
Beispiel #9
0
    def test_shortcircuit(self):
        # Oneloop will exit early if the runner is stopping.
        class State:
            def __init__(self):
                self.checked = None

        shortcircut = State()

        def fake_called():
            shortcircut.checked = False

        def fake_stop():
            shortcircut.checked = True
            self.runner.stop()

        with monkey_patch(self.runner,
                          _check_list_actions=fake_stop,
                          _get_subscriptions=fake_called):
            self.runner._oneloop()
            self.assertTrue(self.runner._shortcircuit())
            self.assertTrue(shortcircut.checked)
    def test_shortcircuit(self):
        # Oneloop will exit early if the runner is stopping.
        class State:

            def __init__(self):
                self.checked = None

        shortcircut = State()

        def fake_called():
            shortcircut.checked = False

        def fake_stop():
            shortcircut.checked = True
            self.runner.stop()

        with monkey_patch(self.runner,
                _check_list_actions=fake_stop, _get_subscriptions=fake_called):
            self.runner._oneloop()
            self.assertTrue(self.runner._shortcircuit())
            self.assertTrue(shortcircut.checked)
Beispiel #11
0
    def test_getDiffTimeout(self):
        # The time permitted to get the diff from the librarian may be None,
        # or 2. If there is not 2 seconds left in the request, the number will
        # will 0.01 smaller or the actual remaining time.
        content = ''.join(unified_diff('', "1234567890" * 10))
        diff = self._create_diff(content)
        value = None

        def fake():
            return value

        from lp.code.model import diff as diff_module
        with monkey_patch(diff_module, get_request_remaining_seconds=fake):
            self.assertIs(
                LIBRARIAN_SERVER_DEFAULT_TIMEOUT, diff._getDiffTimeout())
            value = 3.1
            self.assertEqual(2.0, diff._getDiffTimeout())
            value = 1.11
            self.assertEqual(1.1, diff._getDiffTimeout())
            value = 0.11
            self.assertEqual(0.1, diff._getDiffTimeout())
            value = 0.01
            self.assertEqual(0.01, diff._getDiffTimeout())