Skip to content

Commit

Permalink
fix(migrations): Ignore slices with no params in time comparison migr…
Browse files Browse the repository at this point in the history
…ation
  • Loading branch information
Antonio-RiveroMartnez committed Feb 5, 2025
1 parent ea5879b commit 5e3b706
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ class Slice(Base):


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
Expand Down Expand Up @@ -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)
Expand All @@ -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

Expand Down Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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("") == {}

0 comments on commit 5e3b706

Please sign in to comment.