@@ -4036,23 +4036,24 @@ def test_sync_grants_config(ctx: TestContext) -> None:
40364036 )
40374037
40384038 table = ctx .table ("sync_grants_integration" )
4039-
4039+ insert_privilege = ctx .get_insert_privilege ()
4040+ update_privilege = ctx .get_update_privilege ()
40404041 with ctx .create_users_or_roles ("reader" , "writer" , "admin" ) as roles :
40414042 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
40424043
40434044 initial_grants = {
40444045 "SELECT" : [roles ["reader" ]],
4045- "INSERT" : [roles ["writer" ]],
4046+ insert_privilege : [roles ["writer" ]],
40464047 }
40474048 ctx .engine_adapter .sync_grants_config (table , initial_grants )
40484049
40494050 current_grants = ctx .engine_adapter ._get_current_grants_config (table )
40504051 assert set (current_grants .get ("SELECT" , [])) == {roles ["reader" ]}
4051- assert set (current_grants .get ("INSERT" , [])) == {roles ["writer" ]}
4052+ assert set (current_grants .get (insert_privilege , [])) == {roles ["writer" ]}
40524053
40534054 target_grants = {
40544055 "SELECT" : [roles ["writer" ], roles ["admin" ]],
4055- "UPDATE" : [roles ["admin" ]],
4056+ update_privilege : [roles ["admin" ]],
40564057 }
40574058 ctx .engine_adapter .sync_grants_config (table , target_grants )
40584059
@@ -4061,8 +4062,8 @@ def test_sync_grants_config(ctx: TestContext) -> None:
40614062 roles ["writer" ],
40624063 roles ["admin" ],
40634064 }
4064- assert set (synced_grants .get ("UPDATE" , [])) == {roles ["admin" ]}
4065- assert synced_grants .get ("INSERT" , []) == []
4065+ assert set (synced_grants .get (update_privilege , [])) == {roles ["admin" ]}
4066+ assert synced_grants .get (insert_privilege , []) == []
40664067
40674068
40684069def test_grants_sync_empty_config (ctx : TestContext ):
@@ -4072,19 +4073,19 @@ def test_grants_sync_empty_config(ctx: TestContext):
40724073 )
40734074
40744075 table = ctx .table ("grants_empty_test" )
4075-
4076+ insert_privilege = ctx . get_insert_privilege ()
40764077 with ctx .create_users_or_roles ("user" ) as roles :
40774078 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
40784079
40794080 initial_grants = {
40804081 "SELECT" : [roles ["user" ]],
4081- "INSERT" : [roles ["user" ]],
4082+ insert_privilege : [roles ["user" ]],
40824083 }
40834084 ctx .engine_adapter .sync_grants_config (table , initial_grants )
40844085
40854086 initial_current_grants = ctx .engine_adapter ._get_current_grants_config (table )
40864087 assert roles ["user" ] in initial_current_grants .get ("SELECT" , [])
4087- assert roles ["user" ] in initial_current_grants .get ("INSERT" , [])
4088+ assert roles ["user" ] in initial_current_grants .get (insert_privilege , [])
40884089
40894090 ctx .engine_adapter .sync_grants_config (table , {})
40904091
@@ -4098,18 +4099,12 @@ def test_grants_case_insensitive_grantees(ctx: TestContext):
40984099 f"Skipping Test since engine adapter { ctx .engine_adapter .dialect } doesn't support grants"
40994100 )
41004101
4101- with ctx .create_users_or_roles ("test_reader " , "test_writer " ) as roles :
4102+ with ctx .create_users_or_roles ("reader " , "writer " ) as roles :
41024103 table = ctx .table ("grants_quoted_test" )
41034104 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
41044105
4105- test_schema = table .db
4106- for role_credentials in roles .values ():
4107- ctx .engine_adapter .execute (
4108- f'GRANT USAGE ON SCHEMA "{ test_schema } " TO "{ role_credentials } "'
4109- )
4110-
4111- reader = roles ["test_reader" ]
4112- writer = roles ["test_writer" ]
4106+ reader = roles ["reader" ]
4107+ writer = roles ["writer" ]
41134108
41144109 grants_config = {"SELECT" : [reader , writer .upper ()]}
41154110 ctx .engine_adapter .sync_grants_config (table , grants_config )
@@ -4134,7 +4129,8 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
41344129 f"Skipping Test since engine adapter { ctx .engine_adapter .dialect } doesn't support grants"
41354130 )
41364131
4137- table = ctx .table ("grant_model" ).sql (dialect = ctx .dialect )
4132+ table = ctx .table ("grant_model" ).sql (dialect = "duckdb" )
4133+ insert_privilege = ctx .get_insert_privilege ()
41384134 with ctx .create_users_or_roles ("analyst" , "etl_user" ) as roles :
41394135 (tmp_path / "models" ).mkdir (exist_ok = True )
41404136
@@ -4183,7 +4179,7 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
41834179 kind FULL,
41844180 grants (
41854181 'select' = ['{ roles ["analyst" ]} ', '{ roles ["etl_user" ]} '],
4186- 'insert ' = ['{ roles ["etl_user" ]} ']
4182+ '{ insert_privilege } ' = ['{ roles ["etl_user" ]} ']
41874183 ),
41884184 grants_target_layer 'all'
41894185 );
@@ -4208,14 +4204,17 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
42084204 )
42094205 expected_final_grants = {
42104206 "SELECT" : [roles ["analyst" ], roles ["etl_user" ]],
4211- "INSERT" : [roles ["etl_user" ]],
4207+ insert_privilege : [roles ["etl_user" ]],
42124208 }
42134209 assert set (final_grants .get ("SELECT" , [])) == set (expected_final_grants ["SELECT" ])
4214- assert final_grants .get ("INSERT" , []) == expected_final_grants ["INSERT" ]
4210+ assert final_grants .get (insert_privilege , []) == expected_final_grants [insert_privilege ]
42154211
42164212 # Virtual layer should also have the updated grants
42174213 updated_virtual_grants = ctx .engine_adapter ._get_current_grants_config (
42184214 exp .to_table (view_name , dialect = ctx .dialect )
42194215 )
42204216 assert set (updated_virtual_grants .get ("SELECT" , [])) == set (expected_final_grants ["SELECT" ])
4221- assert updated_virtual_grants .get ("INSERT" , []) == expected_final_grants ["INSERT" ]
4217+ assert (
4218+ updated_virtual_grants .get (insert_privilege , [])
4219+ == expected_final_grants [insert_privilege ]
4220+ )
0 commit comments