forked from DGNum/gestioCOF
Fix tests
This commit is contained in:
parent
a60df91b04
commit
ea45eb1f55
1 changed files with 5 additions and 44 deletions
|
@ -10,7 +10,6 @@ from kfet.models import Account
|
||||||
|
|
||||||
from . import KFET_GENERIC_TRIGRAMME, KFET_GENERIC_USERNAME
|
from . import KFET_GENERIC_TRIGRAMME, KFET_GENERIC_USERNAME
|
||||||
from .backends import AccountBackend, GenericBackend
|
from .backends import AccountBackend, GenericBackend
|
||||||
from .middleware import TemporaryAuthMiddleware
|
|
||||||
from .models import GenericTeamToken
|
from .models import GenericTeamToken
|
||||||
from .utils import get_kfet_generic_user
|
from .utils import get_kfet_generic_user
|
||||||
from .views import GenericLoginView
|
from .views import GenericLoginView
|
||||||
|
@ -268,8 +267,6 @@ class TemporaryAuthTests(TestCase):
|
||||||
|
|
||||||
self.factory = RequestFactory()
|
self.factory = RequestFactory()
|
||||||
|
|
||||||
self.middleware = TemporaryAuthMiddleware(mock.Mock())
|
|
||||||
|
|
||||||
user1_acc = Account(trigramme="000")
|
user1_acc = Account(trigramme="000")
|
||||||
user1_acc.change_pwd("kfet_user1")
|
user1_acc.change_pwd("kfet_user1")
|
||||||
user1_acc.save({"username": "user1"})
|
user1_acc.save({"username": "user1"})
|
||||||
|
@ -289,51 +286,13 @@ class TemporaryAuthTests(TestCase):
|
||||||
)
|
)
|
||||||
self.user2.user_permissions.add(self.perm)
|
self.user2.user_permissions.add(self.perm)
|
||||||
|
|
||||||
def test_middleware_header(self):
|
|
||||||
"""
|
|
||||||
A user can be authenticated if ``HTTP_KFETPASSWORD`` header of a
|
|
||||||
request contains a valid kfet password.
|
|
||||||
"""
|
|
||||||
request = self.factory.get("/", HTTP_KFETPASSWORD="kfet_user2")
|
|
||||||
request.user = self.user1
|
|
||||||
|
|
||||||
self.middleware(request)
|
|
||||||
|
|
||||||
self.assertEqual(request.user, self.user2)
|
|
||||||
self.assertEqual(request.real_user, self.user1)
|
|
||||||
|
|
||||||
def test_middleware_post(self):
|
|
||||||
"""
|
|
||||||
A user can be authenticated if ``KFETPASSWORD`` of POST data contains
|
|
||||||
a valid kfet password.
|
|
||||||
"""
|
|
||||||
request = self.factory.post("/", {"KFETPASSWORD": "kfet_user2"})
|
|
||||||
request.user = self.user1
|
|
||||||
|
|
||||||
self.middleware(request)
|
|
||||||
|
|
||||||
self.assertEqual(request.user, self.user2)
|
|
||||||
self.assertEqual(request.real_user, self.user1)
|
|
||||||
|
|
||||||
def test_middleware_invalid(self):
|
|
||||||
"""
|
|
||||||
The given password must be a password of an Account.
|
|
||||||
"""
|
|
||||||
request = self.factory.post("/", {"KFETPASSWORD": "invalid"})
|
|
||||||
request.user = self.user1
|
|
||||||
|
|
||||||
self.middleware(request)
|
|
||||||
|
|
||||||
self.assertEqual(request.user, self.user1)
|
|
||||||
self.assertFalse(hasattr(request, "real_user"))
|
|
||||||
|
|
||||||
def test_context_processor(self):
|
def test_context_processor(self):
|
||||||
"""
|
"""
|
||||||
Context variables give the real authenticated user and his permissions.
|
Context variables give the real authenticated user and his permissions.
|
||||||
"""
|
"""
|
||||||
self.client.login(username="user1", password="user1")
|
self.client.login(username="user1", password="user1")
|
||||||
|
|
||||||
r = self.client.get("/k-fet/accounts/", HTTP_KFETPASSWORD="kfet_user2")
|
r = self.client.post("/k-fet/accounts/000/edit", HTTP_KFETPASSWORD="kfet_user2")
|
||||||
|
|
||||||
self.assertEqual(r.context["user"], self.user1)
|
self.assertEqual(r.context["user"], self.user1)
|
||||||
self.assertNotIn("kfet.is_team", r.context["perms"])
|
self.assertNotIn("kfet.is_team", r.context["perms"])
|
||||||
|
@ -344,8 +303,10 @@ class TemporaryAuthTests(TestCase):
|
||||||
"""
|
"""
|
||||||
self.client.login(username="user1", password="user1")
|
self.client.login(username="user1", password="user1")
|
||||||
|
|
||||||
r1 = self.client.get("/k-fet/accounts/", HTTP_KFETPASSWORD="kfet_user2")
|
r1 = self.client.post(
|
||||||
|
"/k-fet/accounts/000/edit", HTTP_KFETPASSWORD="kfet_user2"
|
||||||
|
)
|
||||||
self.assertEqual(r1.wsgi_request.user, self.user2)
|
self.assertEqual(r1.wsgi_request.user, self.user2)
|
||||||
|
|
||||||
r2 = self.client.get("/k-fet/accounts/")
|
r2 = self.client.post("/k-fet/accounts/000/edit")
|
||||||
self.assertEqual(r2.wsgi_request.user, self.user1)
|
self.assertEqual(r2.wsgi_request.user, self.user1)
|
||||||
|
|
Loading…
Reference in a new issue