Skip to content

Commit f9d0606

Browse files
authored
chore(metadata-completeness): Add a default metadata.yaml file for views (#8373)
* chore(metadata-completeness): Add a default metadata.yaml file for views * Update tests to expect view metadata.yaml * Update formatting * Remove bigquery: null from view metadata.yaml
1 parent a6fb4e6 commit f9d0606

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

bigquery_etl/cli/query.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,18 @@ def create(ctx, name, sql_dir, project_id, owner, dag, no_schedule):
217217
+ "\n"
218218
)
219219

220+
safe_owner = owner.lower().split("@")[0]
221+
222+
view_metadata_file = view_path / "metadata.yaml"
223+
view_metadata = Metadata(
224+
friendly_name=string.capwords(name.replace("_", " ")),
225+
description="Please provide a description for the query",
226+
owners=[owner],
227+
labels={"owner": safe_owner},
228+
)
229+
230+
view_metadata.write(view_metadata_file)
231+
220232
# create query.sql file
221233
query_file = derived_path / "query.sql"
222234
query_file.write_text(

bigquery_etl/metadata/parse_metadata.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,9 @@ def write(self, file):
428428
if not metadata_dict["monitoring"]:
429429
del metadata_dict["monitoring"]
430430

431+
if metadata_dict["bigquery"] is None:
432+
del metadata_dict["bigquery"]
433+
431434
file.write_text(
432435
yaml.dump(
433436
converter.unstructure(metadata_dict),

tests/cli/test_cli_query.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ def test_create_derived_query_with_view(self, runner):
151151
"dataset_metadata.yaml",
152152
"test_query",
153153
]
154-
assert os.listdir("sql/moz-fx-data-shared-prod/test/test_query") == [
155-
"view.sql"
156-
]
154+
assert sorted(
155+
os.listdir("sql/moz-fx-data-shared-prod/test/test_query")
156+
) == ["metadata.yaml", "view.sql"]
157157

158158
def test_create_derived_query_with_existing_view(self, runner):
159159
with runner.isolated_filesystem():
@@ -205,9 +205,9 @@ def test_create_query_as_derived(self, runner):
205205
"dataset_metadata.yaml",
206206
"test_query",
207207
]
208-
assert os.listdir("sql/moz-fx-data-shared-prod/test/test_query") == [
209-
"view.sql"
210-
]
208+
assert sorted(
209+
os.listdir("sql/moz-fx-data-shared-prod/test/test_query")
210+
) == ["metadata.yaml", "view.sql"]
211211

212212
def test_schedule_invalid_path(self, runner):
213213
with runner.isolated_filesystem():

0 commit comments

Comments
 (0)