Skip to content

session() does not restore previous engine if fails #211

Closed
@dmlogv

Description

@dmlogv

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>

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions