@@ -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