tests.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. from django.test import Client, RequestFactory, TestCase
  2. from blog.models import Article, Category, Tag
  3. from django.contrib.auth import get_user_model
  4. from django.contrib.sites.models import Site
  5. import datetime
  6. from accounts.models import BlogUser
  7. from django.urls import reverse
  8. # Create your tests here.
  9. class AccountTest(TestCase):
  10. def setUp(self):
  11. self.client = Client()
  12. self.factory = RequestFactory()
  13. def test_validate_account(self):
  14. site = Site.objects.get_current().domain
  15. user = BlogUser.objects.create_superuser(email="liangliangyy1@gmail.com",
  16. username="liangliangyy1", password="liangliangyy1")
  17. self.client.login(username='liangliangyy1', password='liangliangyy1')
  18. response = self.client.get('/admin/')
  19. self.assertEqual(response.status_code, 200)
  20. category = Category()
  21. category.name = "categoryaaa"
  22. category.created_time = datetime.datetime.now()
  23. category.last_mod_time = datetime.datetime.now()
  24. category.save()
  25. article = Article()
  26. article.title = "nicetitleaaa"
  27. article.body = "nicecontentaaa"
  28. article.author = user
  29. article.category = category
  30. article.type = 'a'
  31. article.status = 'p'
  32. article.save()
  33. response = self.client.get(article.get_admin_url())
  34. self.assertEqual(response.status_code, 200)
  35. def test_validate_register(self):
  36. self.assertEquals(0, len(BlogUser.objects.filter(email='user123@user.com')))
  37. response = self.client.post(reverse('account:register'), {
  38. 'username': 'user1233',
  39. 'email': 'user123@user.com',
  40. 'password1': 'password123',
  41. 'password2': 'password123',
  42. })
  43. self.assertEquals(1, len(BlogUser.objects.filter(email='user123@user.com')))
  44. self.client.login(username='user1233', password='password123')
  45. user = BlogUser.objects.filter(email='user123@user.com')[0]
  46. user.is_superuser = True
  47. user.is_staff = True
  48. user.save()
  49. category = Category()
  50. category.name = "categoryaaa"
  51. category.created_time = datetime.datetime.now()
  52. category.last_mod_time = datetime.datetime.now()
  53. category.save()
  54. article = Article()
  55. article.category = category
  56. article.title = "nicetitle333"
  57. article.body = "nicecontentttt"
  58. article.author = user
  59. article.type = 'a'
  60. article.status = 'p'
  61. article.save()
  62. response = self.client.get(article.get_admin_url())
  63. self.assertEqual(response.status_code, 200)
  64. response = self.client.get(reverse('account:logout'))
  65. self.assertIn(response.status_code, [301, 302])
  66. response = self.client.get(article.get_admin_url())
  67. self.assertIn(response.status_code, [301, 302])
  68. response = self.client.post(reverse('account:login'), {
  69. 'username': 'user1233',
  70. 'password': 'password123'
  71. })
  72. self.assertIn(response.status_code, [301, 302])
  73. response = self.client.get(article.get_admin_url())
  74. self.assertEqual(response.status_code, 200)