@@ -12,8 +12,9 @@ def client():
12
12
with app .test_client () as client :
13
13
yield client
14
14
15
+
15
16
def test_homepage_v1 (client ):
16
- expect_selfie (client .get ("/" ).data .decode ()).to_be ("""
17
+ expect_selfie (client .get ("/" ).data .decode ()).to_be ("""
17
18
<html><body>
18
19
<h1>Please login</h1>
19
20
<form action="/login" method="post">
@@ -22,8 +23,9 @@ def test_homepage_v1(client):
22
23
</form>
23
24
</body></html>""" )
24
25
26
+
25
27
def test_homepage_v2 (client ):
26
- web_selfie (client .get ("/" )).to_be ("""<html>
28
+ web_selfie (client .get ("/" )).to_be ("""<html>
27
29
<body>
28
30
<h1>
29
31
Please login
@@ -39,37 +41,44 @@ def test_homepage_v2(client):
39
41
Please login
40
42
╔═ [status] ═╗
41
43
200 OK""" )
42
-
44
+
45
+
43
46
def test_login_flow (client ):
44
- web_selfie (client .get ("/" )).to_match_disk ("1. not logged in" ) \
45
- .facet ("md" ).to_be ("Please login" )
47
+ web_selfie (client .get ("/" )).to_match_disk ("1. not logged in" ).facet ("md" ).to_be (
48
+ "Please login"
49
+ )
46
50
47
- web_selfie (
client .
post (
"/login" ,
data = {
"email" :
"[email protected] " }))
\
48
- . to_match_disk ( "2. post login form" ) \
49
- .facet ("md" ).to_be ("""Email sent!
51
+ web_selfie (
client .
post (
"/login" ,
data = {
"email" :
"[email protected] " }))
. to_match_disk (
52
+ "2. post login form"
53
+ ) .facet ("md" ).to_be ("""Email sent!
50
54
51
55
Check your email for your login link.""" )
52
56
53
- email = wait_for_incoming_email ()
54
- expect_selfie (email ).to_be (
57
+ email = wait_for_incoming_email ()
58
+ expect_selfie (email ).to_be (
55
59
{
56
60
57
61
"subject" : "Login to example.com" ,
58
62
"html_content" : 'Click <a href="http://localhost/login-confirm/2Yw4aCQ">here</a> to login.' ,
59
63
}
60
64
)
61
-
62
- web_selfie (client .get ("/login-confirm/2Yw4aCQ" )).to_be ("""REDIRECT 302 Found to /
65
+
66
+ web_selfie (client .get ("/login-confirm/2Yw4aCQ" )).to_be ("""REDIRECT 302 Found to /
63
67
╔═ [cookies] ═╗
64
68
[email protected] |29Xwa32OsHUoHm4TRitwQMWpuynz3r1aw3BcB5pPGdY=; Path=/""")
65
69
66
- client .
set_cookie (
'login' ,
'[email protected] |29Xwa32OsHUoHm4TRitwQMWpuynz3r1aw3BcB5pPGdY=' )
67
- web_selfie (client .get ("/" )).to_match_disk ("3. log in works with cookies" ) \
68
- .
facet (
"md" ).
to_be (
"Welcome back [email protected] " )
70
+ client .set_cookie (
71
+ "login" ,
"[email protected] |29Xwa32OsHUoHm4TRitwQMWpuynz3r1aw3BcB5pPGdY="
72
+ )
73
+ web_selfie (client .get ("/" )).to_match_disk ("3. log in works with cookies" ).facet (
74
+ "md"
75
+ ).
to_be (
"Welcome back [email protected] " )
76
+
77
+ client .
set_cookie (
"login" ,
"[email protected] |ABCDEF" )
78
+ web_selfie (client .get ("/" )).to_match_disk (
79
+ "4. log in fails with fake cookies"
80
+ ).facet ("status" ).to_be ("401 UNAUTHORIZED" )
69
81
70
- client .
set_cookie (
'login' ,
'[email protected] |ABCDEF' )
71
- web_selfie (client .get ("/" )).to_match_disk ("4. log in fails with fake cookies" ) \
72
- .facet ("status" ).to_be ("401 UNAUTHORIZED" )
73
82
74
83
if __name__ == "__main__" :
75
84
pytest .main ()
0 commit comments