fairagro-middleware-shared 9.1.1.dev14__tar.gz → 9.1.1.dev16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/.gitignore +1 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/PKG-INFO +1 -1
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/common/rocrate.py +2 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/tests/unit/test_rocrate.py +24 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/README.md +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/pyproject.toml +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/common/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/common/models.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/py.typed +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/v1/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/v1/models.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/v2/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/v2/models.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/v3/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/api_models/v3/models.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/config/__init__.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/config/config_base.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/config/config_wrapper.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/config/logging.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/py.typed +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/src/middleware/shared/tracing.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/tests/unit/test_api_models.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/tests/unit/test_config_base.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/tests/unit/test_config_wrapper.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/tests/unit/test_logging.py +0 -0
- {fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/tests/unit/test_tracing.py +0 -0
|
@@ -17,6 +17,8 @@ def _root_dataset_entity(graph: list[dict[str, Any]]) -> dict[str, Any] | None:
|
|
|
17
17
|
def _normalize_text_field(value: object) -> str | None:
|
|
18
18
|
if isinstance(value, list):
|
|
19
19
|
value = value[0] if value else None
|
|
20
|
+
if isinstance(value, dict):
|
|
21
|
+
value = value.get("@value")
|
|
20
22
|
if value is None:
|
|
21
23
|
return None
|
|
22
24
|
text = str(value).strip()
|
|
@@ -61,6 +61,30 @@ def test_rocrate_payload_description() -> None:
|
|
|
61
61
|
assert RoCratePayload.model_validate(arc).description == "Cold stress experiment"
|
|
62
62
|
|
|
63
63
|
|
|
64
|
+
@pytest.mark.parametrize(
|
|
65
|
+
("field", "wire_value", "expected"),
|
|
66
|
+
[
|
|
67
|
+
("identifier", {"@value": "dataset-jsonld"}, "dataset-jsonld"),
|
|
68
|
+
("name", {"@value": "Study title"}, "Study title"),
|
|
69
|
+
("description", {"@value": "Study summary"}, "Study summary"),
|
|
70
|
+
],
|
|
71
|
+
)
|
|
72
|
+
def test_rocrate_payload_jsonld_value_objects(field: str, wire_value: object, expected: str) -> None:
|
|
73
|
+
"""JSON-LD value objects for text fields are normalized to plain strings."""
|
|
74
|
+
root: dict[str, object] = {"@id": "./"}
|
|
75
|
+
if field == "identifier":
|
|
76
|
+
root["identifier"] = wire_value
|
|
77
|
+
else:
|
|
78
|
+
root["identifier"] = "dataset-1"
|
|
79
|
+
root[field] = wire_value
|
|
80
|
+
arc = {
|
|
81
|
+
"@context": "https://w3id.org/ro/crate/1.1/context",
|
|
82
|
+
"@graph": [root],
|
|
83
|
+
}
|
|
84
|
+
payload = RoCratePayload.model_validate(arc)
|
|
85
|
+
assert getattr(payload, field) == expected
|
|
86
|
+
|
|
87
|
+
|
|
64
88
|
def test_rocrate_payload_preserves_extra_root_fields() -> None:
|
|
65
89
|
"""Root entity fields beyond the API contract remain in ``@graph`` unchanged."""
|
|
66
90
|
arc = {
|
|
File without changes
|
{fairagro_middleware_shared-9.1.1.dev14 → fairagro_middleware_shared-9.1.1.dev16}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|