コード例 #1
0
 def setUp(self):
     super(DeliveryTest, self).setUp()
     self.config = Configuration()
     self.config.configure(api_key='abc',
                           endpoint=self.server.address,
                           use_ssl=False,
                           asynchronous=False)
コード例 #2
0
class DeliveryTest(IntegrationTest):
    def setUp(self):
        super(DeliveryTest, self).setUp()
        self.config = Configuration()
        self.config.configure(api_key='abc',
                              endpoint=self.server.address,
                              use_ssl=False,
                              asynchronous=False)

    def test_urllib_delivery_full_url(self):
        self.config.configure(endpoint=self.server.url, use_ssl=None)
        UrllibDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})

    def test_urllib_delivery(self):
        UrllibDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_create_default_delivery(self):
        delivery = create_default_delivery()

        if 'requests' in sys.modules:
            self.assertTrue(isinstance(delivery, RequestsDelivery))
        else:
            self.assertTrue(isinstance(delivery, UrllibDelivery))
コード例 #3
0
    def test_failed_delivery(self):
        c = Configuration()
        self.called = False

        class FooDelivery:
            def deliver(foo, config, payload):
                self.called = True
                raise ScaryException('something gone wrong')

        c.configure(delivery=FooDelivery(), api_key='abc')
        client = Client(c)
        client.notify(Exception('Oh no'))
        self.assertTrue(self.called)
        del self.called
コード例 #4
0
    def test_delivery(self):
        c = Configuration()
        self.called = False

        class FooDelivery:
            def deliver(foo, config, payload):
                self.called = True

        c.configure(delivery=FooDelivery(), api_key='abc')
        client = Client(c)
        client.notify(Exception('Oh no'))
        self.assertTrue(self.called)
        self.assertSentReportCount(0)
        del self.called
コード例 #5
0
ファイル: test_client.py プロジェクト: bugsnag/bugsnag-python
    def test_failed_delivery(self):
        c = Configuration()
        self.called = False

        class FooDelivery:

            def deliver(foo, config, payload):
                self.called = True
                raise ScaryException('something gone wrong')

        c.configure(delivery=FooDelivery(), api_key='abc')
        client = Client(c)
        client.notify(Exception('Oh no'))
        self.assertTrue(self.called)
        del self.called
コード例 #6
0
ファイル: test_client.py プロジェクト: bugsnag/bugsnag-python
    def test_delivery(self):
        c = Configuration()
        self.called = False

        class FooDelivery:

            def deliver(foo, config, payload):
                self.called = True

        c.configure(delivery=FooDelivery(), api_key='abc')
        client = Client(c)
        client.notify(Exception('Oh no'))
        self.assertTrue(self.called)
        self.assertSentReportCount(0)
        del self.called
コード例 #7
0
 def setUp(self):
     super(DeliveryTest, self).setUp()
     self.config = Configuration()
     self.config.configure(api_key='abc',
                           endpoint=self.server.address,
                           use_ssl=False,
                           asynchronous=False)
コード例 #8
0
class DeliveryTest(IntegrationTest):
    def setUp(self):
        super(DeliveryTest, self).setUp()
        self.config = Configuration()
        self.config.configure(api_key='abc',
                              endpoint=self.server.url,
                              asynchronous=False)

    def test_urllib_delivery(self):
        UrllibDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_create_default_delivery(self):
        delivery = create_default_delivery()

        if 'requests' in sys.modules:
            self.assertTrue(isinstance(delivery, RequestsDelivery))
        else:
            self.assertTrue(isinstance(delivery, UrllibDelivery))

    def test_misconfigured_sessions_endpoint_sends_warning(self):
        delivery = create_default_delivery()

        with warnings.catch_warnings(record=True) as warn:
            warnings.simplefilter("always")
            delivery.deliver_sessions(self.config, '{"apiKey":"aaab"}')
            self.assertEqual(1, len(warn))
            self.assertEqual(0, len(self.server.received))
            self.assertTrue('No sessions will be sent' in str(warn[0].message))
            delivery.deliver_sessions(self.config, '{"apiKey":"aaab"}')
            self.assertEqual(1, len(warn))
            self.assertEqual(0, len(self.server.received))

        self.config.configure(session_endpoint=self.server.url)

        with warnings.catch_warnings(record=True) as warn:
            warnings.simplefilter("always")
            delivery.deliver_sessions(self.config, '{"apiKey":"aaab"}')
            self.assertEqual(0, len(warn))
            self.assertEqual(1, len(self.server.received))
コード例 #9
0
def test_create_notification_warns():
    config = Configuration()
    req_config = RequestConfiguration.get_instance()
    with pytest.warns(DeprecationWarning) as record:
        _ = Notification(Exception('shucks'), config, req_config)
        assert len(record) == 1
        message = str(record[0].message)
        assert message == ('The Notification class has been deprecated in ' +
                           'favor of bugsnag.event.Event and will be ' +
                           'removed in a future release.')
コード例 #10
0
class RequestsDeliveryTest(IntegrationTest):
    def setUp(self):
        super(RequestsDeliveryTest, self).setUp()

        self.config = Configuration()
        self.config.configure(api_key='abc', asynchronous=False)

    def test_requests_delivery(self):
        self.config.configure(endpoint=self.server.url)
        RequestsDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)

        request = self.server.received[0]

        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_requests_delivery_full_url(self):
        self.config.configure(endpoint=self.server.url)

        RequestsDelivery().deliver(self.config, '{"good": 5}')

        self.assertSentReportCount(1)

        request = self.server.received[0]

        self.assertEqual(request['json_body'], {'good': 5})

    def test_create_default_delivery(self):
        delivery = create_default_delivery()

        self.assertTrue(isinstance(delivery, RequestsDelivery))
コード例 #11
0
    def setUp(self):
        super(RequestsDeliveryTest, self).setUp()

        self.config = Configuration()
        self.config.configure(api_key='abc', asynchronous=False)
コード例 #12
0
 def test_invalid_delivery(self):
     c = Configuration()
     c.configure(delivery=44, api_key='abc')
     client = Client(c)
     client.notify(Exception('Oh no'))
コード例 #13
0
    def test_init_configuration(self):
        configuration = Configuration()
        client = Client(configuration=configuration, install_sys_hook=False)

        self.assertEqual(client.configuration, configuration)
コード例 #14
0
ファイル: test_client.py プロジェクト: bugsnag/bugsnag-python
 def test_invalid_delivery(self):
     c = Configuration()
     c.configure(delivery=44, api_key='abc')
     client = Client(c)
     client.notify(Exception('Oh no'))
コード例 #15
0
class DeliveryTest(IntegrationTest):
    def setUp(self):
        super(DeliveryTest, self).setUp()
        self.config = Configuration()
        self.config.configure(api_key='abc',
                              endpoint=self.server.address,
                              use_ssl=False,
                              asynchronous=False)

    def test_urllib_delivery_full_url(self):
        self.config.configure(endpoint=self.server.url, use_ssl=None)
        UrllibDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})

    def test_urllib_delivery(self):
        UrllibDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_requests_delivery(self):
        if sys.version_info < (2, 7):
            raise SkipTest("Requests is incompatible with 2.6")

        try:
            import requests  # noqa
        except ImportError:
            raise SkipTest("Requests is not installed")

        RequestsDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_requests_delivery_full_url(self):
        if sys.version_info < (2, 7):
            raise SkipTest("Requests is incompatible with 2.6")

        try:
            import requests  # noqa
        except ImportError:
            raise SkipTest("Requests is not installed")

        self.config.configure(endpoint=self.server.url)
        del self.config.use_ssl
        RequestsDelivery().deliver(self.config, '{"legit": 4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {'legit': 4})

    def test_create_default_delivery(self):
        delivery = create_default_delivery()

        if 'requests' in sys.modules:
            self.assertTrue(isinstance(delivery, RequestsDelivery))
        else:
            self.assertTrue(isinstance(delivery, UrllibDelivery))
コード例 #16
0
class DeliveryTest(IntegrationTest):

    def setUp(self):
        super(DeliveryTest, self).setUp()
        self.config = Configuration()
        self.config.configure(api_key='abc',
                              endpoint=self.server.address,
                              use_ssl=False,
                              asynchronous=False)

    def test_urllib_delivery_full_url(self):
        self.config.configure(endpoint=self.server.url, use_ssl=None)
        UrllibDelivery().deliver(self.config, '{"legit":4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})

    def test_urllib_delivery(self):
        UrllibDelivery().deliver(self.config, '{"legit":4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_requests_delivery(self):
        if sys.version_info < (2, 7):
            raise SkipTest("Requests is incompatible with 2.6")

        try:
            import requests  # noqa
        except:
            raise SkipTest("Requests is not installed")

        RequestsDelivery().deliver(self.config, '{"legit":4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})
        self.assertEqual(request['headers']['Content-Type'],
                         'application/json')

    def test_requests_delivery_full_url(self):
        if sys.version_info < (2, 7):
            raise SkipTest("Requests is incompatible with 2.6")

        try:
            import requests  # noqa
        except:
            raise SkipTest("Requests is not installed")

        self.config.configure(endpoint=self.server.url)
        del self.config.use_ssl
        RequestsDelivery().deliver(self.config, '{"legit":4}')

        self.assertSentReportCount(1)
        request = self.server.received[0]
        self.assertEqual(request['json_body'], {"legit": 4})

    def test_create_default_delivery(self):
        delivery = create_default_delivery()

        if 'requests' in sys.modules:
            self.assertTrue(isinstance(delivery, RequestsDelivery))
        else:
            self.assertTrue(isinstance(delivery, UrllibDelivery))