123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import json
- from django.contrib.auth import get_user_model
- from django.core.urlresolvers import reverse
- from django.test import TestCase
- class ValidationAPITests(TestCase):
- ajax_header = {'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest'}
- def test_validate_username(self):
- """test API for validating username"""
- response = self.client.get(reverse('misago:api_validate_username'))
- self.assertEqual(response.status_code, 405)
- response = self.client.post(reverse('misago:api_validate_username'),
- data={'username': 'Bob'},
- **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 0)
- self.assertIn('username', data['message'])
- User = get_user_model()
- user = User.objects.create_user("Bob", "bob@bob.com", "pass123")
- response = self.client.post(reverse('misago:api_validate_username'),
- data={'username': 'Bob'},
- **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 1)
- self.assertIn('not available', data['message'])
- test_url = reverse('misago:api_validate_username',
- kwargs={'user_id': user.pk})
- response = self.client.post(
- test_url, data={'username': 'Bob'}, **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 0)
- self.assertIn('username', data['message'])
- def test_validate_email(self):
- """test API for validating email"""
- response = self.client.get(reverse('misago:api_validate_email'))
- self.assertEqual(response.status_code, 405)
- response = self.client.post(reverse('misago:api_validate_email'),
- data={'email': 'bob@bob.com'},
- **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 0)
- self.assertIn('e-mail', data['message'])
- User = get_user_model()
- user = User.objects.create_user("Bob", "bob@bob.com", "pass123")
- response = self.client.post(reverse('misago:api_validate_email'),
- data={'email': 'bob@bob.com'},
- **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 1)
- self.assertIn('not available', data['message'])
- test_url = reverse('misago:api_validate_email',
- kwargs={'user_id': user.pk})
- response = self.client.post(
- test_url, data={'email': 'bob@bob.com'}, **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 0)
- self.assertIn('e-mail', data['message'])
- def test_validate_password(self):
- """test API for validating password"""
- response = self.client.get(reverse('misago:api_validate_password'))
- self.assertEqual(response.status_code, 405)
- response = self.client.post(reverse('misago:api_validate_password'),
- data={'password': 'pass123'},
- **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 0)
- self.assertIn('password', data['message'])
- response = self.client.post(reverse('misago:api_validate_password'),
- data={'password': 'p'},
- **self.ajax_header)
- self.assertEqual(response.status_code, 200)
- data = json.loads(response.content)
- self.assertEqual(data['has_error'], 1)
- self.assertIn('characters long', data['message'])
|