From dae6f901dc760c7f0905dab7ffffd58e17499218 Mon Sep 17 00:00:00 2001 From: Joshua Fraustro Date: Fri, 1 Dec 2023 13:39:01 -0500 Subject: [PATCH] test fixup --- tests/uws/models_test.py | 3 ++- vo/models/xml/uws/models.py | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/uws/models_test.py b/tests/uws/models_test.py index ed756cb..d03a31b 100644 --- a/tests/uws/models_test.py +++ b/tests/uws/models_test.py @@ -212,7 +212,7 @@ def test_read_from_xml(self): self.assertEqual(short_job_description.href, "http://uri1") self.assertEqual(short_job_description.phase, "PENDING") self.assertEqual(short_job_description.run_id, "runId1") - self.assertEqual(short_job_description.owner_id, None) + self.assertEqual(short_job_description.owner_id.value, None) self.assertEqual(short_job_description.creation_time, VODateTime(1900, 1, 1, 1, 1, 1, tzinfo=tz.utc)) def test_write_to_xml(self): @@ -433,6 +433,7 @@ def test_write_to_xml(self): jobref=[ ShortJobDescription( job_id="id1", + owner_id=None, href="http://uri1", phase=ExecutionPhase.PENDING, creation_time=VODateTime(1900, 1, 1, 1, 1, 1, tzinfo=tz.utc), diff --git a/vo/models/xml/uws/models.py b/vo/models/xml/uws/models.py index df917bc..3334e0d 100644 --- a/vo/models/xml/uws/models.py +++ b/vo/models/xml/uws/models.py @@ -158,7 +158,7 @@ class ShortJobDescription(BaseXmlModel, tag="jobref", ns="uws", nsmap=NSMAP): phase: ExecutionPhase = element() run_id: Optional[str] = element(tag="runId", default=None) - owner_id: Optional[NillElement] = element(tag="ownerId", default=NillElement()) + owner_id: Optional[NillElement] = element(tag="ownerId", default=None) creation_time: Optional[VODateTime] = element(tag="creationTime", default=None) job_id: str = attr(name="id") @@ -168,9 +168,7 @@ class ShortJobDescription(BaseXmlModel, tag="jobref", ns="uws", nsmap=NSMAP): @field_validator("owner_id", mode="before") def validate_owner_id(cls, value): """Sets default for owner_id if None""" - if not value: - return NillElement() - return value + return validate_nillable(value, str) class Jobs(BaseXmlModel, tag="jobs", ns="uws", nsmap=NSMAP): """The list of job references returned at /(jobs) @@ -251,7 +249,7 @@ class JobSummary(BaseXmlModel, tag="job", ns="uws", nsmap=NSMAP, skip_empty=True @field_validator("owner_id", "quote", "start_time", "end_time", "destruction", mode="before") def validate_nillables(cls, value): - """Sets default for owner_id if None""" + """Sets default for nillable fields if None""" if isinstance(value, VODateTime): value = value.isoformat() return validate_nillable(value, str)