Skip to content

Commit 0a51f07

Browse files
authored
Fix for failing tests as a result of pydantic 2.0 (#2399)
* Fix defs for optional field in models * Remove usage of deprecated parse_obj method * Quote values for 'start' field in roles.yml
1 parent 3fd2bb5 commit 0a51f07

3 files changed

Lines changed: 12 additions & 12 deletions

File tree

_data/roles.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
github: jamesaoverton
237237
orcid: 0000-0001-5139-5557
238238
status: lead
239-
start: 2017
239+
start: "2017"
240240
- name: OBO Academy
241241
open: false
242242
description: |
@@ -267,12 +267,12 @@
267267
github: shawntanzk
268268
orcid: 0000-0001-7258-9596
269269
status: support
270-
start: 2022
270+
start: "2022"
271271
- name: Bradley Varner
272272
github: bvarner-ebi
273273
status: support
274274
orcid: 0000-0002-1773-2692
275-
start: 2022
275+
start: "2022"
276276
- name: OBO Issue Tracker Shepherd
277277
open: false
278278
description: |

tests/test_memberships.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class Affiliation(BaseModel):
2121
"""Represents an affiliation."""
2222

2323
name: str
24-
ror: Optional[str]
25-
wikidata: Optional[str]
24+
ror: Optional[str] = None
25+
wikidata: Optional[str] = None
2626

2727

2828
class Member(BaseModel):
@@ -48,7 +48,7 @@ class TestMembershipData(unittest.TestCase):
4848

4949
def test_data(self):
5050
"""Test the working group data is clean."""
51-
res = Group.parse_obj(yaml.safe_load(OPERATIONS_METADATA_PATH.read_text()))
51+
res = Group.model_validate(yaml.safe_load(OPERATIONS_METADATA_PATH.read_text()))
5252
self.assertIsNotNone(res)
5353
counter = Counter(member.orcid for member in res.members)
5454
counter = {orcid for orcid, count in counter.items() if count > 1}

tests/test_roles.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ class Person(BaseModel):
2323
orcid: str
2424
status: Literal["lead", "support"]
2525
start: str
26-
end: Optional[str]
26+
end: Optional[str] = None
2727

2828

2929
class Role(BaseModel):
3030
"""A model for a role in the OBO Foundry community."""
3131

3232
name: str
3333
description: str
34-
open: Optional[bool]
35-
commitment: Optional[str] # can later be required
36-
requirements: Optional[List[str]] # can later be required
37-
responsibilities: Optional[List[str]] # can later be required
34+
open: Optional[bool] = None
35+
commitment: Optional[str] = None # can later be required
36+
requirements: Optional[List[str]] = None # can later be required
37+
responsibilities: Optional[List[str]] = None # can later be required
3838
people: List[Person]
3939

4040

@@ -48,7 +48,7 @@ def test_data(self):
4848
name = role_dict.get("name")
4949
with self.subTest(name=name):
5050
self.assertIsNotNone(name)
51-
obj = Role.parse_obj(role_dict)
51+
obj = Role.model_validate(role_dict)
5252
self.assertIsInstance(obj, Role)
5353
if obj.requirements is not None:
5454
self.assertNotEqual(0, len(obj.requirements))

0 commit comments

Comments
 (0)