Changeset View
Changeset View
Standalone View
Standalone View
looper/tests/test_preferred_currency.py
| Context not available. | |||||
| class PreferredCurrencyTestCase(AbstractBaseTestCase): | class PreferredCurrencyTestCase(AbstractBaseTestCase): | ||||
| url = reverse_lazy('looper:preferred_currency') | url = reverse_lazy('looper:preferred_currency') | ||||
| def test_get_no_address(self): | |||||
| resp = self.client.get(self.url, REMOTE_ADDR="") | |||||
| self.assertEqual({'preferred_currency': 'USD'}, resp.json()) | |||||
| def test_get_euro_country_ipv6(self): | def test_get_euro_country_ipv6(self): | ||||
| resp = self.client.get(self.url, REMOTE_ADDR=EURO_IPV6) | resp = self.client.get(self.url, REMOTE_ADDR=EURO_IPV6) | ||||
| self.assertEqual({'preferred_currency': 'EUR'}, resp.json()) | self.assertEqual({'preferred_currency': 'EUR'}, resp.json()) | ||||
| Context not available. | |||||
| resp = self.client.get(self.url, REMOTE_ADDR=SINGAPORE_IPV6) | resp = self.client.get(self.url, REMOTE_ADDR=SINGAPORE_IPV6) | ||||
| self.assertEqual({'preferred_currency': 'USD'}, resp.json()) | self.assertEqual({'preferred_currency': 'USD'}, resp.json()) | ||||
| def test_with_port_number_ipv6(self): | |||||
| resp = self.client.get(self.url, REMOTE_ADDR='[%s]:55312' % EURO_IPV6) | |||||
| self.assertEqual({'preferred_currency': 'EUR'}, resp.json()) | |||||
| def test_with_port_number_ipv4(self): | |||||
| resp = self.client.get(self.url, REMOTE_ADDR='%s:55312' % EURO_IPV4) | |||||
| self.assertEqual({'preferred_currency': 'EUR'}, resp.json()) | |||||
| def test_with_port_number_ipv4_proxy(self): | |||||
| resp = self.client.get( | |||||
| self.url, REMOTE_ADDR='::1', HTTP_X_FORWARDED_FOR='[%s]:55312' % EURO_IPV6 | |||||
| ) | |||||
| self.assertEqual({'preferred_currency': 'EUR'}, resp.json()) | |||||
| def test_header_too_long(self): | |||||
| resp = self.client.get(self.url, REMOTE_ADDR=100 * EURO_IPV4) | |||||
| self.assertEqual( | |||||
| {'preferred_currency': 'USD'}, | |||||
| resp.json(), | |||||
| 'a too-long remote address should be ignored, hence default to USD', | |||||
| ) | |||||
| Context not available. | |||||