def test_request_exception(self, requests_mock):
        requests_mock.get.side_effect = Exception("Shit happens")

        bridge = RiskIndicatorBridge(self.config)
        bridge.request_retries = 2

        try:
            bridge.request("http://localhost")
        except bridge.TerminateExecutionException as e:
            print(str(e))
        else:
            raise AssertionError("TerminateExecutionException expected")

        self.assertEqual(len(requests_mock.get.call_args_list), 2)
        requests_mock.get.assert_called_with('http://localhost',
                                             timeout=bridge.request_timeout)
    def test_request_json_exception(self, requests_mock):
        requests_mock.get.return_value = requests.Response()
        requests_mock.get.return_value.status_code = 200

        bridge = RiskIndicatorBridge(self.config)
        bridge.request_retries = 2

        try:
            bridge.request("http://localhost")
        except bridge.TerminateExecutionException as e:
            print(str(e))
        else:
            raise AssertionError("TerminateExecutionException expected")

        self.assertEqual(len(requests_mock.get.call_args_list), 2)
        requests_mock.get.assert_called_with('http://localhost',
                                             timeout=bridge.request_timeout)