Skip to content

Commit 5cfacc9

Browse files
IsabelAForgeFlowLauraCForgeFlow
authored andcommitted
[MIG] password_security: Migration to 18.0
1 parent efb6c10 commit 5cfacc9

8 files changed

Lines changed: 22 additions & 37 deletions

File tree

auth_oidc/tests/test_auth_oidc_auth_code.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -242,15 +242,13 @@ def test_login_without_any_key(self):
242242
keys=[],
243243
)
244244

245-
with (
246-
self.assertRaises(AccessDenied),
247-
MockRequest(self.env),
248-
self.assertLogs(level=logging.ERROR) as logs,
249-
):
250-
self.env["res.users"].auth_oauth(
251-
self.provider_rec.id,
252-
{"state": json.dumps({})},
253-
)
245+
with self.assertRaises(AccessDenied):
246+
with MockRequest(self.env):
247+
with self.assertLogs(level=logging.ERROR) as logs:
248+
self.env["res.users"].auth_oauth(
249+
self.provider_rec.id,
250+
{"state": json.dumps({})},
251+
)
254252
self.assertEqual(len(logs.records), 1)
255253
self.assertEqual(logs.records[0].levelno, logging.ERROR)
256254
self.assertEqual(

password_security/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
{
66
"name": "Password Security",
77
"summary": "Allow admin to set password security requirements.",
8-
"version": "17.0.2.0.0",
8+
"version": "18.0.2.0.0",
99
"author": "LasLabs, "
1010
"Onestein, "
1111
"Kaushal Prajapati, "

password_security/controllers/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def web_login(self, *args, **kw):
3737
request.session.logout(keep_db=True)
3838
# I was kicked out, so set login_success in request params to False
3939
request.params["login_success"] = False
40-
redirect = request.env.user.partner_id.signup_url
40+
redirect = request.env.user.partner_id._get_signup_url()
4141
return request.redirect(redirect)
4242

4343
@http.route()

password_security/models/res_users.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,8 @@ def _password_has_expired(self):
143143
return days > pwd_params["expiration_days"]
144144

145145
def action_expire_password(self):
146-
expiration = delta_now(days=+1)
147146
for user in self:
148-
user.mapped("partner_id").signup_prepare(
149-
signup_type="reset", expiration=expiration
150-
)
147+
user.mapped("partner_id").signup_prepare(signup_type="reset")
151148

152149
def _validate_pass_reset(self):
153150
"""It provides validations before initiating a pass reset email

password_security/tests/test_change_password.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def test_01_empty_password_fail(self):
3535

3636
# Log in: ensure we end up on the right page
3737
res_login = self.login("admin", "admin")
38-
self.assertEqual(res_login.request.path_url, "/web")
38+
self.assertEqual(res_login.request.path_url, "/odoo")
3939
self.assertEqual(res_login.status_code, 200)
4040

4141
# Change password
@@ -50,7 +50,7 @@ def test_02_change_password_fail(self):
5050

5151
# Log in: ensure we end up on the right page
5252
res_login = self.login("admin", "admin")
53-
self.assertEqual(res_login.request.path_url, "/web")
53+
self.assertEqual(res_login.request.path_url, "/odoo")
5454
self.assertEqual(res_login.status_code, 200)
5555

5656
# Change password: error is raised because it's too short
@@ -68,7 +68,7 @@ def test_03_change_password_session_expired(self):
6868

6969
# Log in: ensure we end up on the right page
7070
res_login = self.login("admin", "admin")
71-
self.assertEqual(res_login.request.path_url, "/web")
71+
self.assertEqual(res_login.request.path_url, "/odoo")
7272
self.assertEqual(res_login.status_code, 200)
7373

7474
# Reload page: ensure we stay on the same page
@@ -85,7 +85,7 @@ def test_03_change_password_session_expired(self):
8585
# Try to reload page: user kicked out
8686
res_page2 = self.url_open("/web")
8787
res_page2.raise_for_status()
88-
self.assertEqual(res_page2.request.path_url, "/web/login")
88+
self.assertTrue(res_page2.request.path_url.startswith("/web/login"))
8989
self.assertEqual(res_page2.status_code, 200)
9090

9191
def test_04_change_password_check_password_history(self):
@@ -108,7 +108,7 @@ def test_04_change_password_check_password_history(self):
108108

109109
# Log in: ensure we end up on the right page
110110
res_login = self.login("admin", "!asdQWE12345_7")
111-
self.assertEqual(res_login.request.path_url, "/web")
111+
self.assertEqual(res_login.request.path_url, "/odoo")
112112

113113
# Change password: reuse password in history
114114
with self.assertRaises(UserError):
@@ -133,4 +133,4 @@ def test_04_change_password_check_password_history(self):
133133

134134
# Log in with new password: ensure we end up on the right page
135135
res_login2 = self.login("admin", "!asdQWE12345_4")
136-
self.assertEqual(res_login2.request.path_url, "/web")
136+
self.assertEqual(res_login2.request.path_url, "/odoo")

password_security/tests/test_login.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def test_03_web_login_success(self):
5858
response = self.login(self.username, self.passwd)
5959

6060
# Ensure we end up on the right page
61-
self.assertEqual(response.request.path_url, "/web")
61+
self.assertEqual(response.request.path_url, "/odoo")
6262
self.assertEqual(response.status_code, 200)
6363

6464
def test_04_web_login_fail(self):
@@ -102,7 +102,7 @@ def test_06_web_login_log_out_if_expired(self):
102102
response = self.login(self.username, self.passwd)
103103

104104
# Ensure we end up on the right page
105-
self.assertEqual(response.request.path_url, "/web")
105+
self.assertEqual(response.request.path_url, "/odoo")
106106
self.assertEqual(response.status_code, 200)
107107

108108
# Make password expired while still logged in
@@ -129,7 +129,7 @@ def test_06_web_login_log_out_if_expired(self):
129129

130130
# Try to access just a page: user kicked out
131131
req_page2 = self.url_open("/web")
132-
self.assertEqual("/web/login", req_page2.request.path_url)
132+
self.assertTrue(req_page2.request.path_url.startswith("/web/login"))
133133
self.assertEqual(req_page2.status_code, 200)
134134

135135
def test_07_web_login_redirect(self):
@@ -149,5 +149,5 @@ def test_07_web_login_redirect(self):
149149

150150
# Try to access just a page: user kicked out
151151
req_page = self.url_open("/web")
152-
self.assertEqual("/web/login", req_page.request.path_url)
152+
self.assertTrue(req_page.request.path_url.startswith("/web/login"))
153153
self.assertEqual(req_page.status_code, 200)

password_security/tests/test_res_users.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,16 +113,6 @@ def test_a_new_password_is_not_expired(self):
113113
"Password was just created but has already expired.",
114114
)
115115

116-
def test_expire_password_generates_token(self):
117-
rec_id = self._new_record()
118-
rec_id.sudo().action_expire_password()
119-
rec_id.invalidate_recordset()
120-
token = rec_id.partner_id.signup_token
121-
self.assertTrue(
122-
token,
123-
"A token was not generated.",
124-
)
125-
126116
def test_validate_pass_reset_error(self):
127117
"""It should throw UserError on reset inside min threshold"""
128118
rec_id = self._new_record()

password_security/tests/test_reset_password.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ def test_01_reset_password_fail(self):
5151
self.assertEqual(response.request.path_url, "/web/reset_password")
5252
self.assertEqual(response.status_code, 200)
5353
self.assertIn(
54-
"Passwords can only be reset every %s hour(s). "
55-
"Please contact an administrator for assistance." % min_hours,
54+
f"Passwords can only be reset every {min_hours} hour(s). "
55+
"Please contact an administrator for assistance.",
5656
response.text,
5757
)
5858

0 commit comments

Comments
 (0)