Skip to content

Commit 07bb0e4

Browse files
committed
refactor: consolidate grants tests
1 parent 7c471c9 commit 07bb0e4

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

1183311833

11834+
def test_grants():
11835+
expressions = d.parse("""
11836+
MODEL (
11837+
name test.table,
11838+
kind FULL,
11839+
grants (
11840+
'select' = ['user1', 123, admin_role, 'user2'],
11841+
'insert' = 'admin',
11842+
'roles/bigquery.dataViewer' = ["group:data_eng@company.com", 'user:someone@company.com'],
11843+
'update' = 'admin'
11844+
)
11845+
);
11846+
SELECT 1 as id
11847+
""")
11848+
model = load_sql_based_model(expressions)
11849+
assert model.grants == {
11850+
"select": ["user1", "123", "admin_role", "user2"],
11851+
"insert": ["admin"],
11852+
"roles/bigquery.dataViewer": ["group:data_eng@company.com", "user:someone@company.com"],
11853+
"update": ["admin"],
11854+
}
11855+
11856+
model = create_sql_model(
11857+
"db.table",
11858+
parse_one("SELECT 1 AS id"),
11859+
kind="FULL",
11860+
grants={
11861+
"select": ["user1", "user2"],
11862+
"insert": ["admin"],
11863+
"roles/bigquery.dataViewer": "user:data_eng@company.com",
11864+
},
11865+
)
11866+
assert model.grants == {
11867+
"select": ["user1", "user2"],
11868+
"insert": ["admin"],
11869+
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11870+
}
11871+
11872+
1183411873
@pytest.mark.parametrize(
1183511874
"kind",
1183611875
[
@@ -12008,21 +12047,6 @@ def test_grants_unresolved_macro_errors():
1200812047
load_sql_based_model(expressions3)
1200912048

1201012049

12011-
def test_grants_mixed_types_conversion():
12012-
expressions = d.parse("""
12013-
MODEL (
12014-
name test.mixed_types,
12015-
kind FULL,
12016-
grants (
12017-
'select' = ['user1', 123, admin_role, 'user2']
12018-
)
12019-
);
12020-
SELECT 1 as id
12021-
""")
12022-
model = load_sql_based_model(expressions)
12023-
assert model.grants == {"select": ["user1", "123", "admin_role", "user2"]}
12024-
12025-
1202612050
def test_grants_empty_values():
1202712051
model1 = create_sql_model(
1202812052
"db.table", parse_one("SELECT 1 AS id"), kind="FULL", grants={"select": []}
@@ -12033,24 +12057,6 @@ def test_grants_empty_values():
1203312057
assert model2.grants is None
1203412058

1203512059

12036-
def test_grants_backward_compatibility():
12037-
model = create_sql_model(
12038-
"db.table",
12039-
parse_one("SELECT 1 AS id"),
12040-
kind="FULL",
12041-
grants={
12042-
"select": ["user1", "user2"],
12043-
"insert": ["admin"],
12044-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
12045-
},
12046-
)
12047-
assert model.grants == {
12048-
"select": ["user1", "user2"],
12049-
"insert": ["admin"],
12050-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
12051-
}
12052-
12053-
1205412060
@pytest.mark.parametrize(
1205512061
"kind, expected",
1205612062
[

0 commit comments

Comments
 (0)