@@ -74,3 +74,31 @@ def test_successful_registration(client: FlaskClient, captured_templates):
74
74
}, follow_redirects = True )
75
75
fail_login_response = client .get ('/exercises' )
76
76
assert fail_login_response .status_code == 200
77
+
78
+ @staticmethod
79
+ def test_bad_token (client : FlaskClient ):
80
+ bad_token = "fake-token43@$@"
81
+ fail_confirm_response = client .get (
82
+ f'/confirm-email/{ bad_token } ' , follow_redirects = True ,
83
+ )
84
+ assert fail_confirm_response .status_code == 404
85
+
86
+ @staticmethod
87
+ def test_use_token_twice (client : FlaskClient ):
88
+ client .post ('/signup' , data = {
89
+ 'email' : 'some_user123@mail.com' ,
90
+ 'username' : 'some_user' ,
91
+ 'fullname' : 'some_name' ,
92
+ 'password' : 'some_password' ,
93
+ 'confirm' : 'some_password' ,
94
+ }, follow_redirects = True )
95
+ token = generate_confirmation_token ('some_user123@mail.com' )
96
+ success_token_response = client .get (
97
+ f'/confirm-email/{ token } ' , follow_redirects = True ,
98
+ )
99
+ assert success_token_response .status_code == 200
100
+
101
+ fail_token_response = client .get (
102
+ f'/confirm-email/{ token } ' , follow_redirects = True ,
103
+ )
104
+ assert fail_token_response .status_code == 403
0 commit comments