diff --git a/src/primaite/simulator/core.py b/src/primaite/simulator/core.py index caba5210..8b771cd7 100644 --- a/src/primaite/simulator/core.py +++ b/src/primaite/simulator/core.py @@ -127,6 +127,7 @@ class SimComponent(BaseModel): """Extension of pydantic BaseModel with additional methods that must be defined by all classes in the simulator.""" model_config = ConfigDict(arbitrary_types_allowed=True, extra=Extra.allow) + """Configure pydantic to allow arbitrary types and to let the instance have attributes not present in model.""" uuid: str """The component UUID.""" diff --git a/src/primaite/simulator/domain/account.py b/src/primaite/simulator/domain/account.py index 79d0de23..e8595afa 100644 --- a/src/primaite/simulator/domain/account.py +++ b/src/primaite/simulator/domain/account.py @@ -55,9 +55,9 @@ class Account(SimComponent): self.enabled = False def log_on(self) -> None: - """TODO.""" + """TODO. Once the accounts are integrated with nodes, populate this accordingly.""" self.num_logons += 1 def log_off(self) -> None: - """TODO.""" + """TODO. Once the accounts are integrated with nodes, populate this accordingly.""" self.num_logoffs += 1 diff --git a/tests/unit_tests/_primaite/_simulator/_domain/test_account.py b/tests/unit_tests/_primaite/_simulator/_domain/test_account.py index aadf1c69..3a2a5903 100644 --- a/tests/unit_tests/_primaite/_simulator/_domain/test_account.py +++ b/tests/unit_tests/_primaite/_simulator/_domain/test_account.py @@ -3,14 +3,14 @@ from primaite.simulator.domain.account import Account, AccountType def test_account_serialise(): - """Test that an account can be serialised.""" - acct = Account(username="Jake", password="JakePass1!", account_type=AccountType.USER) + """Test that an account can be serialised. If pydantic throws error then this test fails.""" + acct = Account(username="Jake", password="JakePass1!", account_type=AccountType.user) serialised = acct.model_dump_json() print(serialised) def test_account_deserialise(): - """Test that an account can be deserialised.""" + """Test that an account can be deserialised. The test fails if pydantic throws an error.""" acct_json = ( '{"uuid":"dfb2bcaa-d3a1-48fd-af3f-c943354622b4","num_logons":0,"num_logoffs":0,"num_group_changes":0,' '"username":"Jake","password":"JakePass1!","account_type":2,"status":2,"action_manager":null}'