@@ -105,10 +105,10 @@ def test_sync_grants_config(make_mocked_engine_adapter: t.Callable, mocker: Mock
105105
106106 sql_calls = to_sql_calls (adapter )
107107 assert len (sql_calls ) == 4
108- assert 'REVOKE SELECT ON TABLE "test_schema"."test_table" FROM "old_user"' in sql_calls
109- assert 'REVOKE UPDATE ON TABLE "test_schema"."test_table" FROM "legacy_user"' in sql_calls
110- assert 'GRANT SELECT ON TABLE "test_schema"."test_table" TO "user1", "user2"' in sql_calls
111- assert 'GRANT INSERT ON TABLE "test_schema"."test_table" TO "user3"' in sql_calls
108+ assert 'REVOKE SELECT ON "test_schema"."test_table" FROM "old_user"' in sql_calls
109+ assert 'REVOKE UPDATE ON "test_schema"."test_table" FROM "legacy_user"' in sql_calls
110+ assert 'GRANT SELECT ON "test_schema"."test_table" TO "user1", "user2"' in sql_calls
111+ assert 'GRANT INSERT ON "test_schema"."test_table" TO "user3"' in sql_calls
112112
113113
114114def test_sync_grants_config_with_overlaps (
@@ -142,24 +142,23 @@ def test_sync_grants_config_with_overlaps(
142142
143143 sql_calls = to_sql_calls (adapter )
144144 assert len (sql_calls ) == 3
145- assert 'REVOKE SELECT ON TABLE "test_schema"."test_table" FROM "user_legacy"' in sql_calls
146- assert 'GRANT SELECT ON TABLE "test_schema"."test_table" TO "user_new"' in sql_calls
147- assert 'GRANT INSERT ON TABLE "test_schema"."test_table" TO "user_writer"' in sql_calls
145+ assert 'REVOKE SELECT ON "test_schema"."test_table" FROM "user_legacy"' in sql_calls
146+ assert 'GRANT SELECT ON "test_schema"."test_table" TO "user_new"' in sql_calls
147+ assert 'GRANT INSERT ON "test_schema"."test_table" TO "user_writer"' in sql_calls
148148
149149
150150@pytest .mark .parametrize (
151- "table_type, expected_keyword " ,
151+ "table_type" ,
152152 [
153- (DataObjectType .TABLE , "TABLE" ),
154- (DataObjectType .VIEW , "TABLE" ),
155- (DataObjectType .MATERIALIZED_VIEW , "MATERIALIZED VIEW" ),
153+ (DataObjectType .TABLE ),
154+ (DataObjectType .VIEW ),
155+ (DataObjectType .MATERIALIZED_VIEW ),
156156 ],
157157)
158158def test_sync_grants_config_object_kind (
159159 make_mocked_engine_adapter : t .Callable ,
160160 mocker : MockerFixture ,
161161 table_type : DataObjectType ,
162- expected_keyword : str ,
163162) -> None :
164163 adapter = make_mocked_engine_adapter (RedshiftEngineAdapter )
165164 relation = exp .to_table ("test_schema.test_object" , dialect = "redshift" )
@@ -169,9 +168,8 @@ def test_sync_grants_config_object_kind(
169168 adapter .sync_grants_config (relation , {"SELECT" : ["user_test" ]}, table_type )
170169
171170 sql_calls = to_sql_calls (adapter )
172- assert sql_calls == [
173- f'GRANT SELECT ON { expected_keyword } "test_schema"."test_object" TO "user_test"'
174- ]
171+ # we don't need to explicitly specify object_type for tables and views
172+ assert sql_calls == [f'GRANT SELECT ON "test_schema"."test_object" TO "user_test"' ]
175173
176174
177175def test_sync_grants_config_quotes (make_mocked_engine_adapter : t .Callable , mocker : MockerFixture ):
@@ -196,10 +194,10 @@ def test_sync_grants_config_quotes(make_mocked_engine_adapter: t.Callable, mocke
196194
197195 sql_calls = to_sql_calls (adapter )
198196 assert len (sql_calls ) == 4
199- assert 'REVOKE SELECT ON TABLE "TestSchema"."TestTable" FROM "user_old"' in sql_calls
200- assert 'REVOKE UPDATE ON TABLE "TestSchema"."TestTable" FROM "user_legacy"' in sql_calls
201- assert 'GRANT SELECT ON TABLE "TestSchema"."TestTable" TO "user1", "user2"' in sql_calls
202- assert 'GRANT INSERT ON TABLE "TestSchema"."TestTable" TO "user3"' in sql_calls
197+ assert 'REVOKE SELECT ON "TestSchema"."TestTable" FROM "user_old"' in sql_calls
198+ assert 'REVOKE UPDATE ON "TestSchema"."TestTable" FROM "user_legacy"' in sql_calls
199+ assert 'GRANT SELECT ON "TestSchema"."TestTable" TO "user1", "user2"' in sql_calls
200+ assert 'GRANT INSERT ON "TestSchema"."TestTable" TO "user3"' in sql_calls
203201
204202
205203def test_sync_grants_config_no_schema (
@@ -228,9 +226,9 @@ def test_sync_grants_config_no_schema(
228226
229227 sql_calls = to_sql_calls (adapter )
230228 assert len (sql_calls ) == 3
231- assert 'REVOKE UPDATE ON TABLE "test_table" FROM "user_old"' in sql_calls
232- assert 'GRANT SELECT ON TABLE "test_table" TO "user1"' in sql_calls
233- assert 'GRANT INSERT ON TABLE "test_table" TO "user2"' in sql_calls
229+ assert 'REVOKE UPDATE ON "test_table" FROM "user_old"' in sql_calls
230+ assert 'GRANT SELECT ON "test_table" TO "user1"' in sql_calls
231+ assert 'GRANT INSERT ON "test_table" TO "user2"' in sql_calls
234232
235233
236234def test_create_table_from_query_exists_no_if_not_exists (
0 commit comments