def test_get_success_with_https_proxy(self, requests_mock, get_now_mock): get_now_mock.return_value = datetime(2021, 12, 31) request_obj = Mock() request_obj.registry.settings = { "proxy_address": "https://hide-my-ip.com" } get_currency_rates(request_obj) requests_mock.get.assert_called_once_with( 'https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?date=20211231&json', proxies={'https': 'https://hide-my-ip.com'})
def test_fail_connection(self, requests_get_mock, get_now_mock, raise_operation_error_mock): class MyExc(Exception): pass raise_operation_error_mock.return_value = MyExc() get_now_mock.return_value = datetime(2021, 12, 31) request_obj = Mock() request_obj.registry.settings = {} requests_get_mock.return_value.json.side_effect = ValueError("Invalid json") with self.assertRaises(MyExc): get_currency_rates(request_obj) requests_get_mock.assert_called_once_with( "https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?date=20211231&json" ) raise_operation_error_mock.assert_called_once_with( request_obj, "Failure of decoding data from bank.gov.ua", status=409 )
def test_get_success(self, requests_mock, get_now_mock): get_now_mock.return_value = datetime(2007, 1, 2) request_obj = Mock() request_obj.registry.settings = {} result = get_currency_rates(request_obj) requests_mock.get.assert_called_once_with( 'https://bank.gov.ua/NBUStatService/v1/statdirectory/exchange?date=20070102&json' ) result_mock = requests_mock.get.return_value result_mock.json.assert_called_once_with() assert result is result_mock.json.return_value