Skip to content

Commit 9abf7b2

Browse files
committed
refactor: consolidate grants tests
1 parent 85fbd39 commit 9abf7b2

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
@@ -11715,6 +11715,45 @@ def test_use_original_sql():
1171511715
assert model.post_statements_[0].sql == "CREATE TABLE post (b INT)"
1171611716

1171711717

11718+
def test_grants():
11719+
expressions = d.parse("""
11720+
MODEL (
11721+
name test.table,
11722+
kind FULL,
11723+
grants (
11724+
'select' = ['user1', 123, admin_role, 'user2'],
11725+
'insert' = 'admin',
11726+
'roles/bigquery.dataViewer' = ["group:data_eng@company.com", 'user:someone@company.com'],
11727+
'update' = 'admin'
11728+
)
11729+
);
11730+
SELECT 1 as id
11731+
""")
11732+
model = load_sql_based_model(expressions)
11733+
assert model.grants == {
11734+
"select": ["user1", "123", "admin_role", "user2"],
11735+
"insert": ["admin"],
11736+
"roles/bigquery.dataViewer": ["group:data_eng@company.com", "user:someone@company.com"],
11737+
"update": ["admin"],
11738+
}
11739+
11740+
model = create_sql_model(
11741+
"db.table",
11742+
parse_one("SELECT 1 AS id"),
11743+
kind="FULL",
11744+
grants={
11745+
"select": ["user1", "user2"],
11746+
"insert": ["admin"],
11747+
"roles/bigquery.dataViewer": "user:data_eng@company.com",
11748+
},
11749+
)
11750+
assert model.grants == {
11751+
"select": ["user1", "user2"],
11752+
"insert": ["admin"],
11753+
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11754+
}
11755+
11756+
1171811757
@pytest.mark.parametrize(
1171911758
"kind",
1172011759
[
@@ -11892,21 +11931,6 @@ def test_grants_unresolved_macro_errors():
1189211931
load_sql_based_model(expressions3)
1189311932

1189411933

11895-
def test_grants_mixed_types_conversion():
11896-
expressions = d.parse("""
11897-
MODEL (
11898-
name test.mixed_types,
11899-
kind FULL,
11900-
grants (
11901-
'select' = ['user1', 123, admin_role, 'user2']
11902-
)
11903-
);
11904-
SELECT 1 as id
11905-
""")
11906-
model = load_sql_based_model(expressions)
11907-
assert model.grants == {"select": ["user1", "123", "admin_role", "user2"]}
11908-
11909-
1191011934
def test_grants_empty_values():
1191111935
model1 = create_sql_model(
1191211936
"db.table", parse_one("SELECT 1 AS id"), kind="FULL", grants={"select": []}
@@ -11917,24 +11941,6 @@ def test_grants_empty_values():
1191711941
assert model2.grants is None
1191811942

1191911943

11920-
def test_grants_backward_compatibility():
11921-
model = create_sql_model(
11922-
"db.table",
11923-
parse_one("SELECT 1 AS id"),
11924-
kind="FULL",
11925-
grants={
11926-
"select": ["user1", "user2"],
11927-
"insert": ["admin"],
11928-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11929-
},
11930-
)
11931-
assert model.grants == {
11932-
"select": ["user1", "user2"],
11933-
"insert": ["admin"],
11934-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11935-
}
11936-
11937-
1193811944
@pytest.mark.parametrize(
1193911945
"kind, expected",
1194011946
[

0 commit comments

Comments
 (0)