@@ -19,6 +19,50 @@ def adapter(make_mocked_engine_adapter: t.Callable) -> FabricEngineAdapter:
1919 return make_mocked_engine_adapter (FabricEngineAdapter )
2020
2121
22+ def test_get_current_catalog_uses_target_catalog_or_configured_database (
23+ make_mocked_engine_adapter : t .Callable ,
24+ ):
25+ adapter = make_mocked_engine_adapter (
26+ FabricEngineAdapter ,
27+ database = "default_catalog" ,
28+ )
29+
30+ assert adapter .get_current_catalog () == "default_catalog"
31+
32+ adapter ._target_catalog = "switched_catalog"
33+
34+ assert adapter .get_current_catalog () == "switched_catalog"
35+
36+ adapter ._connection_pool .close ()
37+
38+ assert adapter ._connection_pool .get_attribute ("target_catalog" ) is None
39+ assert adapter .get_current_catalog () == "default_catalog"
40+ adapter .cursor .execute .assert_not_called ()
41+
42+
43+ def test_get_current_catalog_returns_none_without_target_or_database (
44+ make_mocked_engine_adapter : t .Callable ,
45+ ):
46+ adapter = make_mocked_engine_adapter (FabricEngineAdapter )
47+
48+ assert adapter .get_current_catalog () is None
49+ adapter .cursor .execute .assert_not_called ()
50+
51+
52+ def test_set_current_catalog_does_not_query_database (
53+ make_mocked_engine_adapter : t .Callable ,
54+ ):
55+ adapter = make_mocked_engine_adapter (
56+ FabricEngineAdapter ,
57+ database = "default_catalog" ,
58+ )
59+
60+ adapter .set_current_catalog ("new_catalog" )
61+
62+ assert adapter .get_current_catalog () == "new_catalog"
63+ adapter .cursor .execute .assert_not_called ()
64+
65+
2266def test_columns (adapter : FabricEngineAdapter ):
2367 adapter .cursor .fetchall .return_value = [
2468 ("decimal_ps" , "decimal" , None , 5 , 4 ),
0 commit comments