|
@@ -2,6 +2,7 @@ from datetime import timedelta
|
|
|
|
|
|
from django.utils import timezone
|
|
|
|
|
|
+from misago.acl.testutils import override_acl
|
|
|
from misago.users.testutils import AuthenticatedUserTestCase
|
|
|
|
|
|
from ..api.postingendpoint import PostingInterrupt
|
|
@@ -20,7 +21,7 @@ class FloodProtectionMiddlewareTests(AuthenticatedUserTestCase):
|
|
|
self.assertIsNotNone(self.user.last_posted_on)
|
|
|
|
|
|
def test_flood_protection_middleware_old_posts(self):
|
|
|
- """middleware is not complaining about old post"""
|
|
|
+ """middleware is not interrupting if previous post is old"""
|
|
|
self.user.update_fields = []
|
|
|
|
|
|
original_last_posted_on = timezone.now() - timedelta(days=1)
|
|
@@ -32,9 +33,18 @@ class FloodProtectionMiddlewareTests(AuthenticatedUserTestCase):
|
|
|
self.assertTrue(self.user.last_posted_on > original_last_posted_on)
|
|
|
|
|
|
def test_flood_protection_middleware_on_flood(self):
|
|
|
- """middleware is complaining about flood"""
|
|
|
+ """middleware is interrupting flood"""
|
|
|
self.user.last_posted_on = timezone.now()
|
|
|
|
|
|
with self.assertRaises(PostingInterrupt):
|
|
|
middleware = FloodProtectionMiddleware(user=self.user)
|
|
|
middleware.interrupt_posting(None)
|
|
|
+
|
|
|
+ def test_flood_permission(self):
|
|
|
+ """middleware is respects permission to flood for team members"""
|
|
|
+ override_acl(self.user, {
|
|
|
+ 'can_omit_flood_protection': True
|
|
|
+ })
|
|
|
+
|
|
|
+ middleware = FloodProtectionMiddleware(user=self.user)
|
|
|
+ self.assertFalse(middleware.use_this_middleware())
|