Skip to content

Commit

Permalink
✅ test: Re-enable data validation for Tables
Browse files Browse the repository at this point in the history
  • Loading branch information
glatterf42 committed Jan 16, 2025
1 parent b1e35a1 commit d18873e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
4 changes: 3 additions & 1 deletion ixmp4/data/db/optimization/table/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ class Table(base.BaseModel):

@validates("data")
def validate_data(self, key: Any, data: dict[str, Any]) -> dict[str, Any]:
utils.validate_data(host=self, data=data, columns=self.columns)
utils.validate_data(
host=self, data=data, columns=self.columns, has_values_and_units=False
)
return data

__table_args__ = (db.UniqueConstraint("name", "run__id"),)
7 changes: 5 additions & 2 deletions ixmp4/data/db/optimization/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,14 @@ def validate_data(
data: dict[str, Any],
columns: list["Column"],
column_names: list[str] | None = None,
has_values_and_units: bool = True,
) -> None:
data_frame = pd.DataFrame.from_dict(data)

# We don't want to validate "values" and "units"
number_columns = len(data_frame.columns) - 2
# We don't want to validate "values" and "units" when they are present
number_columns = (
len(data_frame.columns) - 2 if has_values_and_units else len(data_frame.columns)
)

# TODO for all of the following, we might want to create unique exceptions
# Could me make both more specific by specifiying missing/extra columns?
Expand Down

0 comments on commit d18873e

Please sign in to comment.