error handler on connect handles non-DBAPI exceptions incorrectly

Issue #2881 resolved
Mike Bayer repo owner created an issue
from mock import Mock
from sqlalchemy import create_engine
import sqlite3 as dbapi

def _not_impl(*arg, **kw):
    raise NotImplementedError()

e = create_engine("sqlite://", module=dbapi)

c = e.connect()

c.connection.cursor = Mock(return_value=Mock(execute=_not_impl))

try:
    c.execute("select 1")
except NotImplementedError:
    pass

e = create_engine("sqlite://", module=dbapi)
dbapi.connect = _not_impl

try:
    e.connect()
except NotImplementedError:
    pass

Comments (2)

  1. Log in to comment