From 3c84d107c4ae49ed980669c33d84970f1cc14915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Thu, 30 Jan 2025 11:08:05 -0600 Subject: [PATCH] HA-415 - Adding new data_types: time, date and datetime --- src/fideslang/validation.py | 3 +++ tests/fideslang/test_validation.py | 33 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/fideslang/validation.py b/src/fideslang/validation.py index 74c3c46..bc81c25 100644 --- a/src/fideslang/validation.py +++ b/src/fideslang/validation.py @@ -188,6 +188,9 @@ def parse_data_type_string(type_string: Optional[str]) -> Tuple[Optional[str], b "boolean", "object_id", "object", + "time", + "date", + "datetime", } diff --git a/tests/fideslang/test_validation.py b/tests/fideslang/test_validation.py index f7fe122..6ecfd30 100644 --- a/tests/fideslang/test_validation.py +++ b/tests/fideslang/test_validation.py @@ -683,6 +683,39 @@ def test_valid_length(self): class TestValidateDatasetField: + + @pytest.mark.parametrize("data_type", ["string", "integer", "float", "boolean", "object", "time", "date", "datetime"]) + def test_valid_types(self, data_type): + field = DatasetField( + name="test_field", + fides_meta=FidesMeta( + references=None, + identity="identifiable_field_name", + primary_key=False, + data_type=data_type, + length=None, + return_all_elements=None, + read_only=None, + ), + ) + assert field.fides_meta.data_type == data_type + + @pytest.mark.parametrize("data_type", ["not_string", "not_integer", "not_float", "not_boolean", "not_object", "not_time", "not_date", "not_datetime"]) + def test_invalid_types(self, data_type): + field = DatasetField( + name="test_field", + fides_meta=FidesMeta( + references=None, + identity="identifiable_field_name", + primary_key=False, + data_type="string", + length=None, + return_all_elements=None, + read_only=None, + ), + ) + assert field.fides_meta.data_type == "string" + def test_return_all_elements_not_array_field(self): with pytest.raises(ValidationError) as exc: DatasetField(