migrate from pydantic v1 to v2

This commit is contained in:
better629 2023-12-26 14:44:09 +08:00
parent 0569fc5560
commit 66925dd791
29 changed files with 143 additions and 158 deletions

View file

@ -10,7 +10,7 @@ from metagpt.roles.architect import Architect
def test_architect_serialize():
role = Architect()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
assert "name" in ser_role_dict
assert "_states" in ser_role_dict
assert "_actions" in ser_role_dict
@ -19,7 +19,7 @@ def test_architect_serialize():
@pytest.mark.asyncio
async def test_architect_deserialize():
role = Architect()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
new_role = Architect(**ser_role_dict)
# new_role = Architect.deserialize(ser_role_dict)
assert new_role.name == "Bob"

View file

@ -20,14 +20,14 @@ from tests.metagpt.serialize_deserialize.test_serdeser_base import (
def test_env_serialize():
env = Environment()
ser_env_dict = env.dict()
ser_env_dict = env.model_dump()
assert "roles" in ser_env_dict
def test_env_deserialize():
env = Environment()
env.publish_message(message=Message(content="test env serialize"))
ser_env_dict = env.dict()
ser_env_dict = env.model_dump()
new_env = Environment(**ser_env_dict)
assert len(new_env.roles) == 0
assert len(new_env.history) == 25
@ -47,7 +47,7 @@ def test_environment_serdeser():
environment.add_role(role_c)
environment.publish_message(message)
ser_data = environment.dict()
ser_data = environment.model_dump()
assert ser_data["roles"]["Role C"]["name"] == "RoleC"
new_env: Environment = Environment(**ser_data)
@ -64,7 +64,7 @@ def test_environment_serdeser_v2():
pm = ProjectManager()
environment.add_role(pm)
ser_data = environment.dict()
ser_data = environment.model_dump()
new_env: Environment = Environment(**ser_data)
role = new_env.get_role(pm.profile)

View file

@ -25,7 +25,7 @@ def test_memory_serdeser():
memory = Memory()
memory.add_batch([msg1, msg2])
ser_data = memory.dict()
ser_data = memory.model_dump()
new_memory = Memory(**ser_data)
assert new_memory.count() == 2

View file

@ -12,7 +12,7 @@ from metagpt.schema import Message
@pytest.mark.asyncio
async def test_product_manager_deserialize():
role = ProductManager()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
new_role = ProductManager(**ser_role_dict)
assert new_role.name == "Alice"

View file

@ -11,7 +11,7 @@ from metagpt.roles.project_manager import ProjectManager
def test_project_manager_serialize():
role = ProjectManager()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
assert "name" in ser_role_dict
assert "_states" in ser_role_dict
assert "_actions" in ser_role_dict
@ -20,7 +20,7 @@ def test_project_manager_serialize():
@pytest.mark.asyncio
async def test_project_manager_deserialize():
role = ProjectManager()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
new_role = ProjectManager(**ser_role_dict)
assert new_role.name == "Eve"

View file

@ -34,7 +34,7 @@ def test_roles():
def test_role_serialize():
role = Role()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
assert "name" in ser_role_dict
assert "_states" in ser_role_dict
assert "_actions" in ser_role_dict
@ -42,7 +42,7 @@ def test_role_serialize():
def test_engineer_serialize():
role = Engineer()
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
assert "name" in ser_role_dict
assert "_states" in ser_role_dict
assert "_actions" in ser_role_dict
@ -51,7 +51,7 @@ def test_engineer_serialize():
@pytest.mark.asyncio
async def test_engineer_deserialize():
role = Engineer(use_code_review=True)
ser_role_dict = role.dict(by_alias=True)
ser_role_dict = role.model_dump(by_alias=True)
new_role = Engineer(**ser_role_dict)
assert new_role.name == "Alex"

View file

@ -31,7 +31,7 @@ def test_message_without_postprocess():
out_data = {"field1": ["field1 value1", "field1 value2"]}
ic_obj = ActionNode.create_model_class("code", out_mapping)
message = MockMessage(content="code", instruct_content=ic_obj(**out_data))
ser_data = message.dict()
ser_data = message.model_dump()
assert ser_data["instruct_content"] == {"field1": ["field1 value1", "field1 value2"]}
new_message = MockMessage(**ser_data)

View file

@ -33,7 +33,7 @@ def test_team_deserialize():
]
)
assert len(company.env.get_roles()) == 3
ser_company = company.dict()
ser_company = company.model_dump()
new_company = Team(**ser_company)
assert len(new_company.env.get_roles()) == 3
@ -71,7 +71,7 @@ async def test_team_recover():
company.run_project(idea)
await company.run(n_round=4)
ser_data = company.dict()
ser_data = company.model_dump()
new_company = Team(**ser_data)
new_role_c = new_company.env.get_role(role_c.profile)

View file

@ -38,7 +38,7 @@ class TestGetProjectRoot:
def test_any_to_str(self):
class Input(BaseModel):
x: Any
x: Any = None
want: str
inputs = [
@ -56,7 +56,7 @@ class TestGetProjectRoot:
def test_any_to_str_set(self):
class Input(BaseModel):
x: Any
x: Any = None
want: Set
inputs = [

View file

@ -21,8 +21,8 @@ from metagpt.utils.dependency_file import DependencyFile
async def test_dependency_file():
class Input(BaseModel):
x: Union[Path, str]
deps: Optional[Set[Union[Path, str]]]
key: Optional[Union[Path, str]]
deps: Optional[Set[Union[Path, str]]] = None
key: Optional[Union[Path, str]] = None
want: Set[str]
inputs = [