Skip to content

Commit 5788554

Browse files
committed
refactor: consolidate grants tests
1 parent b40b5bf commit 5788554

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

1173411734

11735+
def test_grants():
11736+
expressions = d.parse("""
11737+
MODEL (
11738+
name test.table,
11739+
kind FULL,
11740+
grants (
11741+
'select' = ['user1', 123, admin_role, 'user2'],
11742+
'insert' = 'admin',
11743+
'roles/bigquery.dataViewer' = ["group:data_eng@company.com", 'user:someone@company.com'],
11744+
'update' = 'admin'
11745+
)
11746+
);
11747+
SELECT 1 as id
11748+
""")
11749+
model = load_sql_based_model(expressions)
11750+
assert model.grants == {
11751+
"select": ["user1", "123", "admin_role", "user2"],
11752+
"insert": ["admin"],
11753+
"roles/bigquery.dataViewer": ["group:data_eng@company.com", "user:someone@company.com"],
11754+
"update": ["admin"],
11755+
}
11756+
11757+
model = create_sql_model(
11758+
"db.table",
11759+
parse_one("SELECT 1 AS id"),
11760+
kind="FULL",
11761+
grants={
11762+
"select": ["user1", "user2"],
11763+
"insert": ["admin"],
11764+
"roles/bigquery.dataViewer": "user:data_eng@company.com",
11765+
},
11766+
)
11767+
assert model.grants == {
11768+
"select": ["user1", "user2"],
11769+
"insert": ["admin"],
11770+
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11771+
}
11772+
11773+
1173511774
@pytest.mark.parametrize(
1173611775
"kind",
1173711776
[
@@ -11909,21 +11948,6 @@ def test_grants_unresolved_macro_errors():
1190911948
load_sql_based_model(expressions3)
1191011949

1191111950

11912-
def test_grants_mixed_types_conversion():
11913-
expressions = d.parse("""
11914-
MODEL (
11915-
name test.mixed_types,
11916-
kind FULL,
11917-
grants (
11918-
'select' = ['user1', 123, admin_role, 'user2']
11919-
)
11920-
);
11921-
SELECT 1 as id
11922-
""")
11923-
model = load_sql_based_model(expressions)
11924-
assert model.grants == {"select": ["user1", "123", "admin_role", "user2"]}
11925-
11926-
1192711951
def test_grants_empty_values():
1192811952
model1 = create_sql_model(
1192911953
"db.table", parse_one("SELECT 1 AS id"), kind="FULL", grants={"select": []}
@@ -11934,24 +11958,6 @@ def test_grants_empty_values():
1193411958
assert model2.grants is None
1193511959

1193611960

11937-
def test_grants_backward_compatibility():
11938-
model = create_sql_model(
11939-
"db.table",
11940-
parse_one("SELECT 1 AS id"),
11941-
kind="FULL",
11942-
grants={
11943-
"select": ["user1", "user2"],
11944-
"insert": ["admin"],
11945-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11946-
},
11947-
)
11948-
assert model.grants == {
11949-
"select": ["user1", "user2"],
11950-
"insert": ["admin"],
11951-
"roles/bigquery.dataViewer": ["user:data_eng@company.com"],
11952-
}
11953-
11954-
1195511961
@pytest.mark.parametrize(
1195611962
"kind, expected",
1195711963
[

0 commit comments

Comments
 (0)