def test_missing_auth_configuration(self): self.heartbeat.pop('auth') with pytest.raises(ImproperlyConfigured) as e: request = self.factory.get(reverse('1337')) details(request) msg = 'Missing auth configuration for heartbeat' assert msg == str(e.value)
def test_missing_auth_credentials(self): self.heartbeat['auth'] = {'blow': 'fish'} with pytest.raises(ImproperlyConfigured) as e: request = self.factory.get(reverse('1337')) details(request) msg = ('Username or password missing from auth configuration ' 'for heartbeat') assert msg == str(e.value)
def test_authorized_ips_bad_ip_list_falls_back_to_basic_auth(self): bad_authorized_ips = ['foo', '1', '1.3.3.7/256', '1.3.2.0/foo'] self.heartbeat['auth']['authorized_ips'] = bad_authorized_ips request = self.factory.get( reverse('1337'), **{'REMOTE_ADDR': '1.3.3.7'}) response = details(request) assert response.status_code == 200
def test_authorized_ips_with_ip_network(self, ip, status): self.heartbeat['auth'].update({'username': '******', 'password': '******'}) self.heartbeat['auth']['authorized_ips'] = ['1.3.2.0/25'] request = self.factory.get( reverse('1337'), **{'REMOTE_ADDR': ip}) response = details(request) assert response.status_code == status
def test_200OK(self): request = self.factory.get(reverse('1337')) response = details(request) assert response.status_code == 200 assert response['content-type'] == 'application/json' json_response = json.loads(response.content.decode('utf-8')) assert json_response['test_views']['ping'] == 'pong'
def test_authorized_ips_bad_ip_list_falls_back_to_basic_auth(self): bad_authorized_ips = ['foo', '1', '1.3.3.7/256', '1.3.2.0/foo'] self.heartbeat['auth']['authorized_ips'] = bad_authorized_ips request = self.factory.get(reverse('1337'), **{'REMOTE_ADDR': '1.3.3.7'}) response = details(request) assert response.status_code == 200
def test_disabled_auth(self): self.heartbeat['auth'] = {'disable': True} # Make factory without auth header self.factory = RequestFactory() request = self.factory.get(reverse('1337')) response = details(request) assert response.status_code == 200 assert response['content-type'] == 'application/json' json_response = json.loads(response.content.decode('utf-8')) assert json_response['test_views']['ping'] == 'pong'
def test_with_invalid_basic_auth_credentials(self): self.factory.defaults.pop('HTTP_AUTHORIZATION') request = self.factory.get(reverse('1337')) response = details(request) assert response.status_code == 401
def test(self): self.heartbeat['auth'].update({'username': '******', 'password': '******'}) request = self.factory.get( reverse('1337'), **{'REMOTE_ADDR': '1.3.3.7'}) response = details(request) assert response.status_code == 200
def test_authorized_ips_with_ip_network(self, ip, status): self.heartbeat['auth'].update({'username': '******', 'password': '******'}) self.heartbeat['auth']['authorized_ips'] = ['1.3.2.0/25'] request = self.factory.get(reverse('1337'), **{'REMOTE_ADDR': ip}) response = details(request) assert response.status_code == status
def test(self): self.heartbeat['auth'].update({'username': '******', 'password': '******'}) request = self.factory.get(reverse('1337'), **{'REMOTE_ADDR': '1.3.3.7'}) response = details(request) assert response.status_code == 200