def test_rates_are_updated(set_up, custom_data, mocker): backend = OpenExchangeBackend() urlopen_mock = mocker.patch("djmoney_rates.backends.urlopen") instance = urlopen_mock.return_value instance.read.return_value = custom_data[0] backend.update_rates() first_update = RateSource.objects.get( name=backend.get_source_name()).last_update assert 8 == Rate.objects.filter( source__name=backend.get_source_name()).count() assert Decimal("3.672626") == Rate.objects.get(currency="AED").value # change return value for mocked urlopen read call instance.read.return_value = custom_data[1] # call update rates again backend.update_rates() last_update = RateSource.objects.get( name=backend.get_source_name()).last_update assert 8 == Rate.objects.filter( source__name=backend.get_source_name()).count() assert last_update > first_update assert Decimal("4.672626") == Rate.objects.get(currency="AED").value
def test_rates_are_updated(self, urlopen_mock): backend = OpenExchangeBackend() instance = urlopen_mock.return_value instance.read.return_value = self.test_data_1 backend.update_rates() first_update = RateSource.objects.get( name=backend.get_source_name()).last_update self.assertEqual( 8, Rate.objects.filter( source__name=backend.get_source_name()).count()) self.assertEqual(Decimal("3.672626"), Rate.objects.get(currency="AED").value) # change return value for mocked urlopen read call instance.read.return_value = self.test_data_2 # call update rates again backend.update_rates() last_update = RateSource.objects.get( name=backend.get_source_name()).last_update self.assertEqual( 8, Rate.objects.filter( source__name=backend.get_source_name()).count()) self.assertTrue(last_update > first_update) self.assertEqual(Decimal("4.672626"), Rate.objects.get(currency="AED").value)
def test_rates_are_saved(self, urlopen_mock): backend = OpenExchangeBackend() instance = urlopen_mock.return_value instance.read.return_value = self.test_data_1 backend.update_rates() self.assertEqual(8, Rate.objects.filter(source__name=backend.get_source_name()).count())
def test_rates_are_saved(set_up, custom_data, mocker): backend = OpenExchangeBackend() urlopen_mock = mocker.patch("djmoney_rates.backends.urlopen") instance = urlopen_mock.return_value instance.read.return_value = custom_data[0] backend.update_rates() assert 8 == Rate.objects.filter(source__name=backend.get_source_name()).count()
def test_rates_are_saved(self, urlopen_mock): backend = OpenExchangeBackend() instance = urlopen_mock.return_value instance.read.return_value = self.test_data_1 backend.update_rates() self.assertEqual( 8, Rate.objects.filter( source__name=backend.get_source_name()).count())
def test_missing_app_id(set_up): money_rates_settings.OPENEXCHANGE_APP_ID = "" with pytest.raises(ImproperlyConfigured) as exc: OpenExchangeBackend() assert "OPENEXCHANGE_APP_ID setting should not be empty when using OpenExchangeBackend" in str(exc.value)
def test_rates_are_updated(self, urlopen_mock): backend = OpenExchangeBackend() instance = urlopen_mock.return_value instance.read.return_value = self.test_data_1 backend.update_rates() first_update = RateSource.objects.get(name=backend.get_source_name()).last_update self.assertEqual(8, Rate.objects.filter(source__name=backend.get_source_name()).count()) self.assertEqual(Decimal("3.672626"), Rate.objects.get(currency="AED").value) # change return value for mocked urlopen read call instance.read.return_value = self.test_data_2 # call update rates again backend.update_rates() last_update = RateSource.objects.get(name=backend.get_source_name()).last_update self.assertEqual(8, Rate.objects.filter(source__name=backend.get_source_name()).count()) self.assertTrue(last_update > first_update) self.assertEqual(Decimal("4.672626"), Rate.objects.get(currency="AED").value)
def test_url_is_correct(set_up): backend = OpenExchangeBackend() assert backend.url == "http://openexchangerates.org/api/latest.json?app_id=fake-app-id&base=USD"
def test_url_is_correct(self): backend = OpenExchangeBackend() self.assertEqual( backend.url, "http://openexchangerates.org/api/latest.json?app_id=fake-app-id&base=USD" )