Skip to content

Commit 369b18e

Browse files
authored
Call and cache get_version() in test suite setup for tests to use (#614)
1 parent 46dae11 commit 369b18e

9 files changed

+16
-38
lines changed

gel/_testbase.py

+5
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,11 @@ def setUpClass(cls):
534534
cls.adapt_call(cls.admin_client.execute(script))
535535

536536
cls.client = cls.make_test_client(database=dbname)
537+
cls.server_version = cls.adapt_call(
538+
cls.client.query_required_single('''
539+
select sys::get_version()
540+
''')
541+
)
537542

538543
if not class_set_up:
539544
script = cls.get_setup_script()

tests/test_async_query.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -1154,9 +1154,7 @@ async def test_transaction_state(self):
11541154
''', uuid.uuid4())
11551155

11561156
async def test_async_query_sql_01(self):
1157-
if await self.client.query_required_single('''
1158-
select sys::get_version().major < 6
1159-
'''):
1157+
if self.server_version.major < 6:
11601158
self.skipTest("Buggy in versions earlier than 6.0")
11611159

11621160
res = await self.client.query_sql("SELECT 1")

tests/test_codegen.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,7 @@ class TestCodegen(tb.AsyncQueryTestCase):
4444
def setUpClass(cls):
4545
super().setUpClass()
4646

47-
version = cls.loop.run_until_complete(
48-
cls.client.query_required_single('''
49-
select sys::get_version().major
50-
''')
51-
)
47+
version = cls.server_version.major
5248

5349
if version >= 6:
5450
suffix = ''

tests/test_django_basic.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@ def setUpClass(cls):
6262
def setUp(self):
6363
super().setUp()
6464

65-
if self.client.query_required_single('''
66-
select sys::get_version().major < 6
67-
'''):
65+
if self.server_version.major < 6:
6866
self.skipTest("Test needs SQL DML queries")
6967

7068
transaction.savepoint()

tests/test_sqla_basic.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ def setUpClass(cls):
5757
def setUp(self):
5858
super().setUp()
5959

60-
if self.client.query_required_single('''
61-
select sys::get_version().major < 6
62-
'''):
60+
if self.server_version.major < 6:
6361
self.skipTest("Test needs SQL DML queries")
6462

6563
self.sess.begin()

tests/test_sqla_features.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,7 @@ def setUpClass(cls):
6363
def setUp(self):
6464
super().setUp()
6565

66-
if self.client.query_required_single('''
67-
select sys::get_version().major < 6
68-
'''):
66+
if self.server_version.major < 6:
6967
self.skipTest("Test needs SQL DML queries")
7068

7169
self.sess.begin()

tests/test_sqlmodel_basic.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ def setUpClass(cls):
5757
def setUp(self):
5858
super().setUp()
5959

60-
if self.client.query_required_single('''
61-
select sys::get_version().major < 6
62-
'''):
60+
if self.server_version.major < 6:
6361
self.skipTest("Test needs SQL DML queries")
6462

6563
self.sess.begin()

tests/test_sqlmodel_features.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,7 @@ def setUpClass(cls):
6363
def setUp(self):
6464
super().setUp()
6565

66-
if self.client.query_required_single('''
67-
select sys::get_version().major < 6
68-
'''):
66+
if self.server_version.major < 6:
6967
self.skipTest("Test needs SQL DML queries")
7068

7169
self.sess.begin()

tests/test_sync_query.py

+4-15
Original file line numberDiff line numberDiff line change
@@ -896,10 +896,7 @@ def test_transaction_state(self):
896896
''', uuid.uuid4())
897897

898898
def test_sync_default_isolation_01(self):
899-
version = self.client.query_required_single('''
900-
select sys::get_version()
901-
''')
902-
if (version.major, version.minor) < (6, 0):
899+
if (self.server_version.major, self.server_version.minor) < (6, 0):
903900
self.skipTest("RepeatableRead not supported yet")
904901

905902
# Test the bug fixed in geldata/gel#8623
@@ -911,11 +908,7 @@ def test_sync_default_isolation_01(self):
911908
''')
912909

913910
def test_sync_default_isolation_02(self):
914-
version = self.client.query_required_single('''
915-
select sys::get_version()
916-
''')
917-
918-
if (version.major, version.minor) < (6, 0):
911+
if (self.server_version.major, self.server_version.minor) < (6, 0):
919912
self.skipTest("RepeatableRead not supported yet")
920913

921914
with self.client.with_transaction_options(
@@ -960,13 +953,9 @@ def test_sync_default_isolation_02(self):
960953
''')
961954

962955
def test_sync_prefer_rr_01(self):
963-
version = self.client.query_required_single('''
964-
select sys::get_version()
965-
''')
966-
967956
if (
968-
str(version.stage) != 'dev'
969-
or (version.major, version.minor) < (6, 5)
957+
str(self.server_version.stage) != 'dev'
958+
and (self.server_version.major, self.server_version.minor) < (6, 5)
970959
):
971960
self.skipTest("DML in RepeatableRead not supported yet")
972961

0 commit comments

Comments
 (0)