clean module
[auf_django_saml.git] / auf / django / saml / tests / common.py
1 # -*- coding: utf-8 -*-
2
3 import urllib
4 import urlparse
5
6 from django.test import TestCase
7 from django.test.client import Client
8
9 from django.contrib.auth.models import User
10
11 from auf.django.references import models as ref
12
13 from .middleware import LOGGED_USER_EMAIL, ANONYMOUS_KEY,\
14 LOGGED_USER_USERNAME, LOGGED_USER_SN, LOGGED_USER_GN
15
16
17 class CommonTest(TestCase):
18
19 def setUp(self):
20 self.client = Client()
21
22 def anonymize(self, url):
23 """
24 Ajoute un flag dans l'URL pour fonctionner comme utilisateur non
25 authentifié.
26 """
27 params = {ANONYMOUS_KEY: 1, }
28 url_parts = urlparse.urlsplit(url)
29 qs = urlparse.parse_qs(url_parts[4])
30 qs.update(params)
31 return "%s?%s" % (url, urllib.urlencode(qs), )
32
33 def redirectize(self, url):
34 """
35 Extrait de l'URL le protocole et fqdn
36 """
37 url_parts = urlparse.urlsplit(url)
38 if url_parts[3]:
39 return "%s?%s" % (url_parts[2], url_parts[3], )
40 else:
41 return url_parts[2]
42
43 def creer_employe(self):
44 """
45 Créer un employé dans le référentiel.
46 """
47 ref.Employe(
48 nom=LOGGED_USER_GN,
49 prenom=LOGGED_USER_SN,
50 implantation_id=1,
51 implantation_physique_id=1,
52 service_id=1,
53 courriel=LOGGED_USER_EMAIL).save()
54
55 def creer_employe_sans_courriel(self):
56 """
57 Créer un employé sans courriel dans le référentiel.
58 """
59 ref.Employe(
60 nom=LOGGED_USER_GN,
61 prenom=LOGGED_USER_SN,
62 implantation_id=1,
63 implantation_physique_id=1,
64 service_id=1,
65 ).save()
66
67 def creer_user(self):
68 """
69 Créer un user Django staff correspondant à la personne connecté dans le
70 MockMiddleware.
71 """
72 User(
73 is_staff=True,
74 username=LOGGED_USER_USERNAME,
75 email=LOGGED_USER_EMAIL).save()