Skip to content

Commit e5ec5c4

Browse files
committed
fix(mcp): minor tweaks to description and arg order
1 parent 3a5bac8 commit e5ec5c4

2 files changed

Lines changed: 16 additions & 16 deletions

File tree

testgen/mcp/tools/projects.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def update_project(
6363
Never echoed back in tool output.
6464
data_retention_enabled: Whether old profiling and test history is automatically deleted.
6565
data_retention_days: How many days of history to keep (only when retention is enabled).
66-
Defaults to 180 when retention is being enabled without specifying days.
66+
Defaults to 180 when retention is enabled without specifying days.
6767
retention_cron_expr: Cron expression for the retention cleanup job
6868
(only when retention is enabled). Defaults to daily at 01:00.
6969
retention_cron_tz: Timezone for the retention cleanup cron

testgen/mcp/tools/test_suites.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ def create_test_suite(
5151
*,
5252
description: str | None = None,
5353
severity_default: str | None = None,
54+
dq_score_exclude: bool = False,
5455
export_to_observability: bool = False,
5556
component_key: str | None = None,
5657
component_type: str | None = "dataset",
5758
component_name: str | None = None,
58-
dq_score_exclude: bool = False,
5959
) -> str:
6060
"""Create a test suite under a table group.
6161
@@ -67,14 +67,14 @@ def create_test_suite(
6767
description: Optional free-text description.
6868
severity_default: Optional default severity applied to tests that do
6969
not set their own. Accepts `Fail` or `Warning`.
70+
dq_score_exclude: Whether to exclude this suite's results from data
71+
quality scoring. Defaults to False.
7072
export_to_observability: Whether to export test results to the
71-
configured DataOps Observability backend. Defaults to False.
73+
configured DataOps Observability API. Defaults to False.
7274
component_key: Component identifier in DataOps Observability.
7375
component_type: Component type in DataOps Observability
7476
(e.g. `dataset`). Defaults to `dataset`.
7577
component_name: Component display name in DataOps Observability.
76-
dq_score_exclude: Whether to exclude this suite's results from data
77-
quality scoring. Defaults to False.
7878
"""
7979
name = test_suite_name.strip() if test_suite_name else ""
8080
errors: list[str] = []
@@ -93,11 +93,11 @@ def create_test_suite(
9393
test_suite=name,
9494
test_suite_description=_empty_to_none(description),
9595
severity=parsed_severity.value if parsed_severity is not None else None,
96+
dq_score_exclude=dq_score_exclude,
9697
export_to_observability=export_to_observability,
9798
component_key=_empty_to_none(component_key),
9899
component_type=_empty_to_none(component_type),
99100
component_name=_empty_to_none(component_name),
100-
dq_score_exclude=dq_score_exclude,
101101
is_monitor=False,
102102
)
103103
session = get_current_session()
@@ -116,11 +116,11 @@ def update_test_suite(
116116
test_suite_name: str | None = None,
117117
description: str | None = None,
118118
severity_default: str | None = None,
119+
dq_score_exclude: bool | None = None,
119120
export_to_observability: bool | None = None,
120121
component_key: str | None = None,
121122
component_type: str | None = None,
122123
component_name: str | None = None,
123-
dq_score_exclude: bool | None = None,
124124
) -> str:
125125
"""Update fields on a test suite. Atomic — nothing saved unless every supplied value is valid.
126126
@@ -130,26 +130,26 @@ def update_test_suite(
130130
description: New free-text description. Pass an empty string to clear.
131131
severity_default: New default severity for tests that do not set their
132132
own. Accepts `Fail` or `Warning`.
133+
dq_score_exclude: Whether this suite's results are excluded from data
134+
quality scoring.
133135
export_to_observability: Whether test results are exported to the
134-
configured DataOps Observability backend.
136+
configured DataOps Observability API.
135137
component_key: Component identifier in DataOps Observability.
136138
Pass an empty string to clear.
137139
component_type: Component type in DataOps Observability
138140
(e.g. `dataset`). Pass an empty string to clear.
139141
component_name: Component display name in DataOps Observability.
140142
Pass an empty string to clear.
141-
dq_score_exclude: Whether this suite's results are excluded from data
142-
quality scoring.
143143
"""
144144
supplied = {
145145
"test_suite_name": test_suite_name,
146146
"description": description,
147147
"severity_default": severity_default,
148+
"dq_score_exclude": dq_score_exclude,
148149
"export_to_observability": export_to_observability,
149150
"component_key": component_key,
150151
"component_type": component_type,
151152
"component_name": component_name,
152-
"dq_score_exclude": dq_score_exclude,
153153
}
154154
if all(value is None for value in supplied.values()):
155155
raise MCPUserError("No fields supplied to update.")
@@ -175,6 +175,8 @@ def update_test_suite(
175175
if parsed is not None:
176176
updates["severity"] = parsed.value
177177

178+
if dq_score_exclude is not None:
179+
updates["dq_score_exclude"] = dq_score_exclude
178180
if export_to_observability is not None:
179181
updates["export_to_observability"] = export_to_observability
180182
if component_key is not None:
@@ -183,8 +185,6 @@ def update_test_suite(
183185
updates["component_type"] = _empty_to_none(component_type)
184186
if component_name is not None:
185187
updates["component_name"] = _empty_to_none(component_name)
186-
if dq_score_exclude is not None:
187-
updates["dq_score_exclude"] = dq_score_exclude
188188

189189
if errors:
190190
raise_validation_error(errors, "Update rejected. No changes saved.")
@@ -230,14 +230,14 @@ def _render_created_suite(suite: TestSuite, *, table_group_name: str) -> str:
230230
doc.field("Description", suite.test_suite_description)
231231
if suite.severity:
232232
doc.field("Default severity", suite.severity)
233+
doc.field("Exclude from quality scoring", suite.dq_score_exclude)
233234
doc.field("Export to Observability", suite.export_to_observability)
234235
if suite.component_key:
235236
doc.field("Component key", suite.component_key)
236237
if suite.component_type:
237238
doc.field("Component type", suite.component_type)
238239
if suite.component_name:
239240
doc.field("Component name", suite.component_name)
240-
doc.field("Exclude from quality scoring", suite.dq_score_exclude)
241241
return doc.render()
242242

243243

@@ -247,20 +247,20 @@ def _render_created_suite(suite: TestSuite, *, table_group_name: str) -> str:
247247
"test_suite",
248248
"test_suite_description",
249249
"severity",
250+
"dq_score_exclude",
250251
"export_to_observability",
251252
"component_key",
252253
"component_type",
253254
"component_name",
254-
"dq_score_exclude",
255255
)
256256

257257
_DIFF_LABELS: dict[str, str] = {
258258
"test_suite": "Name",
259259
"test_suite_description": "Description",
260260
"severity": "Default severity",
261+
"dq_score_exclude": "Exclude from quality scoring",
261262
"export_to_observability": "Export to Observability",
262263
"component_key": "Component key",
263264
"component_type": "Component type",
264265
"component_name": "Component name",
265-
"dq_score_exclude": "Exclude from quality scoring",
266266
}

0 commit comments

Comments
 (0)