tests: clear DB transactions before all db calls

Because of repeatable read isolation,
changes from externally executed command dont reflect until transaction is ended.
This commit is contained in:
Ankush Menat 2023-01-16 17:31:39 +05:30
parent 5e2bbf834f
commit 8adfdcbc1d

View file

@ -405,23 +405,26 @@ class TestCommands(BaseTestCommands):
def test_set_password(self):
from frappe.utils.password import check_password
self.assertEqual(check_password("Administrator", "am"), "Administrator")
self.execute("bench --site {site} set-password Administrator test1")
self.assertEqual(self.returncode, 0)
self.assertEqual(check_password("Administrator", "test1"), "Administrator")
# to release the lock taken by check_password
frappe.db.commit()
frappe.db.rollback()
self.execute("bench --site {site} set-admin-password test2")
self.assertEqual(self.returncode, 0)
frappe.db.rollback()
self.assertEqual(check_password("Administrator", "test2"), "Administrator")
frappe.db.commit()
frappe.db.rollback()
# Reset it back to original password
original_password = frappe.conf.admin_password or "admin"
self.execute("bench --site {site} set-admin-password %s" % original_password)
self.assertEqual(self.returncode, 0)
frappe.db.rollback()
self.assertEqual(check_password("Administrator", original_password), "Administrator")
frappe.db.commit()
frappe.db.rollback()
@skipIf(
not (