Skip to content
This repository was archived by the owner on Sep 12, 2024. It is now read-only.

fix(edit-kpi): kpi validation triggered on edit kpi #996

Merged
merged 1 commit into from
Jun 16, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions chaos_genius/views/kpi_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,7 @@ def edit_kpi(kpi_id):
status, message = "", ""
do_not_run_analytics_list = ["name", "dashboards"]
run_analytics = False
run_validation = False

try:
kpi_obj = Kpi.get_by_id(kpi_id)
Expand All @@ -404,6 +405,7 @@ def edit_kpi(kpi_id):
for key, value in data.items():
if key not in do_not_run_analytics_list:
run_analytics = True
run_validation = True
if chech_editable_field(meta_info, key):
setattr(kpi_obj, key, value)

Expand Down Expand Up @@ -431,6 +433,14 @@ def edit_kpi(kpi_id):
):
kpi_obj.anomaly_params["run_optional"] = run_optional
flag_modified(kpi_obj, "anomaly_params")
if run_validation:
status, message, tz_aware = validate_kpi(
kpi_obj.as_dict, check_tz_aware=True
)
if status is not True:
return jsonify(
{"error": message, "status": "failure", "is_critical": "true"}
)

if run_analytics:
logger.info(
Expand Down