Skip to content

Commit 7df237e

Browse files
committed
refactor: consolidate grants tests
1 parent 53784e0 commit 7df237e

1 file changed

Lines changed: 39 additions & 33 deletions

File tree

tests/core/test_model.py

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11804,6 +11804,45 @@ def my_macro(evaluator):
1180411804
assert model.render_query_or_raise().sql() == 'SELECT 3 AS "c"'
1180511805

1180611806

11807+
def test_grants():
11808+
expressions = d.parse("""
11809+
MODEL (
11810+
name test.table,
11811+
kind FULL,
11812+
grants (
11813+
'select' = ['user1', 123, admin_role, 'user2'],
11814+
'insert' = 'admin',
11815+
'roles/bigquery.dataViewer' = ["group:data_eng@company.com", 'user:someone@company.com'],
11816+
'update' = 'admin'
11817+
)
11818+
);
11819+
SELECT 1 as id
11820+
""")
11821+
model = load_sql_based_model(expressions)
11822+
assert model.grants == {
11823+
"select": ["user1", "123", "admin_role", "user2"],
11824+
"insert": ["admin"],
11825+
"roles/bigquery.dataViewer": ["group:data_eng@company.com", "user:someone@company.com"],
11826+
"update": ["admin"],
11827+
}
11828+
11829+
model = create_sql_model(
11830+
"db.table",
11831+
parse_one("SELECT 1 AS id"),
11832+
kind="FULL",
11833+
grants={
11834+
"select": ["user1", "user2"],
11835+
"insert": ["admin"],
11836+
"roles/bigquery.dataViewer": "user:data_eng@company.com",
11837+
},
11838+
)
11839+
assert model.grants == {
11840+
"select": ["user1", "user2"],
11841+
"insert": ["admin"],
11842+
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11843+
}
11844+
11845+
1180711846
@pytest.mark.parametrize(
1180811847
"kind",
1180911848
[
@@ -11981,21 +12020,6 @@ def test_grants_unresolved_macro_errors():
1198112020
load_sql_based_model(expressions3)
1198212021

1198312022

11984-
def test_grants_mixed_types_conversion():
11985-
expressions = d.parse("""
11986-
MODEL (
11987-
name test.mixed_types,
11988-
kind FULL,
11989-
grants (
11990-
'select' = ['user1', 123, admin_role, 'user2']
11991-
)
11992-
);
11993-
SELECT 1 as id
11994-
""")
11995-
model = load_sql_based_model(expressions)
11996-
assert model.grants == {"select": ["user1", "123", "admin_role", "user2"]}
11997-
11998-
1199912023
def test_grants_empty_values():
1200012024
model1 = create_sql_model(
1200112025
"db.table", parse_one("SELECT 1 AS id"), kind="FULL", grants={"select": []}
@@ -12006,24 +12030,6 @@ def test_grants_empty_values():
1200612030
assert model2.grants is None
1200712031

1200812032

12009-
def test_grants_backward_compatibility():
12010-
model = create_sql_model(
12011-
"db.table",
12012-
parse_one("SELECT 1 AS id"),
12013-
kind="FULL",
12014-
grants={
12015-
"select": ["user1", "user2"],
12016-
"insert": ["admin"],
12017-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
12018-
},
12019-
)
12020-
assert model.grants == {
12021-
"select": ["user1", "user2"],
12022-
"insert": ["admin"],
12023-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
12024-
}
12025-
12026-
1202712033
@pytest.mark.parametrize(
1202812034
"kind, expected",
1202912035
[

0 commit comments

Comments
 (0)