From 9b5d95cbb9b0ee142a5874ed97fb3e4fcbad839a Mon Sep 17 00:00:00 2001 From: "Czar.Echavez" Date: Fri, 13 Oct 2023 10:41:27 +0100 Subject: [PATCH] #1947: refactor am->rm to align with refactor of ActionManager->RequestManager --- src/primaite/simulator/core.py | 6 ++-- src/primaite/simulator/domain/controller.py | 6 ++-- .../simulator/file_system/file_system.py | 24 ++++++------- src/primaite/simulator/network/container.py | 6 ++-- .../simulator/network/hardware/base.py | 34 +++++++++---------- .../network/hardware/nodes/router.py | 14 ++++---- src/primaite/simulator/sim_container.py | 8 ++--- .../simulator/system/services/service.py | 20 +++++------ src/primaite/simulator/system/software.py | 8 ++--- 9 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/primaite/simulator/core.py b/src/primaite/simulator/core.py index cb3e7390..fb6db3ac 100644 --- a/src/primaite/simulator/core.py +++ b/src/primaite/simulator/core.py @@ -173,9 +173,9 @@ class SimComponent(BaseModel): class WebBrowser(Application): def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() # all requests generic to any Application get initialised - am.add_request(...) # initialise any requests specific to the web browser - return am + rm = super()._init_request_manager() # all requests generic to any Application get initialised + rm.add_request(...) # initialise any requests specific to the web browser + return rm :return: Request manager object belonging to this sim component. :rtype: RequestManager diff --git a/src/primaite/simulator/domain/controller.py b/src/primaite/simulator/domain/controller.py index 66900327..e9f3b26d 100644 --- a/src/primaite/simulator/domain/controller.py +++ b/src/primaite/simulator/domain/controller.py @@ -80,17 +80,17 @@ class DomainController(SimComponent): super().__init__(**kwargs) def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() + rm = super()._init_request_manager() # Action 'account' matches requests like: # ['account', '', *account_action] - am.add_request( + rm.add_request( "account", RequestType( func=lambda request, context: self.accounts[request.pop(0)].apply_request(request, context), validator=GroupMembershipValidator(allowed_groups=[AccountGroup.DOMAIN_ADMIN]), ), ) - return am + return rm def describe_state(self) -> Dict: """ diff --git a/src/primaite/simulator/file_system/file_system.py b/src/primaite/simulator/file_system/file_system.py index 5a089c9b..a821ae40 100644 --- a/src/primaite/simulator/file_system/file_system.py +++ b/src/primaite/simulator/file_system/file_system.py @@ -105,14 +105,14 @@ class FileSystemItemABC(SimComponent): return convert_size(self.size) def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() - am.add_request("scan", RequestType(func=lambda request, context: self.scan())) # TODO implement request - am.add_request("checkhash", RequestType(func=lambda request, context: self.checkhash())) - am.add_request("delete", RequestType(func=lambda request, context: ...)) # TODO implement request - am.add_request("restore", RequestType(func=lambda request, context: ...)) # TODO implement request - am.add_request("repair", RequestType(func=lambda request, context: self.repair())) - am.add_request("corrupt", RequestType(func=lambda request, context: self.corrupt())) - return am + rm = super()._init_request_manager() + rm.add_request("scan", RequestType(func=lambda request, context: self.scan())) + rm.add_request("checkhash", RequestType(func=lambda request, context: self.checkhash())) + rm.add_request("delete", RequestType(func=lambda request, context: self.delete())) + rm.add_request("restore", RequestType(func=lambda request, context: self.restore())) + rm.add_request("repair", RequestType(func=lambda request, context: self.repair())) + rm.add_request("corrupt", RequestType(func=lambda request, context: self.corrupt())) + return rm def scan(self) -> None: """Update the FileSystemItem states.""" @@ -158,15 +158,15 @@ class FileSystem(SimComponent): self.create_folder("root") def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() + rm = super()._init_request_manager() self._folder_request_manager = RequestManager() - am.add_request("folder", RequestType(func=self._folder_request_manager)) + rm.add_request("folder", RequestType(func=self._folder_request_manager)) self._file_request_manager = RequestManager() - am.add_request("file", RequestType(func=self._file_request_manager)) + rm.add_request("file", RequestType(func=self._file_request_manager)) - return am + return rm @property def size(self) -> int: diff --git a/src/primaite/simulator/network/container.py b/src/primaite/simulator/network/container.py index bc717641..3516ef96 100644 --- a/src/primaite/simulator/network/container.py +++ b/src/primaite/simulator/network/container.py @@ -44,13 +44,13 @@ class Network(SimComponent): self._nx_graph = MultiGraph() def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() + rm = super()._init_request_manager() self._node_request_manager = RequestManager() - am.add_request( + rm.add_request( "node", RequestType(func=self._node_request_manager), ) - return am + return rm @property def routers(self) -> List[Router]: diff --git a/src/primaite/simulator/network/hardware/base.py b/src/primaite/simulator/network/hardware/base.py index 5f2699e8..23ad7904 100644 --- a/src/primaite/simulator/network/hardware/base.py +++ b/src/primaite/simulator/network/hardware/base.py @@ -145,12 +145,12 @@ class NIC(SimComponent): return state def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() + rm = super()._init_request_manager() - am.add_request("enable", RequestType(func=lambda request, context: self.enable())) - am.add_request("disable", RequestType(func=lambda request, context: self.disable())) + rm.add_request("enable", RequestType(func=lambda request, context: self.enable())) + rm.add_request("disable", RequestType(func=lambda request, context: self.disable())) - return am + return rm @property def ip_network(self) -> IPv4Network: @@ -951,30 +951,30 @@ class Node(SimComponent): def _init_request_manager(self) -> RequestManager: # TODO: I see that this code is really confusing and hard to read right now... I think some of these things will # need a better name and better documentation. - am = super()._init_request_manager() + rm = super()._init_request_manager() # since there are potentially many services, create an request manager that can map service name self._service_request_manager = RequestManager() - am.add_request("service", RequestType(func=self._service_request_manager)) + rm.add_request("service", RequestType(func=self._service_request_manager)) self._nic_request_manager = RequestManager() - am.add_request("nic", RequestType(func=self._nic_request_manager)) + rm.add_request("nic", RequestType(func=self._nic_request_manager)) - am.add_request("file_system", RequestType(func=self.file_system._request_manager)) + rm.add_request("file_system", RequestType(func=self.file_system._request_manager)) # currently we don't have any applications nor processes, so these will be empty self._process_request_manager = RequestManager() - am.add_request("process", RequestType(func=self._process_request_manager)) + rm.add_request("process", RequestType(func=self._process_request_manager)) self._application_request_manager = RequestManager() - am.add_request("application", RequestType(func=self._application_request_manager)) + rm.add_request("application", RequestType(func=self._application_request_manager)) - am.add_request("scan", RequestType(func=lambda request, context: ...)) # TODO implement OS scan + rm.add_request("scan", RequestType(func=lambda request, context: ...)) # TODO implement OS scan - am.add_request("shutdown", RequestType(func=lambda request, context: self.power_off())) - am.add_request("startup", RequestType(func=lambda request, context: self.power_on())) - am.add_request("reset", RequestType(func=lambda request, context: ...)) # TODO implement node reset - am.add_request("logon", RequestType(func=lambda request, context: ...)) # TODO implement logon request - am.add_request("logoff", RequestType(func=lambda request, context: ...)) # TODO implement logoff request + rm.add_request("shutdown", RequestType(func=lambda request, context: self.power_off())) + rm.add_request("startup", RequestType(func=lambda request, context: self.power_on())) + rm.add_request("reset", RequestType(func=lambda request, context: ...)) # TODO implement node reset + rm.add_request("logon", RequestType(func=lambda request, context: ...)) # TODO implement logon request + rm.add_request("logoff", RequestType(func=lambda request, context: ...)) # TODO implement logoff request - return am + return rm def _install_system_software(self): """Install System Software - software that is usually provided with the OS.""" diff --git a/src/primaite/simulator/network/hardware/nodes/router.py b/src/primaite/simulator/network/hardware/nodes/router.py index c56bf538..cf7e838f 100644 --- a/src/primaite/simulator/network/hardware/nodes/router.py +++ b/src/primaite/simulator/network/hardware/nodes/router.py @@ -88,7 +88,7 @@ class AccessControlList(SimComponent): self._acl = [None] * (self.max_acl_rules - 1) def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() + rm = super()._init_request_manager() # When the request reaches this action, it should now contain solely positional args for the 'add_rule' action. # POSITIONAL ARGUMENTS: @@ -99,7 +99,7 @@ class AccessControlList(SimComponent): # 4: destination ip address (str castable to IPV4Address (e.g. '10.10.1.2')) # 5: destination port (str name of a Port (e.g. "HTTP")) # 6: position (int) - am.add_request( + rm.add_request( "add_rule", RequestType( func=lambda request, context: self.add_rule( @@ -114,8 +114,8 @@ class AccessControlList(SimComponent): ), ) - am.add_request("remove_rule", RequestType(func=lambda request, context: self.remove_rule(int(request[0])))) - return am + rm.add_request("remove_rule", RequestType(func=lambda request, context: self.remove_rule(int(request[0])))) + return rm def describe_state(self) -> Dict: """ @@ -627,9 +627,9 @@ class Router(Node): self.icmp.arp = self.arp def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() - am.add_request("acl", RequestType(func=self.acl._request_manager)) - return am + rm = super()._init_request_manager() + rm.add_request("acl", RequestType(func=self.acl._request_manager)) + return rm def _get_port_of_nic(self, target_nic: NIC) -> Optional[int]: """ diff --git a/src/primaite/simulator/sim_container.py b/src/primaite/simulator/sim_container.py index 2e88f3b4..b08a5b6a 100644 --- a/src/primaite/simulator/sim_container.py +++ b/src/primaite/simulator/sim_container.py @@ -22,12 +22,12 @@ class Simulation(SimComponent): super().__init__(**kwargs) def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() + rm = super()._init_request_manager() # pass through network requests to the network objects - am.add_request("network", RequestType(func=self.network._request_manager)) + rm.add_request("network", RequestType(func=self.network._request_manager)) # pass through domain requests to the domain object - am.add_request("domain", RequestType(func=self.domain._request_manager)) - return am + rm.add_request("domain", RequestType(func=self.domain._request_manager)) + return rm def describe_state(self) -> Dict: """ diff --git a/src/primaite/simulator/system/services/service.py b/src/primaite/simulator/system/services/service.py index ca09ae60..82eab7d9 100644 --- a/src/primaite/simulator/system/services/service.py +++ b/src/primaite/simulator/system/services/service.py @@ -44,16 +44,16 @@ class Service(IOSoftware): "If currently restarting, how many timesteps remain until the restart is finished." def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() - am.add_request("scan", RequestType(func=lambda request, context: self.scan())) - am.add_request("stop", RequestType(func=lambda request, context: self.stop())) - am.add_request("start", RequestType(func=lambda request, context: self.start())) - am.add_request("pause", RequestType(func=lambda request, context: self.pause())) - am.add_request("resume", RequestType(func=lambda request, context: self.resume())) - am.add_request("restart", RequestType(func=lambda request, context: self.restart())) - am.add_request("disable", RequestType(func=lambda request, context: self.disable())) - am.add_request("enable", RequestType(func=lambda request, context: self.enable())) - return am + rm = super()._init_request_manager() + rm.add_request("scan", RequestType(func=lambda request, context: self.scan())) + rm.add_request("stop", RequestType(func=lambda request, context: self.stop())) + rm.add_request("start", RequestType(func=lambda request, context: self.start())) + rm.add_request("pause", RequestType(func=lambda request, context: self.pause())) + rm.add_request("resume", RequestType(func=lambda request, context: self.resume())) + rm.add_request("restart", RequestType(func=lambda request, context: self.restart())) + rm.add_request("disable", RequestType(func=lambda request, context: self.disable())) + rm.add_request("enable", RequestType(func=lambda request, context: self.enable())) + return rm def describe_state(self) -> Dict: """ diff --git a/src/primaite/simulator/system/software.py b/src/primaite/simulator/system/software.py index 1fafd137..e692582e 100644 --- a/src/primaite/simulator/system/software.py +++ b/src/primaite/simulator/system/software.py @@ -88,15 +88,15 @@ class Software(SimComponent): "The folder on the file system the Software uses." def _init_request_manager(self) -> RequestManager: - am = super()._init_request_manager() - am.add_request( + rm = super()._init_request_manager() + rm.add_request( "compromise", RequestType( func=lambda request, context: self.set_health_state(SoftwareHealthState.COMPROMISED), ), ) - am.add_request("scan", RequestType(func=lambda request, context: self.scan())) - return am + rm.add_request("scan", RequestType(func=lambda request, context: self.scan())) + return rm def _get_session_details(self, session_id: str) -> Session: """