Skip to content

Commit 68cf4fb

Browse files
committed
refactor: consolidate grants tests
1 parent 773c71f commit 68cf4fb

File tree

1 file changed

+39
-33
lines changed

1 file changed

+39
-33
lines changed

tests/core/test_model.py

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11628,6 +11628,45 @@ def test_use_original_sql():
1162811628
assert model.post_statements_[0].sql == "CREATE TABLE post (b INT)"
1162911629

1163011630

11631+
def test_grants():
11632+
expressions = d.parse("""
11633+
MODEL (
11634+
name test.table,
11635+
kind FULL,
11636+
grants (
11637+
'select' = ['user1', 123, admin_role, 'user2'],
11638+
'insert' = 'admin',
11639+
'roles/bigquery.dataViewer' = ["group:data_eng@company.com", 'user:someone@company.com'],
11640+
'update' = 'admin'
11641+
)
11642+
);
11643+
SELECT 1 as id
11644+
""")
11645+
model = load_sql_based_model(expressions)
11646+
assert model.grants == {
11647+
"select": ["user1", "123", "admin_role", "user2"],
11648+
"insert": ["admin"],
11649+
"roles/bigquery.dataViewer": ["group:data_eng@company.com", "user:someone@company.com"],
11650+
"update": ["admin"],
11651+
}
11652+
11653+
model = create_sql_model(
11654+
"db.table",
11655+
parse_one("SELECT 1 AS id"),
11656+
kind="FULL",
11657+
grants={
11658+
"select": ["user1", "user2"],
11659+
"insert": ["admin"],
11660+
"roles/bigquery.dataViewer": "user:data_eng@company.com",
11661+
},
11662+
)
11663+
assert model.grants == {
11664+
"select": ["user1", "user2"],
11665+
"insert": ["admin"],
11666+
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11667+
}
11668+
11669+
1163111670
@pytest.mark.parametrize(
1163211671
"kind",
1163311672
[
@@ -11805,21 +11844,6 @@ def test_grants_unresolved_macro_errors():
1180511844
load_sql_based_model(expressions3)
1180611845

1180711846

11808-
def test_grants_mixed_types_conversion():
11809-
expressions = d.parse("""
11810-
MODEL (
11811-
name test.mixed_types,
11812-
kind FULL,
11813-
grants (
11814-
'select' = ['user1', 123, admin_role, 'user2']
11815-
)
11816-
);
11817-
SELECT 1 as id
11818-
""")
11819-
model = load_sql_based_model(expressions)
11820-
assert model.grants == {"select": ["user1", "123", "admin_role", "user2"]}
11821-
11822-
1182311847
def test_grants_empty_values():
1182411848
model1 = create_sql_model(
1182511849
"db.table", parse_one("SELECT 1 AS id"), kind="FULL", grants={"select": []}
@@ -11830,24 +11854,6 @@ def test_grants_empty_values():
1183011854
assert model2.grants is None
1183111855

1183211856

11833-
def test_grants_backward_compatibility():
11834-
model = create_sql_model(
11835-
"db.table",
11836-
parse_one("SELECT 1 AS id"),
11837-
kind="FULL",
11838-
grants={
11839-
"select": ["user1", "user2"],
11840-
"insert": ["admin"],
11841-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11842-
},
11843-
)
11844-
assert model.grants == {
11845-
"select": ["user1", "user2"],
11846-
"insert": ["admin"],
11847-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11848-
}
11849-
11850-
1185111857
@pytest.mark.parametrize(
1185211858
"kind, expected",
1185311859
[

0 commit comments

Comments
 (0)