Skip to content

Commit 53a18fe

Browse files
committed
fix: post-validation sync in package model has always truthy fields
The logic of the sync was wrong, i.e. because the default-value string fields were checked only for truthiness, the MSSDK model's values wouldn't be propagated, and the default value would remain. While this was OK for the tests, this causes a serious runtime problem for real packages and notices, as the package would return the default ID `no_id`.
1 parent fa21488 commit 53a18fe

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

src/ted_sws/core/model/transform.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,19 @@ def _populate_legacy_from_mssdk(self) -> None:
311311
"""Populate legacy pipeline fields from MSSDK v2 fields when needed."""
312312
if self.metadata:
313313
# Populate basic legacy fields from metadata
314-
self.identifier = self.identifier if self.identifier else self.metadata.identifier
315-
self.title = self.title if self.title else self.metadata.title
316-
self.created_at = self.created_at if self.created_at else self.metadata.issue_date
317-
self.version = self.version if self.version else self.metadata.mapping_version
318-
self.ontology_version = self.ontology_version if self.ontology_version else self.metadata.ontology_version
319-
self.mapping_suite_hash_digest = self.mapping_suite_hash_digest if self.mapping_suite_hash_digest else self.metadata.signature
314+
# Check against default values since they are truthy strings
315+
if self.identifier == "no_id":
316+
self.identifier = self.metadata.identifier
317+
if self.title == "no_title":
318+
self.title = self.metadata.title
319+
if not self.created_at:
320+
self.created_at = self.metadata.issue_date
321+
if self.version == "0.1.1":
322+
self.version = self.metadata.mapping_version
323+
if self.ontology_version == "0.0.1":
324+
self.ontology_version = self.metadata.ontology_version
325+
if not self.mapping_suite_hash_digest:
326+
self.mapping_suite_hash_digest = self.metadata.signature
320327
self.mapping_type = (
321328
MappingPackageType.ELECTRONIC_FORMS
322329
if self.metadata.type == "eforms"

0 commit comments

Comments
 (0)