def test_persistence_delete_fail(self, mocker):
     mocker.delete(SERVICE_URL_ITEM, exc=requests.exceptions.ConnectTimeout)
     service = NotificationService()
     with self.assertLogs(logger, level="ERROR"):
         with self.assertRaises(requests.exceptions.ConnectTimeout):
             result = service.delete(UUID_ZERO)
             self.assertEqual(result, {})
    def test_persistence_get(self, mocker):
        mocker.get(SERVICE_URL_PROVIDER, text=all_notifications)

        service = NotificationService()
        result = service.get()
        self.assertIsInstance(result, Dict)
        self.assertEqual(
            result, {
                '45e37e4b-4b2c-42a6-9e3c-21c973f40e0d':
                Notification(add_up_text='CALLHISTORY_NOTIFICATION_TEXT',
                             provider='telephony',
                             mode='push_soft',
                             valid_by=datetime.datetime(
                                 9999, 12, 31, 23, 59, 59, 999999),
                             provider_enabler_setting=None,
                             read=False,
                             id='45e37e4b-4b2c-42a6-9e3c-21c973f40e0d'),
                'ca1d8fbc-9ce9-4146-9234-fc6a57422319':
                Notification(add_up_text='CALLHISTORY_NOTIFICATION_TEXT',
                             provider='telephony',
                             mode='push_soft',
                             valid_by=datetime.datetime(
                                 9999, 12, 31, 23, 59, 59, 999999),
                             provider_enabler_setting=None,
                             read=True,
                             id='ca1d8fbc-9ce9-4146-9234-fc6a57422319')
            })
    def test_persistence_add_fail(self, mocker):
        mocker.post(SERVICE_URL, exc=requests.exceptions.ConnectTimeout)
        with self.assertLogs(logger, level="ERROR"):
            with self.assertRaises(requests.exceptions.ConnectTimeout):
                NotificationService().add(Notification(add_up_text='HELLO'))

        mocker.post(SERVICE_URL, text=notification[10:])
        with self.assertLogs(logger, level="ERROR"):
            with self.assertRaises(MalformedResponseException):
                NotificationService().add(Notification(add_up_text='HELLO'))
    def test_persistence_get_response_timeout(self, mocker):
        mocker.get(SERVICE_URL_PROVIDER,
                   exc=requests.exceptions.ConnectTimeout)

        with self.assertLogs(logger, level="ERROR"):
            with self.assertRaises(requests.exceptions.RequestException):
                NotificationService().get()
    def test_persistence_get_not_authorized(self, mocker):
        mocker.get(SERVICE_URL_PROVIDER,
                   text='Not Authorized',
                   status_code=401)

        with self.assertLogs(logger, level="ERROR"):
            with self.assertRaises(requests.exceptions.RequestException):
                NotificationService().get()
 def test_persistence_delete_all(self, mocker):
     mocker.delete(SERVICE_URL_PROVIDER, text="[]")
     result = NotificationService().delete()
     self.assertIsInstance(result, requests.Response)
     self.assertEqual(result.status_code, 200)
 def test_persistence_get_invalid_data(self, mocker):
     mocker.get(SERVICE_URL_PROVIDER, text=all_notifications[:50])
     with self.assertLogs(logger, level="ERROR"):
         with self.assertRaises(MalformedResponseException):
             result = NotificationService().get()