@@ -3843,23 +3843,24 @@ def test_sync_grants_config(ctx: TestContext) -> None:
38433843 )
38443844
38453845 table = ctx .table ("sync_grants_integration" )
3846-
3846+ insert_privilege = ctx .get_insert_privilege ()
3847+ update_privilege = ctx .get_update_privilege ()
38473848 with ctx .create_users_or_roles ("reader" , "writer" , "admin" ) as roles :
38483849 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
38493850
38503851 initial_grants = {
38513852 "SELECT" : [roles ["reader" ]],
3852- "INSERT" : [roles ["writer" ]],
3853+ insert_privilege : [roles ["writer" ]],
38533854 }
38543855 ctx .engine_adapter .sync_grants_config (table , initial_grants )
38553856
38563857 current_grants = ctx .engine_adapter ._get_current_grants_config (table )
38573858 assert set (current_grants .get ("SELECT" , [])) == {roles ["reader" ]}
3858- assert set (current_grants .get ("INSERT" , [])) == {roles ["writer" ]}
3859+ assert set (current_grants .get (insert_privilege , [])) == {roles ["writer" ]}
38593860
38603861 target_grants = {
38613862 "SELECT" : [roles ["writer" ], roles ["admin" ]],
3862- "UPDATE" : [roles ["admin" ]],
3863+ update_privilege : [roles ["admin" ]],
38633864 }
38643865 ctx .engine_adapter .sync_grants_config (table , target_grants )
38653866
@@ -3868,8 +3869,8 @@ def test_sync_grants_config(ctx: TestContext) -> None:
38683869 roles ["writer" ],
38693870 roles ["admin" ],
38703871 }
3871- assert set (synced_grants .get ("UPDATE" , [])) == {roles ["admin" ]}
3872- assert synced_grants .get ("INSERT" , []) == []
3872+ assert set (synced_grants .get (update_privilege , [])) == {roles ["admin" ]}
3873+ assert synced_grants .get (insert_privilege , []) == []
38733874
38743875
38753876def test_grants_sync_empty_config (ctx : TestContext ):
@@ -3879,19 +3880,19 @@ def test_grants_sync_empty_config(ctx: TestContext):
38793880 )
38803881
38813882 table = ctx .table ("grants_empty_test" )
3882-
3883+ insert_privilege = ctx . get_insert_privilege ()
38833884 with ctx .create_users_or_roles ("user" ) as roles :
38843885 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
38853886
38863887 initial_grants = {
38873888 "SELECT" : [roles ["user" ]],
3888- "INSERT" : [roles ["user" ]],
3889+ insert_privilege : [roles ["user" ]],
38893890 }
38903891 ctx .engine_adapter .sync_grants_config (table , initial_grants )
38913892
38923893 initial_current_grants = ctx .engine_adapter ._get_current_grants_config (table )
38933894 assert roles ["user" ] in initial_current_grants .get ("SELECT" , [])
3894- assert roles ["user" ] in initial_current_grants .get ("INSERT" , [])
3895+ assert roles ["user" ] in initial_current_grants .get (insert_privilege , [])
38953896
38963897 ctx .engine_adapter .sync_grants_config (table , {})
38973898
@@ -3905,18 +3906,12 @@ def test_grants_case_insensitive_grantees(ctx: TestContext):
39053906 f"Skipping Test since engine adapter { ctx .engine_adapter .dialect } doesn't support grants"
39063907 )
39073908
3908- with ctx .create_users_or_roles ("test_reader " , "test_writer " ) as roles :
3909+ with ctx .create_users_or_roles ("reader " , "writer " ) as roles :
39093910 table = ctx .table ("grants_quoted_test" )
39103911 ctx .engine_adapter .create_table (table , {"id" : exp .DataType .build ("INT" )})
39113912
3912- test_schema = table .db
3913- for role_credentials in roles .values ():
3914- ctx .engine_adapter .execute (
3915- f'GRANT USAGE ON SCHEMA "{ test_schema } " TO "{ role_credentials } "'
3916- )
3917-
3918- reader = roles ["test_reader" ]
3919- writer = roles ["test_writer" ]
3913+ reader = roles ["reader" ]
3914+ writer = roles ["writer" ]
39203915
39213916 grants_config = {"SELECT" : [reader , writer .upper ()]}
39223917 ctx .engine_adapter .sync_grants_config (table , grants_config )
@@ -3941,7 +3936,8 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
39413936 f"Skipping Test since engine adapter { ctx .engine_adapter .dialect } doesn't support grants"
39423937 )
39433938
3944- table = ctx .table ("grant_model" ).sql (dialect = ctx .dialect )
3939+ table = ctx .table ("grant_model" ).sql (dialect = "duckdb" )
3940+ insert_privilege = ctx .get_insert_privilege ()
39453941 with ctx .create_users_or_roles ("analyst" , "etl_user" ) as roles :
39463942 (tmp_path / "models" ).mkdir (exist_ok = True )
39473943
@@ -3990,7 +3986,7 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
39903986 kind FULL,
39913987 grants (
39923988 'select' = ['{ roles ["analyst" ]} ', '{ roles ["etl_user" ]} '],
3993- 'insert ' = ['{ roles ["etl_user" ]} ']
3989+ '{ insert_privilege } ' = ['{ roles ["etl_user" ]} ']
39943990 ),
39953991 grants_target_layer 'all'
39963992 );
@@ -4015,14 +4011,17 @@ def test_grants_plan(ctx: TestContext, tmp_path: Path):
40154011 )
40164012 expected_final_grants = {
40174013 "SELECT" : [roles ["analyst" ], roles ["etl_user" ]],
4018- "INSERT" : [roles ["etl_user" ]],
4014+ insert_privilege : [roles ["etl_user" ]],
40194015 }
40204016 assert set (final_grants .get ("SELECT" , [])) == set (expected_final_grants ["SELECT" ])
4021- assert final_grants .get ("INSERT" , []) == expected_final_grants ["INSERT" ]
4017+ assert final_grants .get (insert_privilege , []) == expected_final_grants [insert_privilege ]
40224018
40234019 # Virtual layer should also have the updated grants
40244020 updated_virtual_grants = ctx .engine_adapter ._get_current_grants_config (
40254021 exp .to_table (view_name , dialect = ctx .dialect )
40264022 )
40274023 assert set (updated_virtual_grants .get ("SELECT" , [])) == set (expected_final_grants ["SELECT" ])
4028- assert updated_virtual_grants .get ("INSERT" , []) == expected_final_grants ["INSERT" ]
4024+ assert (
4025+ updated_virtual_grants .get (insert_privilege , [])
4026+ == expected_final_grants [insert_privilege ]
4027+ )
0 commit comments