Merge pull request #36704 from AarDG10/fix-test
test: rewrite test to perform sim. instead
This commit is contained in:
commit
a44eee8967
1 changed files with 17 additions and 11 deletions
|
|
@ -315,18 +315,24 @@ class TestEmail(IntegrationTestCase):
|
|||
target_user = "testimpersonate@example.com"
|
||||
frappe.db.delete("Email Queue Recipient", {"recipient": target_user}) # sanity
|
||||
if not frappe.db.exists("User", target_user):
|
||||
frappe.get_doc({"doctype": "User", "email": target_user, "first_name": "Target"}).insert(
|
||||
ignore_permissions=True
|
||||
)
|
||||
reason = "Testing Security Alert"
|
||||
impersonate(user=target_user, reason=reason)
|
||||
self.assertEqual(frappe.session.user, target_user) # test if impersonation worked
|
||||
self.assertTrue(frappe.db.exists("Activity Log", {"user": target_user, "operation": "Impersonate"}))
|
||||
email_queued = frappe.db.exists(
|
||||
"Email Queue Recipient", {"recipient": target_user, "status": "Not Sent"}
|
||||
)
|
||||
self.assertTrue(email_queued, f"Impersonation email was not queued for {target_user}")
|
||||
frappe.get_doc(
|
||||
{"doctype": "User", "email": target_user, "first_name": "Target", "enabled": 1}
|
||||
).insert(ignore_permissions=True)
|
||||
|
||||
with (
|
||||
patch("frappe.sendmail") as mocked_sendmail,
|
||||
patch("frappe.local.login_manager", create=True) as mocked_lm,
|
||||
):
|
||||
reason = "Testing Security Alert"
|
||||
impersonate(user=target_user, reason=reason)
|
||||
|
||||
self.assertTrue(mocked_sendmail.called)
|
||||
_, kwargs = mocked_sendmail.call_args
|
||||
self.assertIn(target_user, kwargs.get("recipients"))
|
||||
self.assertIn(reason, kwargs.get("content"))
|
||||
mocked_lm.impersonate.assert_called_with(target_user)
|
||||
|
||||
# Cleanup
|
||||
frappe.db.delete("User", {"email": target_user})
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue