Skip to content

Commit 90439ad

Browse files
committed
Fix: Migrate pending pydantic v1 deprecated parsing methods for the pydantic v2
1 parent 32ddc10 commit 90439ad

File tree

7 files changed

+26
-18
lines changed

7 files changed

+26
-18
lines changed

src/aleph/web/controllers/storage.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,9 @@ async def _check_and_add_file(
234234
raise web.HTTPUnprocessableEntity(reason="Store message content needed")
235235

236236
try:
237-
message_content = CostEstimationStoreContent.parse_raw(message.item_content)
237+
message_content = CostEstimationStoreContent.model_validate_json(
238+
message.item_content
239+
)
238240
message_content.estimated_size_mib = uploaded_file.size / MiB
239241

240242
if message_content.item_hash != file_hash:
@@ -336,7 +338,7 @@ async def storage_add_file(request: web.Request):
336338
metadata.file.read() if isinstance(metadata, FileField) else metadata
337339
)
338340
try:
339-
storage_metadata = StorageMetadata.parse_raw(metadata_bytes)
341+
storage_metadata = StorageMetadata.model_validate_json(metadata_bytes)
340342
except ValidationError as e:
341343
raise web.HTTPUnprocessableEntity(
342344
reason=f"Could not decode metadata: {e.json()}"

tests/chains/test_chain_data_service.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ async def mock_add_file(
4545
session: DbSession, file_content: bytes, engine: ItemType = ItemType.ipfs
4646
) -> str:
4747
content = file_content
48-
archive = OnChainSyncEventPayload.parse_raw(content)
48+
archive = OnChainSyncEventPayload.model_validate_json(content)
4949

5050
assert archive.version == 1
5151
assert len(archive.content.messages) == len(messages)
@@ -113,7 +113,7 @@ async def test_smart_contract_protocol_ipfs_store(
113113
assert pending_message.channel is None
114114

115115
assert pending_message.item_content
116-
message_content = StoreContent.parse_raw(pending_message.item_content)
116+
message_content = StoreContent.model_validate_json(pending_message.item_content)
117117
assert message_content.item_hash == payload.message_content
118118
assert message_content.item_type == ItemType.ipfs
119119
assert message_content.address == payload.addr
@@ -173,7 +173,7 @@ async def test_smart_contract_protocol_regular_message(
173173
assert pending_message.channel is None
174174

175175
assert pending_message.item_content
176-
message_content = PostContent.parse_raw(pending_message.item_content)
176+
message_content = PostContent.model_validate_json(pending_message.item_content)
177177
assert message_content.address == content.address
178178
assert message_content.time == content.time
179179
assert message_content.ref == content.ref

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ def insert_volume_refs(session: DbSession, message: PendingMessageDb):
319319
Insert volume references in the DB to make the program processable.
320320
"""
321321

322-
content = InstanceContent.parse_raw(message.item_content)
322+
content = InstanceContent.model_validate_json(message.item_content)
323323
volumes = get_volume_refs(content)
324324

325325
created = pytz.utc.localize(dt.datetime(2023, 1, 1))

tests/db/test_cost.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def insert_volume_refs(session: DbSession, message: MessageDb):
6161
"""
6262

6363
if message.item_content:
64-
content = InstanceContent.parse_raw(message.item_content)
64+
content = InstanceContent.model_validate_json(message.item_content)
6565
volumes = get_volume_refs(content)
6666

6767
created = pytz.utc.localize(dt.datetime(2023, 1, 1))
@@ -98,7 +98,7 @@ async def insert_costs(session: DbSession, message: MessageDb):
9898
"""
9999

100100
if message.item_content:
101-
content = InstanceContent.parse_raw(message.item_content)
101+
content = InstanceContent.model_validate_json(message.item_content)
102102

103103
_, costs = get_total_and_detailed_costs(session, content, message.item_hash)
104104

tests/message_processing/test_process_confidential.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def get_volume_refs(content: ExecutableContent) -> List[ImmutableVolume]:
194194

195195
def insert_volume_refs(session: DbSession, message: PendingMessageDb):
196196
item_content = message.item_content if message.item_content is not None else ""
197-
content = InstanceContent.parse_raw(item_content)
197+
content = InstanceContent.model_validate_json(item_content)
198198
volumes = get_volume_refs(content)
199199
created = pytz.utc.localize(dt.datetime(2023, 1, 1))
200200

tests/message_processing/test_process_instances.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ def insert_volume_refs(session: DbSession, message: PendingMessageDb):
338338
"""
339339

340340
assert message.item_content
341-
content = InstanceContent.parse_raw(message.item_content)
341+
content = InstanceContent.model_validate_json(message.item_content)
342342
volumes = get_volume_refs(content)
343343

344344
created = pytz.utc.localize(dt.datetime(2023, 1, 1))
@@ -488,7 +488,9 @@ async def test_process_instance_missing_volumes(
488488
assert rejected_message.error_code == ErrorCode.VM_VOLUME_NOT_FOUND
489489

490490
if fixture_instance_message.item_content:
491-
content = InstanceContent.parse_raw(fixture_instance_message.item_content)
491+
content = InstanceContent.model_validate_json(
492+
fixture_instance_message.item_content
493+
)
492494
volume_refs = set(volume.ref for volume in get_volume_refs(content))
493495
assert isinstance(rejected_message.details, dict)
494496
assert set(rejected_message.details["errors"]) == volume_refs
@@ -570,7 +572,9 @@ async def test_get_additional_storage_price(
570572
session.commit()
571573

572574
if fixture_instance_message.item_content:
573-
content = InstanceContent.parse_raw(fixture_instance_message.item_content)
575+
content = InstanceContent.model_validate_json(
576+
fixture_instance_message.item_content
577+
)
574578
with session_factory() as session:
575579
settings = _get_settings(session)
576580
pricing = _get_product_price(session, content, settings)
@@ -605,7 +609,9 @@ async def test_get_total_and_detailed_costs_from_db(
605609
_ = [message async for message in pipeline]
606610

607611
if fixture_instance_message.item_content:
608-
content = InstanceContent.parse_raw(fixture_instance_message.item_content)
612+
content = InstanceContent.model_validate_json(
613+
fixture_instance_message.item_content
614+
)
609615
with session_factory() as session:
610616
cost, _ = get_total_and_detailed_costs(
611617
session=session,
@@ -634,7 +640,7 @@ async def test_compare_account_cost_with_cost_function_hold(
634640
_ = [message async for message in pipeline]
635641

636642
assert fixture_instance_message.item_content
637-
content = InstanceContent.parse_raw(fixture_instance_message.item_content)
643+
content = InstanceContent.model_validate_json(fixture_instance_message.item_content)
638644
with session_factory() as session:
639645
db_cost, _ = get_total_and_detailed_costs_from_db(
640646
session=session,
@@ -670,7 +676,7 @@ async def test_compare_account_cost_with_cost_payg_funct(
670676

671677
assert fixture_instance_message_payg.item_content
672678

673-
content = InstanceContent.parse_raw(
679+
content = InstanceContent.model_validate_json(
674680
fixture_instance_message_payg.item_content
675681
) # Parse again
676682

@@ -777,7 +783,7 @@ async def test_compare_account_cost_with_cost_function_without_volume(
777783
_ = [message async for message in pipeline]
778784

779785
assert fixture_instance_message_only_rootfs.item_content
780-
content = InstanceContent.parse_raw(
786+
content = InstanceContent.model_validate_json(
781787
fixture_instance_message_only_rootfs.item_content
782788
)
783789
with session_factory() as session:

tests/message_processing/test_process_programs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def insert_volume_refs(session: DbSession, message: PendingMessageDb):
117117
"""
118118

119119
assert message.item_content
120-
content = ProgramContent.parse_raw(message.item_content)
120+
content = ProgramContent.model_validate_json(message.item_content)
121121
volumes = get_volumes_with_ref(content)
122122

123123
created = pytz.utc.localize(dt.datetime(2023, 1, 1))
@@ -302,7 +302,7 @@ async def test_process_program_missing_volumes(
302302
assert rejected_message.error_code == ErrorCode.VM_VOLUME_NOT_FOUND
303303

304304
assert program_message.item_content
305-
content = ProgramContent.parse_raw(program_message.item_content)
305+
content = ProgramContent.model_validate_json(program_message.item_content)
306306
volume_refs = set(volume.ref for volume in get_volumes_with_ref(content))
307307
assert isinstance(rejected_message.details, dict)
308308
assert set(rejected_message.details["errors"]) == volume_refs

0 commit comments

Comments
 (0)