Ejemplo n.º 1
0
    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'})
Ejemplo n.º 2
0
    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
        )
Ejemplo n.º 3
0
    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