test_signatures.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.contrib.auth import get_user_model
  2. from django.test import TestCase
  3. from misago.users import signatures
  4. class MockRequest(object):
  5. scheme = 'http'
  6. def get_host(self):
  7. return '127.0.0.1:8000'
  8. class SignaturesTests(TestCase):
  9. def test_signature_change(self):
  10. """signature module allows for signature change"""
  11. User = get_user_model()
  12. test_user = User.objects.create_user('Bob', 'bob@bob.com', 'pass123')
  13. signatures.set_user_signature(MockRequest(), test_user, '')
  14. self.assertEqual(test_user.signature, '')
  15. self.assertEqual(test_user.signature_parsed, '')
  16. self.assertEqual(test_user.signature_checksum, '')
  17. signatures.set_user_signature(
  18. MockRequest(), test_user, 'Hello, world!')
  19. self.assertEqual(test_user.signature, 'Hello, world!')
  20. self.assertEqual(test_user.signature_parsed, '<p>Hello, world!</p>')
  21. self.assertTrue(signatures.is_user_signature_valid(test_user))
  22. test_user.signature_parsed = '<p>Injected evil HTML!</p>'
  23. self.assertFalse(signatures.is_user_signature_valid(test_user))