diff --git a/aidial_client/types/metadata.py b/aidial_client/types/metadata.py index 7662c20..874c529 100644 --- a/aidial_client/types/metadata.py +++ b/aidial_client/types/metadata.py @@ -17,7 +17,7 @@ class Config: alias_generator = to_camel allow_population_by_field_name = True - name: str + name: Optional[str] = None parent_path: Optional[str] = None bucket: str url: str diff --git a/tests/test_response_processing.py b/tests/test_response_processing.py new file mode 100644 index 0000000..c5ca642 --- /dev/null +++ b/tests/test_response_processing.py @@ -0,0 +1,30 @@ +from aidial_client.types.metadata import FileMetadata + +BUCKET = "684f6Lz7ubje66aoCRsa5c" + +PAYLOAD = { + "bucket": BUCKET, + "name": None, + "nodeType": "FOLDER", + "parentPath": None, + "resourceType": "FILE", + "url": f"files/{BUCKET}/", + "items": [ + { + "bucket": BUCKET, + "name": "appdata", + "nodeType": "FOLDER", + "parentPath": None, + "resourceType": "FILE", + "url": f"files/{BUCKET}/appdata/", + } + ], +} + + +def test_name_is_none_round_trip(): + """Root folder returned by the API has name=None; parse→serialize must reproduce the original payload.""" + assert PAYLOAD["name"] is None + result = FileMetadata(**PAYLOAD) + assert result.name is None + assert result.model_dump(by_alias=True, exclude_unset=True) == PAYLOAD