Skip to content

Commit 0f1f0c0

Browse files
committed
refactor: consolidate grants tests
1 parent 1a08006 commit 0f1f0c0

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
@@ -11774,6 +11774,45 @@ def my_macro(evaluator):
1177411774
assert model.render_query_or_raise().sql() == 'SELECT 3 AS "c"'
1177511775

1177611776

11777+
def test_grants():
11778+
expressions = d.parse("""
11779+
MODEL (
11780+
name test.table,
11781+
kind FULL,
11782+
grants (
11783+
'select' = ['user1', 123, admin_role, 'user2'],
11784+
'insert' = 'admin',
11785+
'roles/bigquery.dataViewer' = ["group:data_eng@company.com", 'user:someone@company.com'],
11786+
'update' = 'admin'
11787+
)
11788+
);
11789+
SELECT 1 as id
11790+
""")
11791+
model = load_sql_based_model(expressions)
11792+
assert model.grants == {
11793+
"select": ["user1", "123", "admin_role", "user2"],
11794+
"insert": ["admin"],
11795+
"roles/bigquery.dataViewer": ["group:data_eng@company.com", "user:someone@company.com"],
11796+
"update": ["admin"],
11797+
}
11798+
11799+
model = create_sql_model(
11800+
"db.table",
11801+
parse_one("SELECT 1 AS id"),
11802+
kind="FULL",
11803+
grants={
11804+
"select": ["user1", "user2"],
11805+
"insert": ["admin"],
11806+
"roles/bigquery.dataViewer": "user:data_eng@company.com",
11807+
},
11808+
)
11809+
assert model.grants == {
11810+
"select": ["user1", "user2"],
11811+
"insert": ["admin"],
11812+
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11813+
}
11814+
11815+
1177711816
@pytest.mark.parametrize(
1177811817
"kind",
1177911818
[
@@ -11951,21 +11990,6 @@ def test_grants_unresolved_macro_errors():
1195111990
load_sql_based_model(expressions3)
1195211991

1195311992

11954-
def test_grants_mixed_types_conversion():
11955-
expressions = d.parse("""
11956-
MODEL (
11957-
name test.mixed_types,
11958-
kind FULL,
11959-
grants (
11960-
'select' = ['user1', 123, admin_role, 'user2']
11961-
)
11962-
);
11963-
SELECT 1 as id
11964-
""")
11965-
model = load_sql_based_model(expressions)
11966-
assert model.grants == {"select": ["user1", "123", "admin_role", "user2"]}
11967-
11968-
1196911993
def test_grants_empty_values():
1197011994
model1 = create_sql_model(
1197111995
"db.table", parse_one("SELECT 1 AS id"), kind="FULL", grants={"select": []}
@@ -11976,24 +12000,6 @@ def test_grants_empty_values():
1197612000
assert model2.grants is None
1197712001

1197812002

11979-
def test_grants_backward_compatibility():
11980-
model = create_sql_model(
11981-
"db.table",
11982-
parse_one("SELECT 1 AS id"),
11983-
kind="FULL",
11984-
grants={
11985-
"select": ["user1", "user2"],
11986-
"insert": ["admin"],
11987-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11988-
},
11989-
)
11990-
assert model.grants == {
11991-
"select": ["user1", "user2"],
11992-
"insert": ["admin"],
11993-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11994-
}
11995-
11996-
1199712003
@pytest.mark.parametrize(
1199812004
"kind, expected",
1199912005
[

0 commit comments

Comments
 (0)