test_signatures.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from django.contrib.auth import get_user_model
  2. from django.test import TestCase
  3. from misago.users import signatures
  4. UserModel = get_user_model()
  5. class MockRequest(object):
  6. scheme = 'http'
  7. def get_host(self):
  8. return '127.0.0.1:8000'
  9. class SignaturesTests(TestCase):
  10. def test_signature_change(self):
  11. """signature module allows for signature change"""
  12. test_user = UserModel.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(MockRequest(), test_user, 'Hello, world!')
  18. self.assertEqual(test_user.signature, 'Hello, world!')
  19. self.assertEqual(test_user.signature_parsed, '<p>Hello, world!</p>')
  20. self.assertTrue(signatures.is_user_signature_valid(test_user))
  21. test_user.signature_parsed = '<p>Injected evil HTML!</p>'
  22. self.assertFalse(signatures.is_user_signature_valid(test_user))