Closed
Description
When with redmine.session()
fails redminelib
does not restore previous used engine.
Example:
rm = redminelib.Redmine('https://redmine.intranet')
# Original engine
print(rm.engine)
try:
with rm.session(impersonate='william_gates'):
# Masked engine
print(rm.engine)
# Some fails
rm.issue.create(project_id='test', subject='foo')
except redminelib.exceptions.ImpersonateError as e:
print(e)
# Should be original engine again?
print(rm.engine)
Output:
<redminelib.engines.sync.SyncEngine object at 0x03D1B9F0>
<redminelib.engines.sync.SyncEngine object at 0x040EBD10>
Impersonate login provided doesn't exist or isn't active
<redminelib.engines.sync.SyncEngine object at 0x040EBD10>