@@ -3999,23 +3999,24 @@ def test_sync_grants_config(ctx: TestContext) -> None:
39993999 )
40004000
40014001 table = ctx .table ("sync_grants_integration" )
4002-
4002+ insert_privilege = ctx .get_insert_privilege ()
4003+ update_privilege = ctx .get_update_privilege ()
40034004 with ctx .create_users_or_roles ("reader" , "writer" , "admin" ) as roles :
40044005 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
40054006
40064007 initial_grants = {
40074008 "SELECT" : [roles ["reader" ]],
4008- "INSERT" : [roles ["writer" ]],
4009+ insert_privilege : [roles ["writer" ]],
40094010 }
40104011 ctx .engine_adapter .sync_grants_config (table , initial_grants )
40114012
40124013 current_grants = ctx .engine_adapter ._get_current_grants_config (table )
40134014 assert set (current_grants .get ("SELECT" , [])) == {roles ["reader" ]}
4014- assert set (current_grants .get ("INSERT" , [])) == {roles ["writer" ]}
4015+ assert set (current_grants .get (insert_privilege , [])) == {roles ["writer" ]}
40154016
40164017 target_grants = {
40174018 "SELECT" : [roles ["writer" ], roles ["admin" ]],
4018- "UPDATE" : [roles ["admin" ]],
4019+ update_privilege : [roles ["admin" ]],
40194020 }
40204021 ctx .engine_adapter .sync_grants_config (table , target_grants )
40214022
@@ -4024,8 +4025,8 @@ def test_sync_grants_config(ctx: TestContext) -> None:
40244025 roles ["writer" ],
40254026 roles ["admin" ],
40264027 }
4027- assert set (synced_grants .get ("UPDATE" , [])) == {roles ["admin" ]}
4028- assert synced_grants .get ("INSERT" , []) == []
4028+ assert set (synced_grants .get (update_privilege , [])) == {roles ["admin" ]}
4029+ assert synced_grants .get (insert_privilege , []) == []
40294030
40304031
40314032def test_grants_sync_empty_config (ctx : TestContext ):
@@ -4035,19 +4036,19 @@ def test_grants_sync_empty_config(ctx: TestContext):
40354036 )
40364037
40374038 table = ctx .table ("grants_empty_test" )
4038-
4039+ insert_privilege = ctx . get_insert_privilege ()
40394040 with ctx .create_users_or_roles ("user" ) as roles :
40404041 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
40414042
40424043 initial_grants = {
40434044 "SELECT" : [roles ["user" ]],
4044- "INSERT" : [roles ["user" ]],
4045+ insert_privilege : [roles ["user" ]],
40454046 }
40464047 ctx .engine_adapter .sync_grants_config (table , initial_grants )
40474048
40484049 initial_current_grants = ctx .engine_adapter ._get_current_grants_config (table )
40494050 assert roles ["user" ] in initial_current_grants .get ("SELECT" , [])
4050- assert roles ["user" ] in initial_current_grants .get ("INSERT" , [])
4051+ assert roles ["user" ] in initial_current_grants .get (insert_privilege , [])
40514052
40524053 ctx .engine_adapter .sync_grants_config (table , {})
40534054
@@ -4061,18 +4062,12 @@ def test_grants_case_insensitive_grantees(ctx: TestContext):
40614062 f"Skipping Test since engine adapter { ctx .engine_adapter .dialect } doesn't support grants"
40624063 )
40634064
4064- with ctx .create_users_or_roles ("test_reader " , "test_writer " ) as roles :
4065+ with ctx .create_users_or_roles ("reader " , "writer " ) as roles :
40654066 table = ctx .table ("grants_quoted_test" )
40664067 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
40674068
4068- test_schema = table .db
4069- for role_credentials in roles .values ():
4070- ctx .engine_adapter .execute (
4071- f'GRANT USAGE ON SCHEMA "{ test_schema } " TO "{ role_credentials } "'
4072- )
4073-
4074- reader = roles ["test_reader" ]
4075- writer = roles ["test_writer" ]
4069+ reader = roles ["reader" ]
4070+ writer = roles ["writer" ]
40764071
40774072 grants_config = {"SELECT" : [reader , writer .upper ()]}
40784073 ctx .engine_adapter .sync_grants_config (table , grants_config )
@@ -4097,7 +4092,8 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
40974092 f"Skipping Test since engine adapter { ctx .engine_adapter .dialect } doesn't support grants"
40984093 )
40994094
4100- table = ctx .table ("grant_model" ).sql (dialect = ctx .dialect )
4095+ table = ctx .table ("grant_model" ).sql (dialect = "duckdb" )
4096+ insert_privilege = ctx .get_insert_privilege ()
41014097 with ctx .create_users_or_roles ("analyst" , "etl_user" ) as roles :
41024098 (tmp_path / "models" ).mkdir (exist_ok = True )
41034099
@@ -4146,7 +4142,7 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
41464142 kind FULL,
41474143 grants (
41484144 'select' = ['{ roles ["analyst" ]} ', '{ roles ["etl_user" ]} '],
4149- 'insert ' = ['{ roles ["etl_user" ]} ']
4145+ '{ insert_privilege } ' = ['{ roles ["etl_user" ]} ']
41504146 ),
41514147 grants_target_layer 'all'
41524148 );
@@ -4171,14 +4167,17 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
41714167 )
41724168 expected_final_grants = {
41734169 "SELECT" : [roles ["analyst" ], roles ["etl_user" ]],
4174- "INSERT" : [roles ["etl_user" ]],
4170+ insert_privilege : [roles ["etl_user" ]],
41754171 }
41764172 assert set (final_grants .get ("SELECT" , [])) == set (expected_final_grants ["SELECT" ])
4177- assert final_grants .get ("INSERT" , []) == expected_final_grants ["INSERT" ]
4173+ assert final_grants .get (insert_privilege , []) == expected_final_grants [insert_privilege ]
41784174
41794175 # Virtual layer should also have the updated grants
41804176 updated_virtual_grants = ctx .engine_adapter ._get_current_grants_config (
41814177 exp .to_table (view_name , dialect = ctx .dialect )
41824178 )
41834179 assert set (updated_virtual_grants .get ("SELECT" , [])) == set (expected_final_grants ["SELECT" ])
4184- assert updated_virtual_grants .get ("INSERT" , []) == expected_final_grants ["INSERT" ]
4180+ assert (
4181+ updated_virtual_grants .get (insert_privilege , [])
4182+ == expected_final_grants [insert_privilege ]
4183+ )
0 commit comments