@@ -94,7 +94,7 @@ def test_create_table_like(make_mocked_engine_adapter: t.Callable):
9494
9595def test_merge_version_gte_15 (make_mocked_engine_adapter : t .Callable ):
9696 adapter = make_mocked_engine_adapter (PostgresEngineAdapter )
97- adapter ._connection_pool . get (). server_version = 150000
97+ adapter .server_version = ( 15 , 0 )
9898
9999 adapter .merge (
100100 target_table = "target" ,
@@ -117,7 +117,7 @@ def test_merge_version_lt_15(
117117 make_mocked_engine_adapter : t .Callable , make_temp_table_name : t .Callable , mocker : MockerFixture
118118):
119119 adapter = make_mocked_engine_adapter (PostgresEngineAdapter )
120- adapter ._connection_pool . get (). server_version = 140000
120+ adapter .server_version = ( 14 , 0 )
121121
122122 temp_table_mock = mocker .patch ("sqlmesh.core.engine_adapter.EngineAdapter._get_temp_table" )
123123 table_name = "test"
@@ -161,3 +161,19 @@ def table_columns(table_name: str) -> t.Dict[str, exp.DataType]:
161161 assert to_sql_calls (adapter ) == [
162162 'ALTER TABLE "test_table" DROP COLUMN "test_column" CASCADE' ,
163163 ]
164+
165+
166+ def test_server_version (make_mocked_engine_adapter : t .Callable , mocker : MockerFixture ):
167+ adapter = make_mocked_engine_adapter (PostgresEngineAdapter )
168+
169+ fetchone_mock = mocker .patch .object (adapter , "fetchone" )
170+ fetchone_mock .return_value = ("14.0" ,)
171+ assert adapter .server_version == (14 , 0 )
172+
173+ del adapter .server_version
174+ fetchone_mock .return_value = ("15.8" ,)
175+ assert adapter .server_version == (15 , 8 )
176+
177+ del adapter .server_version
178+ fetchone_mock .return_value = ("15.13 (Debian 15.13-1.pgdg120+1)" ,)
179+ assert adapter .server_version == (15 , 13 )
0 commit comments