|
@@ -1,48 +1,55 @@
|
|
|
from django.core.urlresolvers import reverse
|
|
|
+
|
|
|
+from misago.users.models import Ban, BAN_IP
|
|
|
from misago.users.testutils import UserTestCase
|
|
|
|
|
|
|
|
|
class DenyAuthenticatedTests(UserTestCase):
|
|
|
def test_success(self):
|
|
|
"""deny_authenticated decorator allowed guest request"""
|
|
|
- response = self.client.post('/api/auth/')
|
|
|
- self.assertEqual(response.status_code, 400)
|
|
|
+ response = self.client.post(reverse('misago:request_activation'))
|
|
|
+ self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
def test_fail(self):
|
|
|
"""deny_authenticated decorator denied authenticated request"""
|
|
|
self.login_user(self.get_authenticated_user())
|
|
|
|
|
|
- response = self.client.post('/api/auth/')
|
|
|
+ response = self.client.post(reverse('misago:request_activation'))
|
|
|
self.assertEqual(response.status_code, 403)
|
|
|
|
|
|
|
|
|
-class DeflectAuthenticatedTests(UserTestCase):
|
|
|
+class DenyGuestsTests(UserTestCase):
|
|
|
def test_success(self):
|
|
|
- """deflect_authenticated decorator allowed guest request"""
|
|
|
- response = self.client.get(reverse('misago:forgotten_password'))
|
|
|
- self.assertEqual(response.status_code, 200)
|
|
|
-
|
|
|
- def test_fail(self):
|
|
|
- """deflect_authenticated decorator deflected authenticated request"""
|
|
|
+ """deny_guests decorator allowed authenticated request"""
|
|
|
self.login_user(self.get_authenticated_user())
|
|
|
|
|
|
- response = self.client.get(reverse('misago:forgotten_password'))
|
|
|
+ response = self.client.post(reverse('misago:options'))
|
|
|
self.assertEqual(response.status_code, 302)
|
|
|
|
|
|
+ def test_fail(self):
|
|
|
+ """deny_guests decorator blocked guest request"""
|
|
|
+ response = self.client.post(reverse('misago:options'))
|
|
|
+ self.assertEqual(response.status_code, 403)
|
|
|
+
|
|
|
|
|
|
-class DeflectGuestsTests(UserTestCase):
|
|
|
+class DenyBannedIPTests(UserTestCase):
|
|
|
def test_success(self):
|
|
|
- """deflect_guests decorator allowed authenticated request"""
|
|
|
- self.login_user(self.get_authenticated_user())
|
|
|
+ """deny_banned_ips decorator allowed unbanned request"""
|
|
|
+ Ban.objects.create(
|
|
|
+ check_type=BAN_IP,
|
|
|
+ banned_value='83.*',
|
|
|
+ user_message='Ya got banned!')
|
|
|
|
|
|
- response = self.client.get(
|
|
|
- reverse('misago:options_form',
|
|
|
- kwargs={'form_name': 'forum-options'}))
|
|
|
+ response = self.client.post(reverse('misago:request_activation'))
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
def test_fail(self):
|
|
|
- """deflect_guests decorator deflected authenticated request"""
|
|
|
- response = self.client.get(
|
|
|
- reverse('misago:options_form',
|
|
|
- kwargs={'form_name': 'forum-options'}))
|
|
|
- self.assertEqual(response.status_code, 302)
|
|
|
+ """deny_banned_ips decorator denied banned request"""
|
|
|
+ Ban.objects.create(
|
|
|
+ check_type=BAN_IP,
|
|
|
+ banned_value='127.*',
|
|
|
+ user_message='Ya got banned!')
|
|
|
+
|
|
|
+ response = self.client.post(reverse('misago:request_activation'))
|
|
|
+ self.assertEqual(response.status_code, 403)
|
|
|
+ self.assertIn('<p>Ya got banned!</p>', response.content)
|