Mercurial > p > roundup > code
view test/test_instance.py @ 7164:5487882ff17a
Fix test failure when run alone.
testPasswordMigration was failing when run pytest -k
testPasswordMigration. Was always failing on third test.
When run as part of whole FormTestCase class it worked.
Fixed it by:
Using cl.db after call to actions.LoginAction.
Make sure to set cl.db.Otk = self.db.Otk before calling LoginAction.
Add real Otk database and not a mock to a couple of db's.
Without this the third element in the loop (crypt at this point) still
has the old vale when eading from db. I think this is due to the
original cl.db being closed inside LoginAction (to re-open db using
new user's credentials cl.db.ptimize is not set). I think the old
self.db is returning the cached values. At least that's my guess.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Fri, 24 Feb 2023 17:15:29 -0500 |
| parents | 778a9f455067 |
| children | 9c3ec0a5c7fc |
line wrap: on
line source
# # Copyright (C) 2020 John Rouillard # All rights reserved. # For license terms see the file COPYING.txt. # from __future__ import print_function import unittest, os, shutil, errno, sys, difflib from roundup import instance from roundup.instance import TrackerError try: # python2 import pathlib2 as pathlib except ImportError: # python3 import pathlib from . import db_test_base class InstanceTest(unittest.TestCase): backend = 'anydbm' def setUp(self): self.dirname = '_test_instance' # set up and open a tracker self.instance = db_test_base.setupTracker(self.dirname, self.backend) # open the database self.db = self.instance.open('admin') self.db.commit() self.db.close() def tearDown(self): if self.db: self.db.close() try: shutil.rmtree(self.dirname) except OSError as error: if error.errno not in (errno.ENOENT, errno.ESRCH): raise def testOpenOldStyle(self): pathlib.Path(os.path.join(self.dirname, "dbinit.py")).touch() # no longer support old style tracker configs self.assertRaises(TrackerError, instance.open, self.dirname)
