#2887 - Further fixes to unit tests

This commit is contained in:
Charlie Crane
2025-01-30 17:33:00 +00:00
parent 4b42a74ac8
commit 3d47b9c863
2 changed files with 5 additions and 1 deletions

View File

@@ -1532,6 +1532,7 @@ class Node(SimComponent, ABC):
model_config = ConfigDict(arbitrary_types_allowed=True) model_config = ConfigDict(arbitrary_types_allowed=True)
"""Configure pydantic to allow arbitrary types, let the instance have attributes not present in the model.""" """Configure pydantic to allow arbitrary types, let the instance have attributes not present in the model."""
hostname: str = "default" hostname: str = "default"
"The node hostname on the network." "The node hostname on the network."
@@ -1568,6 +1569,8 @@ class Node(SimComponent, ABC):
default_gateway: Optional[IPV4Address] = None default_gateway: Optional[IPV4Address] = None
"The default gateway IP address for forwarding network traffic to other networks." "The default gateway IP address for forwarding network traffic to other networks."
operating_state: Any = None
@property @property
def dns_server(self) -> Optional[IPv4Address]: def dns_server(self) -> Optional[IPv4Address]:
return self.config.dns_server return self.config.dns_server
@@ -1579,7 +1582,6 @@ class Node(SimComponent, ABC):
msg = f"Configuration contains an invalid Node type: {config['type']}" msg = f"Configuration contains an invalid Node type: {config['type']}"
return ValueError(msg) return ValueError(msg)
obj = cls(config=cls.ConfigSchema(**config)) obj = cls(config=cls.ConfigSchema(**config))
obj.operating_state = NodeOperatingState.ON if not (p := config.get("operating_state")) else NodeOperatingState[p.upper()]
return obj return obj
def __init_subclass__(cls, identifier: Optional[str] = None, **kwargs: Any) -> None: def __init_subclass__(cls, identifier: Optional[str] = None, **kwargs: Any) -> None:
@@ -1623,6 +1625,7 @@ class Node(SimComponent, ABC):
dns_server=kwargs["config"].dns_server, dns_server=kwargs["config"].dns_server,
) )
super().__init__(**kwargs) super().__init__(**kwargs)
self.operating_state = NodeOperatingState.ON if not (p := kwargs["config"].operating_state) else NodeOperatingState[p.upper()]
self._install_system_software() self._install_system_software()
self.session_manager.node = self self.session_manager.node = self
self.session_manager.software_manager = self.software_manager self.session_manager.software_manager = self.software_manager

View File

@@ -140,6 +140,7 @@ class SoftwareManager:
elif isinstance(software, Service): elif isinstance(software, Service):
self.node.services[software.uuid] = software self.node.services[software.uuid] = software
self.node._service_request_manager.add_request(software.name, RequestType(func=software._request_manager)) self.node._service_request_manager.add_request(software.name, RequestType(func=software._request_manager))
software.start()
software.install() software.install()
software.software_manager = self software.software_manager = self
self.software[software.name] = software self.software[software.name] = software