From 4e1635de1f96f22e255748a2dc702c5f1107f6ba Mon Sep 17 00:00:00 2001 From: "javier.hernandez" Date: Thu, 23 May 2024 11:05:41 +0200 Subject: [PATCH] Changed full_id to short_urn on Reference. Signed-off-by: javier.hernandez --- .../io/xml/sdmx21/reader/submission_reader.py | 4 ++-- src/pysdmx/model/message.py | 4 ++-- src/pysdmx/util/__init__.py | 7 +++---- tests/io/xml/sdmx21/reader/test_reader.py | 16 ++++++++-------- tests/model/test_submission.py | 12 ++++++------ 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/pysdmx/io/xml/sdmx21/reader/submission_reader.py b/src/pysdmx/io/xml/sdmx21/reader/submission_reader.py index d8ebd14..1b2e422 100644 --- a/src/pysdmx/io/xml/sdmx21/reader/submission_reader.py +++ b/src/pysdmx/io/xml/sdmx21/reader/submission_reader.py @@ -33,7 +33,7 @@ def handle_registry_interface(dict_info: Dict[str, Any]) -> Dict[str, Any]: structure = submission_result[SUBMITTED_STRUCTURE] action = structure[ACTION] urn = structure[MAINTAINABLE_OBJECT][URN] - full_id = parse_urn(urn).full_id + short_urn = str(parse_urn(urn)) status = submission_result[STATUS_MSG][STATUS] - result[full_id] = SubmissionResult(action, full_id, status) + result[short_urn] = SubmissionResult(action, short_urn, status) return result diff --git a/src/pysdmx/model/message.py b/src/pysdmx/model/message.py index e8318b6..296ddc7 100644 --- a/src/pysdmx/model/message.py +++ b/src/pysdmx/model/message.py @@ -148,7 +148,7 @@ class SubmissionResult(Struct, frozen=True): """A class to represent a Submission Result.""" action: str - full_id: str + short_urn: str status: str def __str__(self) -> str: @@ -156,6 +156,6 @@ def __str__(self) -> str: return ( f"" ) diff --git a/src/pysdmx/util/__init__.py b/src/pysdmx/util/__init__.py index 87652a9..0f10308 100644 --- a/src/pysdmx/util/__init__.py +++ b/src/pysdmx/util/__init__.py @@ -25,10 +25,9 @@ class Reference(Struct, frozen=True): id: str version: str - @property - def full_id(self) -> str: - """Returns the full ID of the referenced artefact.""" - return f"{self.agency}:{self.id}({self.version})" + def __str__(self) -> str: + """Returns a string representation of the object.""" + return f"{self.sdmx_type}={self.agency}:{self.id}({self.version})" class ItemReference(Struct, frozen=True): diff --git a/tests/io/xml/sdmx21/reader/test_reader.py b/tests/io/xml/sdmx21/reader/test_reader.py index b336fdd..41e92e8 100644 --- a/tests/io/xml/sdmx21/reader/test_reader.py +++ b/tests/io/xml/sdmx21/reader/test_reader.py @@ -27,21 +27,21 @@ def test_submission_result(submission_path): assert filetype == "xml" result = read_xml(input_str, validate=True) - full_id_1 = "BIS:BIS_DER(1.0)" - full_id_2 = "BIS:WEBSTATS_DER_DATAFLOW(1.0)" + short_urn_1 = "DataStructure=BIS:BIS_DER(1.0)" + short_urn_2 = "Dataflow=BIS:WEBSTATS_DER_DATAFLOW(1.0)" - assert full_id_1 in result - submission_1 = result[full_id_1] + assert short_urn_1 in result + submission_1 = result[short_urn_1] assert isinstance(submission_1, SubmissionResult) assert submission_1.action == "Append" - assert submission_1.full_id == full_id_1 + assert submission_1.short_urn == short_urn_1 assert submission_1.status == "Success" - assert full_id_2 in result - submission_2 = result[full_id_2] + assert short_urn_2 in result + submission_2 = result[short_urn_2] assert isinstance(submission_2, SubmissionResult) assert submission_2.action == "Append" - assert submission_2.full_id == full_id_2 + assert submission_2.short_urn == short_urn_2 assert submission_2.status == "Success" diff --git a/tests/model/test_submission.py b/tests/model/test_submission.py index 2078abd..c6ad6c7 100644 --- a/tests/model/test_submission.py +++ b/tests/model/test_submission.py @@ -9,8 +9,8 @@ def action(): @pytest.fixture() -def full_id(): - return "BIS:BIS_DER(1.0)" +def short_urn(): + return "Codelist=BIS:BIS_DER(1.0)" @pytest.fixture() @@ -18,14 +18,14 @@ def status(): return "Success" -def test_full_instantiation(action, full_id, status): - submission_result = SubmissionResult(action, full_id, status) +def test_full_instantiation(action, short_urn, status): + submission_result = SubmissionResult(action, short_urn, status) assert submission_result.action == action - assert submission_result.full_id == full_id + assert submission_result.short_urn == short_urn assert submission_result.status == status assert str(submission_result) == ( f"" )