fix(migrations): Handle no params in time comparison migration (#32155)
This commit is contained in:
parent
ea5879bf2b
commit
6ed9dae2f7
|
|
@ -63,6 +63,8 @@ time_map = {
|
|||
|
||||
|
||||
def upgrade_comparison_params(slice_params: dict[str, Any]) -> dict[str, Any]:
|
||||
if not slice_params or not isinstance(slice_params, dict):
|
||||
return {}
|
||||
params = deepcopy(slice_params)
|
||||
|
||||
# Update time_comparison to time_compare
|
||||
|
|
@ -103,6 +105,8 @@ def upgrade():
|
|||
)
|
||||
):
|
||||
try:
|
||||
if not slc.params: # Noop if there's no params on the slice
|
||||
continue
|
||||
params = json.loads(slc.params)
|
||||
updated_slice_params = upgrade_comparison_params(params)
|
||||
slc.params = json.dumps(updated_slice_params)
|
||||
|
|
@ -119,6 +123,8 @@ def upgrade():
|
|||
|
||||
|
||||
def downgrade_comparison_params(slice_params: dict[str, Any]) -> dict[str, Any]:
|
||||
if not slice_params or not isinstance(slice_params, dict):
|
||||
return {}
|
||||
params = deepcopy(slice_params)
|
||||
params["enable_time_comparison"] = False
|
||||
|
||||
|
|
@ -199,6 +205,8 @@ def downgrade():
|
|||
)
|
||||
):
|
||||
try:
|
||||
if not slc.params: # Noop if there's no params on the slice
|
||||
continue
|
||||
params = json.loads(slc.params)
|
||||
updated_slice_params = downgrade_comparison_params(params)
|
||||
slc.params = json.dumps(updated_slice_params)
|
||||
|
|
|
|||
|
|
@ -229,3 +229,15 @@ def test_downgrade_chart_params_other_than_custom_false():
|
|||
original_params = deepcopy(params_v2_other_than_custom_false)
|
||||
downgraded_params = downgrade_comparison_params(original_params)
|
||||
assert downgraded_params == params_v1_other_than_custom_false
|
||||
|
||||
|
||||
def test_upgrade_chart_params_empty():
|
||||
"""
|
||||
Ensure that the migration does not fail when params is None or empty.
|
||||
"""
|
||||
assert upgrade_comparison_params(None) == {}
|
||||
assert upgrade_comparison_params({}) == {}
|
||||
assert upgrade_comparison_params("") == {}
|
||||
assert downgrade_comparison_params(None) == {}
|
||||
assert downgrade_comparison_params({}) == {}
|
||||
assert downgrade_comparison_params("") == {}
|
||||
|
|
|
|||
Loading…
Reference in New Issue