mirror of
https://github.com/python/cpython.git
synced 2025-11-09 18:11:38 +00:00
gh-108278: Deprecate passing the first param of sqlite3.Connection callback APIs by keyword (#108632)
Deprecate passing the callback callable by keyword for the following sqlite3.Connection APIs: - set_authorizer(authorizer_callback) - set_progress_handler(progress_handler, ...) - set_trace_callback(trace_callback) The affected parameters will become positional-only in Python 3.15.
This commit is contained in:
parent
77e8f233ac
commit
0b0c1d046c
7 changed files with 206 additions and 22 deletions
|
|
@ -737,6 +737,27 @@ def test_aggr_text(self):
|
|||
val = cur.fetchone()[0]
|
||||
self.assertEqual(val, txt)
|
||||
|
||||
def test_agg_keyword_args(self):
|
||||
regex = (
|
||||
r"Passing keyword arguments 'name', 'n_arg' and 'aggregate_class' to "
|
||||
r"_sqlite3.Connection.create_aggregate\(\) is deprecated. "
|
||||
r"Parameters 'name', 'n_arg' and 'aggregate_class' will become "
|
||||
r"positional-only in Python 3.15."
|
||||
)
|
||||
|
||||
with self.assertWarnsRegex(DeprecationWarning, regex) as cm:
|
||||
self.con.create_aggregate("test", 1, aggregate_class=AggrText)
|
||||
self.assertEqual(cm.filename, __file__)
|
||||
|
||||
with self.assertWarnsRegex(DeprecationWarning, regex) as cm:
|
||||
self.con.create_aggregate("test", n_arg=1, aggregate_class=AggrText)
|
||||
self.assertEqual(cm.filename, __file__)
|
||||
|
||||
with self.assertWarnsRegex(DeprecationWarning, regex) as cm:
|
||||
self.con.create_aggregate(name="test", n_arg=0,
|
||||
aggregate_class=AggrText)
|
||||
self.assertEqual(cm.filename, __file__)
|
||||
|
||||
|
||||
class AuthorizerTests(unittest.TestCase):
|
||||
@staticmethod
|
||||
|
|
@ -779,6 +800,18 @@ def test_clear_authorizer(self):
|
|||
self.con.execute("select * from t2")
|
||||
self.con.execute("select c2 from t1")
|
||||
|
||||
def test_authorizer_keyword_args(self):
|
||||
regex = (
|
||||
r"Passing keyword argument 'authorizer_callback' to "
|
||||
r"_sqlite3.Connection.set_authorizer\(\) is deprecated. "
|
||||
r"Parameter 'authorizer_callback' will become positional-only in "
|
||||
r"Python 3.15."
|
||||
)
|
||||
|
||||
with self.assertWarnsRegex(DeprecationWarning, regex) as cm:
|
||||
self.con.set_authorizer(authorizer_callback=lambda: None)
|
||||
self.assertEqual(cm.filename, __file__)
|
||||
|
||||
|
||||
class AuthorizerRaiseExceptionTests(AuthorizerTests):
|
||||
@staticmethod
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue