summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-04-15 14:58:04 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-04-15 14:58:04 +0000
commit07b9788690e45ea3a25cece6220cd255a16cadaf (patch)
tree974fd5d639570977d310b8f507dbb5d7e89ba1eb /test/sql
parentdd414e7eaba595a333e593865196de1fd91fe6db (diff)
parentc932123bacad9bf047d160b85e3f95d396c513ae (diff)
downloadsqlalchemy-07b9788690e45ea3a25cece6220cd255a16cadaf.tar.gz
Merge "pep484: schema API" into main
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_constraints.py2
-rw-r--r--test/sql/test_defaults.py39
-rw-r--r--test/sql/test_returning.py2
-rw-r--r--test/sql/test_sequences.py20
4 files changed, 54 insertions, 9 deletions
diff --git a/test/sql/test_constraints.py b/test/sql/test_constraints.py
index 2661e6c8f..c417255af 100644
--- a/test/sql/test_constraints.py
+++ b/test/sql/test_constraints.py
@@ -863,6 +863,8 @@ class ConstraintCompilationTest(fixtures.TestBase, AssertsCompiledSQL):
x.append_constraint(idx)
self.assert_compile(schema.CreateIndex(idx), ddl)
+ x.to_metadata(MetaData())
+
def test_index_against_text_separate(self):
metadata = MetaData()
idx = Index("y", text("some_function(q)"))
diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py
index 52c779969..3742aa174 100644
--- a/test/sql/test_defaults.py
+++ b/test/sql/test_defaults.py
@@ -23,6 +23,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import expect_warnings
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import mock
+from sqlalchemy.testing.assertions import expect_deprecated
from sqlalchemy.testing.schema import Column
from sqlalchemy.testing.schema import Table
from sqlalchemy.types import TypeDecorator
@@ -503,15 +504,45 @@ class DefaultRoundTripTest(fixtures.TablesTest):
def teardown_test(self):
self.default_generator["x"] = 50
- def test_standalone(self, connection):
+ def test_standalone_via_exec_removed(self, connection):
t = self.tables.default_test
- x = connection.execute(t.c.col1.default)
- y = connection.execute(t.c.col2.default)
- z = connection.execute(t.c.col3.default)
+
+ with expect_deprecated(
+ r"Using the .execute\(\) method to invoke a "
+ r"DefaultGenerator object is deprecated; please use "
+ r"the .scalar\(\) method."
+ ):
+ x = connection.execute(t.c.col1.default)
+ with expect_deprecated(
+ r"Using the .execute\(\) method to invoke a "
+ r"DefaultGenerator object is deprecated; please use "
+ r"the .scalar\(\) method."
+ ):
+ y = connection.execute(t.c.col2.default)
+ with expect_deprecated(
+ r"Using the .execute\(\) method to invoke a "
+ r"DefaultGenerator object is deprecated; please use "
+ r"the .scalar\(\) method."
+ ):
+ z = connection.execute(t.c.col3.default)
+
+ def test_standalone_default_scalar(self, connection):
+ t = self.tables.default_test
+ x = connection.scalar(t.c.col1.default)
+ y = connection.scalar(t.c.col2.default)
+ z = connection.scalar(t.c.col3.default)
assert 50 <= x <= 57
eq_(y, "imthedefault")
eq_(z, self.f)
+ def test_standalone_function_execute(self, connection):
+ ctexec = connection.execute(self.currenttime)
+ assert isinstance(ctexec.scalar(), datetime.date)
+
+ def test_standalone_function_scalar(self, connection):
+ ctexec = connection.scalar(self.currenttime)
+ assert isinstance(ctexec, datetime.date)
+
def test_insert(self, connection):
t = self.tables.default_test
diff --git a/test/sql/test_returning.py b/test/sql/test_returning.py
index ffbab3223..bacdbaf3f 100644
--- a/test/sql/test_returning.py
+++ b/test/sql/test_returning.py
@@ -543,7 +543,7 @@ class SequenceReturningTest(fixtures.TablesTest):
)
eq_(r.first(), tuple([testing.db.dialect.default_sequence_base]))
eq_(
- connection.execute(self.sequences.tid_seq),
+ connection.scalar(self.sequences.tid_seq),
testing.db.dialect.default_sequence_base + 1,
)
diff --git a/test/sql/test_sequences.py b/test/sql/test_sequences.py
index d11961862..be74153ce 100644
--- a/test/sql/test_sequences.py
+++ b/test/sql/test_sequences.py
@@ -14,6 +14,7 @@ from sqlalchemy.testing import eq_
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_false
from sqlalchemy.testing import is_true
+from sqlalchemy.testing.assertions import expect_deprecated
from sqlalchemy.testing.assertsql import AllOf
from sqlalchemy.testing.assertsql import CompiledSQL
from sqlalchemy.testing.assertsql import EachOf
@@ -117,14 +118,25 @@ class SequenceExecTest(fixtures.TestBase):
def test_execute(self, connection):
s = Sequence("my_sequence")
- self._assert_seq_result(connection.execute(s))
+ self._assert_seq_result(connection.scalar(s))
- def test_execute_optional(self, connection):
+ def test_execute_deprecated(self, connection):
+
+ s = Sequence("my_sequence", optional=True)
+
+ with expect_deprecated(
+ r"Using the .execute\(\) method to invoke a "
+ r"DefaultGenerator object is deprecated; please use "
+ r"the .scalar\(\) method."
+ ):
+ self._assert_seq_result(connection.execute(s))
+
+ def test_scalar_optional(self, connection):
"""test dialect executes a Sequence, returns nextval, whether
or not "optional" is set"""
s = Sequence("my_sequence", optional=True)
- self._assert_seq_result(connection.execute(s))
+ self._assert_seq_result(connection.scalar(s))
def test_execute_next_value(self, connection):
"""test func.next_value().execute()/.scalar() works
@@ -341,7 +353,7 @@ class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
seq.create(testing.db)
try:
with testing.db.connect() as conn:
- values = [conn.execute(seq) for i in range(3)]
+ values = [conn.scalar(seq) for i in range(3)]
start = seq.start or testing.db.dialect.default_sequence_base
inc = seq.increment or 1
eq_(values, list(range(start, start + inc * 3, inc)))