1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- from django.test import TestCase
- from misago.users.models import Ban
- class BansManagerTests(TestCase):
- def setUp(self):
- Ban.objects.bulk_create(
- [
- Ban(check_type=Ban.USERNAME, banned_value="bob"),
- Ban(check_type=Ban.EMAIL, banned_value="bob@test.com"),
- Ban(check_type=Ban.IP, banned_value="127.0.0.1"),
- ]
- )
- def test_get_ban_for_banned_name(self):
- """get_ban finds ban for given username"""
- self.assertIsNotNone(Ban.objects.get_ban(username="Bob"))
- with self.assertRaises(Ban.DoesNotExist):
- Ban.objects.get_ban(username="Jeb")
- def test_get_ban_for_banned_email(self):
- """get_ban finds ban for given email"""
- self.assertIsNotNone(Ban.objects.get_ban(email="bob@test.com"))
- with self.assertRaises(Ban.DoesNotExist):
- Ban.objects.get_ban(email="jeb@test.com")
- def test_get_ban_for_banned_ip(self):
- """get_ban finds ban for given ip"""
- self.assertIsNotNone(Ban.objects.get_ban(ip="127.0.0.1"))
- with self.assertRaises(Ban.DoesNotExist):
- Ban.objects.get_ban(ip="42.0.0.1")
- def test_get_ban_for_all_bans(self):
- """get_ban finds ban for given values"""
- valid_kwargs = {"username": "bob", "ip": "42.51.52.51"}
- self.assertIsNotNone(Ban.objects.get_ban(**valid_kwargs))
- invalid_kwargs = {"username": "bsob", "ip": "42.51.52.51"}
- with self.assertRaises(Ban.DoesNotExist):
- Ban.objects.get_ban(**invalid_kwargs)
- class BanTests(TestCase):
- def test_check_value_literal(self):
- """ban correctly tests given values"""
- test_ban = Ban(banned_value="bob")
- self.assertTrue(test_ban.check_value("bob"))
- self.assertFalse(test_ban.check_value("bobby"))
- def test_check_value_starts_with(self):
- """ban correctly tests given values"""
- test_ban = Ban(banned_value="bob*")
- self.assertTrue(test_ban.check_value("bob"))
- self.assertTrue(test_ban.check_value("bobby"))
- def test_check_value_middle_match(self):
- """ban correctly tests given values"""
- test_ban = Ban(banned_value="b*b")
- self.assertTrue(test_ban.check_value("bob"))
- self.assertFalse(test_ban.check_value("bobby"))
- def test_check_value_ends_witch(self):
- """ban correctly tests given values"""
- test_ban = Ban(banned_value="*bob")
- self.assertTrue(test_ban.check_value("lebob"))
- self.assertFalse(test_ban.check_value("bobby"))
|