1
1
from authlib .little_auth .models import User
2
- from django .test import TestCase
2
+ from django .test import Client , TestCase
3
3
4
4
from projects .models import Project
5
5
6
6
7
7
class ProjectsTest (TestCase ):
8
8
def test_smoke (self ):
9
- user = User .
objects .
create_superuser (
"[email protected] " ,
"admin" )
10
- self .client .force_login (user )
9
+ superuser = User .
objects .
create_superuser (
"[email protected] " ,
"admin" )
10
+ su_client = Client ()
11
+ su_client .force_login (superuser )
12
+
13
+ p2 = Project .objects .create (name = "test2" , slug = "test2" )
14
+ user = User .
objects .
create_user (
"[email protected] " ,
"user" )
15
+ user .projects .add (p2 )
16
+ u_client = Client ()
17
+ u_client .force_login (user )
11
18
12
19
p = Project .objects .create (name = "test" , slug = "test" )
13
20
c = p .catalogs .create (
@@ -31,38 +38,48 @@ def test_smoke(self):
31
38
""" ,
32
39
)
33
40
34
- r = self .client .get ("/" , headers = {"accept-language" : "en" })
35
-
41
+ r = su_client .get ("/" , headers = {"accept-language" : "en" })
36
42
self .assertContains (r , '<a href="/project/test/">test</a>' )
43
+ self .assertContains (r , '<a href="/project/test2/">test2</a>' )
44
+
45
+ r = u_client .get ("/" , headers = {"accept-language" : "en" })
46
+ self .assertNotContains (r , '<a href="/project/test/">test</a>' )
47
+ self .assertContains (r , '<a href="/project/test2/">test2</a>' )
37
48
38
- r = self . client .get (p .get_absolute_url (), headers = {"accept-language" : "en" })
49
+ r = su_client .get (p .get_absolute_url (), headers = {"accept-language" : "en" })
39
50
self .assertContains (r , p .token )
40
51
self .assertContains (
41
52
r ,
42
53
'<a href="/project/test/catalog/fr/djangojs/">French, djangojs (100%)</a>' ,
43
54
)
44
55
45
- r = self .client .get (c .get_absolute_url (), headers = {"accept-language" : "en" })
56
+ r = u_client .get (p .get_absolute_url (), headers = {"accept-language" : "en" })
57
+ self .assertEqual (r .status_code , 404 )
58
+
59
+ r = u_client .get (p2 .get_absolute_url (), headers = {"accept-language" : "en" })
60
+ self .assertEqual (r .status_code , 200 )
61
+
62
+ r = su_client .get (c .get_absolute_url (), headers = {"accept-language" : "en" })
46
63
self .assertContains (
47
64
r ,
48
65
'<input type="hidden" name="msgid_1" value="Copied code!" id="id_msgid_1">' ,
49
66
)
50
67
51
68
# API test
52
- r = self . client .get ("/api/pofile/fr/djangojs/" )
69
+ r = su_client .get ("/api/pofile/fr/djangojs/" )
53
70
self .assertEqual (r .status_code , 403 )
54
71
55
- r = self . client .get (
72
+ r = su_client .get (
56
73
"/api/pofile/fr/djangojs/" , headers = {"x-project-token" : p .token }
57
74
)
58
75
self .assertEqual (r .content .decode ("utf-8" ), c .pofile )
59
76
60
- r = self . client .get (
77
+ r = su_client .get (
61
78
"/api/pofile/de/djangojs/" , headers = {"x-project-token" : p .token }
62
79
)
63
80
self .assertEqual (r .status_code , 404 )
64
81
65
- r = self . client .put (
82
+ r = su_client .put (
66
83
"/api/pofile/fr/djangojs/" ,
67
84
headers = {"x-project-token" : p .token },
68
85
data = b"""\
@@ -98,7 +115,7 @@ def test_smoke(self):
98
115
)
99
116
100
117
# Different language!
101
- r = self . client .put (
118
+ r = su_client .put (
102
119
"/api/pofile/de/djangojs/" ,
103
120
headers = {"x-project-token" : p .token },
104
121
data = b"""\
0 commit comments