summaryrefslogtreecommitdiff
path: root/test/dialect/mysql/test_query.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2019-01-06 01:14:26 -0500
committermike bayer <mike_mp@zzzcomputing.com>2019-01-06 17:34:50 +0000
commit1e1a38e7801f410f244e4bbb44ec795ae152e04e (patch)
tree28e725c5c8188bd0cfd133d1e268dbca9b524978 /test/dialect/mysql/test_query.py
parent404e69426b05a82d905cbb3ad33adafccddb00dd (diff)
downloadsqlalchemy-1e1a38e7801f410f244e4bbb44ec795ae152e04e.tar.gz
Run black -l 79 against all source files
This is a straight reformat run using black as is, with no edits applied at all. The black run will format code consistently, however in some cases that are prevalent in SQLAlchemy code it produces too-long lines. The too-long lines will be resolved in the following commit that will resolve all remaining flake8 issues including shadowed builtins, long lines, import order, unused imports, duplicate imports, and docstring issues. Change-Id: I7eda77fed3d8e73df84b3651fd6cfcfe858d4dc9
Diffstat (limited to 'test/dialect/mysql/test_query.py')
-rw-r--r--test/dialect/mysql/test_query.py262
1 files changed, 150 insertions, 112 deletions
diff --git a/test/dialect/mysql/test_query.py b/test/dialect/mysql/test_query.py
index 04f3ca67d..ecd79257f 100644
--- a/test/dialect/mysql/test_query.py
+++ b/test/dialect/mysql/test_query.py
@@ -7,29 +7,29 @@ from sqlalchemy import testing
class IdiosyncrasyTest(fixtures.TestBase):
- __only_on__ = 'mysql'
+ __only_on__ = "mysql"
__backend__ = True
@testing.emits_warning()
def test_is_boolean_symbols_despite_no_native(self):
is_(
testing.db.scalar(select([cast(true().is_(true()), Boolean)])),
- True
+ True,
)
is_(
testing.db.scalar(select([cast(true().isnot(true()), Boolean)])),
- False
+ False,
)
is_(
testing.db.scalar(select([cast(false().is_(false()), Boolean)])),
- True
+ True,
)
class MatchTest(fixtures.TestBase):
- __only_on__ = 'mysql'
+ __only_on__ = "mysql"
__backend__ = True
@classmethod
@@ -37,138 +37,182 @@ class MatchTest(fixtures.TestBase):
global metadata, cattable, matchtable
metadata = MetaData(testing.db)
- cattable = Table('cattable', metadata,
- Column('id', Integer, primary_key=True),
- Column('description', String(50)),
- mysql_engine='MyISAM')
- matchtable = Table('matchtable', metadata,
- Column('id', Integer, primary_key=True),
- Column('title', String(200)),
- Column('category_id',
- Integer,
- ForeignKey('cattable.id')),
- mysql_engine='MyISAM')
+ cattable = Table(
+ "cattable",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column("description", String(50)),
+ mysql_engine="MyISAM",
+ )
+ matchtable = Table(
+ "matchtable",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column("title", String(200)),
+ Column("category_id", Integer, ForeignKey("cattable.id")),
+ mysql_engine="MyISAM",
+ )
metadata.create_all()
- cattable.insert().execute([
- {'id': 1, 'description': 'Python'},
- {'id': 2, 'description': 'Ruby'},
- ])
- matchtable.insert().execute([
- {'id': 1,
- 'title': 'Agile Web Development with Ruby On Rails',
- 'category_id': 2},
- {'id': 2,
- 'title': 'Dive Into Python',
- 'category_id': 1},
- {'id': 3,
- 'title': "Programming Matz's Ruby",
- 'category_id': 2},
- {'id': 4,
- 'title': 'The Definitive Guide to Django',
- 'category_id': 1},
- {'id': 5,
- 'title': 'Python in a Nutshell',
- 'category_id': 1}
- ])
+ cattable.insert().execute(
+ [
+ {"id": 1, "description": "Python"},
+ {"id": 2, "description": "Ruby"},
+ ]
+ )
+ matchtable.insert().execute(
+ [
+ {
+ "id": 1,
+ "title": "Agile Web Development with Ruby On Rails",
+ "category_id": 2,
+ },
+ {"id": 2, "title": "Dive Into Python", "category_id": 1},
+ {
+ "id": 3,
+ "title": "Programming Matz's Ruby",
+ "category_id": 2,
+ },
+ {
+ "id": 4,
+ "title": "The Definitive Guide to Django",
+ "category_id": 1,
+ },
+ {"id": 5, "title": "Python in a Nutshell", "category_id": 1},
+ ]
+ )
@classmethod
def teardown_class(cls):
metadata.drop_all()
def test_simple_match(self):
- results = (matchtable.select().
- where(matchtable.c.title.match('python')).
- order_by(matchtable.c.id).
- execute().
- fetchall())
+ results = (
+ matchtable.select()
+ .where(matchtable.c.title.match("python"))
+ .order_by(matchtable.c.id)
+ .execute()
+ .fetchall()
+ )
eq_([2, 5], [r.id for r in results])
def test_not_match(self):
- results = (matchtable.select().
- where(~matchtable.c.title.match('python')).
- order_by(matchtable.c.id).
- execute().
- fetchall())
+ results = (
+ matchtable.select()
+ .where(~matchtable.c.title.match("python"))
+ .order_by(matchtable.c.id)
+ .execute()
+ .fetchall()
+ )
eq_([1, 3, 4], [r.id for r in results])
def test_simple_match_with_apostrophe(self):
- results = (matchtable.select().
- where(matchtable.c.title.match("Matz's")).
- execute().
- fetchall())
+ results = (
+ matchtable.select()
+ .where(matchtable.c.title.match("Matz's"))
+ .execute()
+ .fetchall()
+ )
eq_([3], [r.id for r in results])
def test_return_value(self):
# test [ticket:3263]
result = testing.db.execute(
- select([
- matchtable.c.title.match('Agile Ruby Programming')
- .label('ruby'),
- matchtable.c.title.match('Dive Python').label('python'),
- matchtable.c.title
- ]).order_by(matchtable.c.id)
+ select(
+ [
+ matchtable.c.title.match("Agile Ruby Programming").label(
+ "ruby"
+ ),
+ matchtable.c.title.match("Dive Python").label("python"),
+ matchtable.c.title,
+ ]
+ ).order_by(matchtable.c.id)
).fetchall()
eq_(
result,
[
- (2.0, 0.0, 'Agile Web Development with Ruby On Rails'),
- (0.0, 2.0, 'Dive Into Python'),
+ (2.0, 0.0, "Agile Web Development with Ruby On Rails"),
+ (0.0, 2.0, "Dive Into Python"),
(2.0, 0.0, "Programming Matz's Ruby"),
- (0.0, 0.0, 'The Definitive Guide to Django'),
- (0.0, 1.0, 'Python in a Nutshell')
- ]
+ (0.0, 0.0, "The Definitive Guide to Django"),
+ (0.0, 1.0, "Python in a Nutshell"),
+ ],
)
def test_or_match(self):
- results1 = (matchtable.select().
- where(or_(matchtable.c.title.match('nutshell'),
- matchtable.c.title.match('ruby'))).
- order_by(matchtable.c.id).
- execute().
- fetchall())
+ results1 = (
+ matchtable.select()
+ .where(
+ or_(
+ matchtable.c.title.match("nutshell"),
+ matchtable.c.title.match("ruby"),
+ )
+ )
+ .order_by(matchtable.c.id)
+ .execute()
+ .fetchall()
+ )
eq_([1, 3, 5], [r.id for r in results1])
- results2 = (matchtable.select().
- where(matchtable.c.title.match('nutshell ruby')).
- order_by(matchtable.c.id).
- execute().
- fetchall())
+ results2 = (
+ matchtable.select()
+ .where(matchtable.c.title.match("nutshell ruby"))
+ .order_by(matchtable.c.id)
+ .execute()
+ .fetchall()
+ )
eq_([1, 3, 5], [r.id for r in results2])
def test_and_match(self):
- results1 = (matchtable.select().
- where(and_(matchtable.c.title.match('python'),
- matchtable.c.title.match('nutshell'))).
- execute().
- fetchall())
+ results1 = (
+ matchtable.select()
+ .where(
+ and_(
+ matchtable.c.title.match("python"),
+ matchtable.c.title.match("nutshell"),
+ )
+ )
+ .execute()
+ .fetchall()
+ )
eq_([5], [r.id for r in results1])
- results2 = (matchtable.select().
- where(matchtable.c.title.match('+python +nutshell')).
- execute().
- fetchall())
+ results2 = (
+ matchtable.select()
+ .where(matchtable.c.title.match("+python +nutshell"))
+ .execute()
+ .fetchall()
+ )
eq_([5], [r.id for r in results2])
def test_match_across_joins(self):
- results = (matchtable.select().
- where(and_(cattable.c.id == matchtable.c.category_id,
- or_(cattable.c.description.match('Ruby'),
- matchtable.c.title.match('nutshell')))).
- order_by(matchtable.c.id).
- execute().
- fetchall())
+ results = (
+ matchtable.select()
+ .where(
+ and_(
+ cattable.c.id == matchtable.c.category_id,
+ or_(
+ cattable.c.description.match("Ruby"),
+ matchtable.c.title.match("nutshell"),
+ ),
+ )
+ )
+ .order_by(matchtable.c.id)
+ .execute()
+ .fetchall()
+ )
eq_([1, 3, 5], [r.id for r in results])
class AnyAllTest(fixtures.TablesTest):
- __only_on__ = 'mysql'
+ __only_on__ = "mysql"
__backend__ = True
@classmethod
def define_tables(cls, metadata):
Table(
- 'stuff', metadata,
- Column('id', Integer, primary_key=True),
- Column('value', Integer)
+ "stuff",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column("value", Integer),
)
@classmethod
@@ -177,38 +221,32 @@ class AnyAllTest(fixtures.TablesTest):
testing.db.execute(
stuff.insert(),
[
- {'id': 1, 'value': 1},
- {'id': 2, 'value': 2},
- {'id': 3, 'value': 3},
- {'id': 4, 'value': 4},
- {'id': 5, 'value': 5},
- ]
+ {"id": 1, "value": 1},
+ {"id": 2, "value": 2},
+ {"id": 3, "value": 3},
+ {"id": 4, "value": 4},
+ {"id": 5, "value": 5},
+ ],
)
def test_any_w_comparator(self):
stuff = self.tables.stuff
stmt = select([stuff.c.id]).where(
- stuff.c.value > any_(select([stuff.c.value])))
-
- eq_(
- testing.db.execute(stmt).fetchall(),
- [(2,), (3,), (4,), (5,)]
+ stuff.c.value > any_(select([stuff.c.value]))
)
+ eq_(testing.db.execute(stmt).fetchall(), [(2,), (3,), (4,), (5,)])
+
def test_all_w_comparator(self):
stuff = self.tables.stuff
stmt = select([stuff.c.id]).where(
- stuff.c.value >= all_(select([stuff.c.value])))
-
- eq_(
- testing.db.execute(stmt).fetchall(),
- [(5,)]
+ stuff.c.value >= all_(select([stuff.c.value]))
)
+ eq_(testing.db.execute(stmt).fetchall(), [(5,)])
+
def test_any_literal(self):
stuff = self.tables.stuff
stmt = select([4 == any_(select([stuff.c.value]))])
- is_(
- testing.db.execute(stmt).scalar(), True
- )
+ is_(testing.db.execute(stmt).scalar(), True)