#3062 - First pass at unifying naming convention for discriminators (still errors) [skip ci]
This commit is contained in:
@@ -99,15 +99,15 @@ def basic_network() -> Network:
|
||||
def setup_c2(given_network: Network):
|
||||
"""Installs the C2 Beacon & Server, configures and then returns."""
|
||||
computer_a: Computer = given_network.get_node_by_hostname("node_a")
|
||||
c2_server: C2Server = computer_a.software_manager.software.get("C2Server")
|
||||
c2_server: C2Server = computer_a.software_manager.software.get("c2-server")
|
||||
computer_a.software_manager.install(DatabaseService)
|
||||
computer_a.software_manager.software["DatabaseService"].start()
|
||||
computer_a.software_manager.software["database-service"].start()
|
||||
|
||||
computer_b: Computer = given_network.get_node_by_hostname("node_b")
|
||||
c2_beacon: C2Beacon = computer_b.software_manager.software.get("C2Beacon")
|
||||
c2_beacon: C2Beacon = computer_b.software_manager.software.get("c2-beacon")
|
||||
computer_b.software_manager.install(DatabaseClient)
|
||||
computer_b.software_manager.software["DatabaseClient"].configure(server_ip_address=IPv4Address("192.168.0.2"))
|
||||
computer_b.software_manager.software["DatabaseClient"].run()
|
||||
computer_b.software_manager.software["database-client"].configure(server_ip_address=IPv4Address("192.168.0.2"))
|
||||
computer_b.software_manager.software["database-client"].run()
|
||||
|
||||
c2_beacon.configure(c2_server_ip_address="192.168.0.2", keep_alive_frequency=2)
|
||||
c2_server.run()
|
||||
@@ -177,9 +177,9 @@ def test_c2_suite_configure_request(basic_network):
|
||||
"masquerade_port": 80,
|
||||
}
|
||||
|
||||
network.apply_request(["node", "node_b", "application", "C2Beacon", "configure", c2_beacon_config])
|
||||
network.apply_request(["node", "node_b", "application", "c2-beacon", "configure", c2_beacon_config])
|
||||
network.apply_timestep(0)
|
||||
network.apply_request(["node", "node_b", "application", "C2Beacon", "execute"])
|
||||
network.apply_request(["node", "node_b", "application", "c2-beacon", "execute"])
|
||||
|
||||
assert c2_beacon.c2_connection_active is True
|
||||
assert c2_server.c2_connection_active is True
|
||||
@@ -195,13 +195,13 @@ def test_c2_suite_ransomware_commands(basic_network):
|
||||
# Testing Via Requests:
|
||||
computer_b.software_manager.install(software_class=RansomwareScript)
|
||||
ransomware_config = {"server_ip_address": "192.168.0.2"}
|
||||
network.apply_request(["node", "node_a", "application", "C2Server", "ransomware_configure", ransomware_config])
|
||||
network.apply_request(["node", "node_a", "application", "c2-server", "ransomware_configure", ransomware_config])
|
||||
|
||||
ransomware_script: RansomwareScript = computer_b.software_manager.software["RansomwareScript"]
|
||||
ransomware_script: RansomwareScript = computer_b.software_manager.software["ransomware-script"]
|
||||
|
||||
assert ransomware_script.server_ip_address == "192.168.0.2"
|
||||
|
||||
network.apply_request(["node", "node_a", "application", "C2Server", "ransomware_launch"])
|
||||
network.apply_request(["node", "node_a", "application", "c2-server", "ransomware_launch"])
|
||||
|
||||
database_file = computer_a.software_manager.file_system.get_file("database", "database.db")
|
||||
|
||||
@@ -491,10 +491,10 @@ def test_c2_suite_yaml():
|
||||
|
||||
yaml_network = game.simulation.network
|
||||
computer_a: Computer = yaml_network.get_node_by_hostname("node_a")
|
||||
c2_server: C2Server = computer_a.software_manager.software.get("C2Server")
|
||||
c2_server: C2Server = computer_a.software_manager.software.get("c2-server")
|
||||
|
||||
computer_b: Computer = yaml_network.get_node_by_hostname("node_b")
|
||||
c2_beacon: C2Beacon = computer_b.software_manager.software.get("C2Beacon")
|
||||
c2_beacon: C2Beacon = computer_b.software_manager.software.get("c2-beacon")
|
||||
c2_beacon.configure(
|
||||
c2_server_ip_address=c2_beacon.config.c2_server_ip_address,
|
||||
keep_alive_frequency=c2_beacon.config.keep_alive_frequency,
|
||||
|
||||
@@ -27,20 +27,20 @@ def data_manipulation_bot_and_db_server(client_server) -> Tuple[DataManipulation
|
||||
|
||||
# install db client on computer
|
||||
computer.software_manager.install(DatabaseClient)
|
||||
db_client: DatabaseClient = computer.software_manager.software.get("DatabaseClient")
|
||||
db_client: DatabaseClient = computer.software_manager.software.get("database-client")
|
||||
db_client.run()
|
||||
|
||||
# Install DoSBot on computer
|
||||
computer.software_manager.install(DataManipulationBot)
|
||||
|
||||
data_manipulation_bot: DataManipulationBot = computer.software_manager.software.get("DataManipulationBot")
|
||||
data_manipulation_bot: DataManipulationBot = computer.software_manager.software.get("data-manipulation-bot")
|
||||
data_manipulation_bot.configure(
|
||||
server_ip_address=IPv4Address(server.network_interface[1].ip_address), payload="DELETE"
|
||||
)
|
||||
|
||||
# Install DB Server service on server
|
||||
server.software_manager.install(DatabaseService)
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
db_server_service.start()
|
||||
|
||||
return data_manipulation_bot, computer, db_server_service, server
|
||||
@@ -64,26 +64,26 @@ def data_manipulation_db_server_green_client(example_network) -> Network:
|
||||
|
||||
# install db client on client 1
|
||||
client_1.software_manager.install(DatabaseClient)
|
||||
db_client: DatabaseClient = client_1.software_manager.software.get("DatabaseClient")
|
||||
db_client: DatabaseClient = client_1.software_manager.software.get("database-client")
|
||||
db_client.run()
|
||||
|
||||
# install Data Manipulation bot on client 1
|
||||
client_1.software_manager.install(DataManipulationBot)
|
||||
|
||||
data_manipulation_bot: DataManipulationBot = client_1.software_manager.software.get("DataManipulationBot")
|
||||
data_manipulation_bot: DataManipulationBot = client_1.software_manager.software.get("data-manipulation-bot")
|
||||
data_manipulation_bot.configure(
|
||||
server_ip_address=IPv4Address(server.network_interface[1].ip_address), payload="DELETE"
|
||||
)
|
||||
|
||||
# install db server service on server
|
||||
server.software_manager.install(DatabaseService)
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
db_server_service.start()
|
||||
|
||||
# Install DB client (green) on client 2
|
||||
client_2.software_manager.install(DatabaseClient)
|
||||
|
||||
database_client: DatabaseClient = client_2.software_manager.software.get("DatabaseClient")
|
||||
database_client: DatabaseClient = client_2.software_manager.software.get("database-client")
|
||||
database_client.configure(server_ip_address=IPv4Address(server.network_interface[1].ip_address))
|
||||
database_client.run()
|
||||
|
||||
@@ -137,13 +137,13 @@ def test_data_manipulation_disrupts_green_agent_connection(data_manipulation_db_
|
||||
network: Network = data_manipulation_db_server_green_client
|
||||
|
||||
client_1: Computer = network.get_node_by_hostname("client_1")
|
||||
data_manipulation_bot: DataManipulationBot = client_1.software_manager.software.get("DataManipulationBot")
|
||||
data_manipulation_bot: DataManipulationBot = client_1.software_manager.software.get("data-manipulation-bot")
|
||||
|
||||
client_2: Computer = network.get_node_by_hostname("client_2")
|
||||
green_db_client: DatabaseClient = client_2.software_manager.software.get("DatabaseClient")
|
||||
green_db_client: DatabaseClient = client_2.software_manager.software.get("database-client")
|
||||
|
||||
server: Server = network.get_node_by_hostname("server_1")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
|
||||
green_db_connection: DatabaseClientConnection = green_db_client.get_new_connection()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ def dos_bot_and_db_server(client_server) -> Tuple[DoSBot, Computer, DatabaseServ
|
||||
# Install DoSBot on computer
|
||||
computer.software_manager.install(DoSBot)
|
||||
|
||||
dos_bot: DoSBot = computer.software_manager.software.get("DoSBot")
|
||||
dos_bot: DoSBot = computer.software_manager.software.get("dos-bot")
|
||||
dos_bot.configure(
|
||||
target_ip_address=IPv4Address(server.network_interface[1].ip_address),
|
||||
target_port=PORT_LOOKUP["POSTGRES_SERVER"],
|
||||
@@ -31,7 +31,7 @@ def dos_bot_and_db_server(client_server) -> Tuple[DoSBot, Computer, DatabaseServ
|
||||
|
||||
# Install DB Server service on server
|
||||
server.software_manager.install(DatabaseService)
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
db_server_service.start()
|
||||
|
||||
return dos_bot, computer, db_server_service, server
|
||||
@@ -56,7 +56,7 @@ def dos_bot_db_server_green_client(example_network) -> Network:
|
||||
# install DoS bot on client 1
|
||||
client_1.software_manager.install(DoSBot)
|
||||
|
||||
dos_bot: DoSBot = client_1.software_manager.software.get("DoSBot")
|
||||
dos_bot: DoSBot = client_1.software_manager.software.get("dos-bot")
|
||||
dos_bot.configure(
|
||||
target_ip_address=IPv4Address(server.network_interface[1].ip_address),
|
||||
target_port=PORT_LOOKUP["POSTGRES_SERVER"],
|
||||
@@ -64,13 +64,13 @@ def dos_bot_db_server_green_client(example_network) -> Network:
|
||||
|
||||
# install db server service on server
|
||||
server.software_manager.install(DatabaseService)
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
db_server_service.start()
|
||||
|
||||
# Install DB client (green) on client 2
|
||||
client_2.software_manager.install(DatabaseClient)
|
||||
|
||||
database_client: DatabaseClient = client_2.software_manager.software.get("DatabaseClient")
|
||||
database_client: DatabaseClient = client_2.software_manager.software.get("database-client")
|
||||
database_client.configure(server_ip_address=IPv4Address("192.168.0.1"))
|
||||
database_client.run()
|
||||
|
||||
@@ -159,13 +159,13 @@ def test_dos_blocks_green_agent_connection(dos_bot_db_server_green_client):
|
||||
network: Network = dos_bot_db_server_green_client
|
||||
|
||||
client_1: Computer = network.get_node_by_hostname("client_1")
|
||||
dos_bot: DoSBot = client_1.software_manager.software.get("DoSBot")
|
||||
dos_bot: DoSBot = client_1.software_manager.software.get("dos-bot")
|
||||
|
||||
client_2: Computer = network.get_node_by_hostname("client_2")
|
||||
green_db_client: DatabaseClient = client_2.software_manager.software.get("DatabaseClient")
|
||||
green_db_client: DatabaseClient = client_2.software_manager.software.get("database-client")
|
||||
|
||||
server: Server = network.get_node_by_hostname("server_1")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
|
||||
assert db_server_service.health_state_actual is SoftwareHealthState.GOOD
|
||||
|
||||
|
||||
@@ -22,20 +22,20 @@ def ransomware_script_and_db_server(client_server) -> Tuple[RansomwareScript, Co
|
||||
|
||||
# install db client on computer
|
||||
computer.software_manager.install(DatabaseClient)
|
||||
db_client: DatabaseClient = computer.software_manager.software.get("DatabaseClient")
|
||||
db_client: DatabaseClient = computer.software_manager.software.get("database-client")
|
||||
db_client.run()
|
||||
|
||||
# Install DoSBot on computer
|
||||
computer.software_manager.install(RansomwareScript)
|
||||
|
||||
ransomware_script_application: RansomwareScript = computer.software_manager.software.get("RansomwareScript")
|
||||
ransomware_script_application: RansomwareScript = computer.software_manager.software.get("ransomware-script")
|
||||
ransomware_script_application.configure(
|
||||
server_ip_address=IPv4Address(server.network_interface[1].ip_address), payload="ENCRYPT"
|
||||
)
|
||||
|
||||
# Install DB Server service on server
|
||||
server.software_manager.install(DatabaseService)
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
db_server_service.start()
|
||||
|
||||
return ransomware_script_application, computer, db_server_service, server
|
||||
@@ -59,26 +59,26 @@ def ransomware_script_db_server_green_client(example_network) -> Network:
|
||||
|
||||
# install db client on client 1
|
||||
client_1.software_manager.install(DatabaseClient)
|
||||
db_client: DatabaseClient = client_1.software_manager.software.get("DatabaseClient")
|
||||
db_client: DatabaseClient = client_1.software_manager.software.get("database-client")
|
||||
db_client.run()
|
||||
|
||||
# install Ransomware Script bot on client 1
|
||||
client_1.software_manager.install(RansomwareScript)
|
||||
|
||||
ransomware_script_application: RansomwareScript = client_1.software_manager.software.get("RansomwareScript")
|
||||
ransomware_script_application: RansomwareScript = client_1.software_manager.software.get("ransomware-script")
|
||||
ransomware_script_application.configure(
|
||||
server_ip_address=IPv4Address(server.network_interface[1].ip_address), payload="ENCRYPT"
|
||||
)
|
||||
|
||||
# install db server service on server
|
||||
server.software_manager.install(DatabaseService)
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
db_server_service.start()
|
||||
|
||||
# Install DB client (green) on client 2
|
||||
client_2.software_manager.install(DatabaseClient)
|
||||
|
||||
database_client: DatabaseClient = client_2.software_manager.software.get("DatabaseClient")
|
||||
database_client: DatabaseClient = client_2.software_manager.software.get("database-client")
|
||||
database_client.configure(server_ip_address=IPv4Address(server.network_interface[1].ip_address))
|
||||
database_client.run()
|
||||
|
||||
@@ -110,15 +110,15 @@ def test_ransomware_disrupts_green_agent_connection(ransomware_script_db_server_
|
||||
network: Network = ransomware_script_db_server_green_client
|
||||
|
||||
client_1: Computer = network.get_node_by_hostname("client_1")
|
||||
ransomware_script_application: RansomwareScript = client_1.software_manager.software.get("RansomwareScript")
|
||||
ransomware_script_application: RansomwareScript = client_1.software_manager.software.get("ransomware-script")
|
||||
|
||||
client_2: Computer = network.get_node_by_hostname("client_2")
|
||||
green_db_client: DatabaseClient = client_2.software_manager.software.get("DatabaseClient")
|
||||
green_db_client: DatabaseClient = client_2.software_manager.software.get("database-client")
|
||||
green_db_client.connect()
|
||||
green_db_client_connection: DatabaseClientConnection = green_db_client.get_new_connection()
|
||||
|
||||
server: Server = network.get_node_by_hostname("server_1")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("DatabaseService")
|
||||
db_server_service: DatabaseService = server.software_manager.software.get("database-service")
|
||||
|
||||
assert db_server_service.db_file.health_status is FileSystemItemHealthStatus.GOOD
|
||||
assert green_db_client.query("SELECT") is True
|
||||
|
||||
@@ -21,7 +21,7 @@ def populated_node(application_class) -> Tuple[Application, Computer]:
|
||||
computer.power_on()
|
||||
computer.software_manager.install(application_class)
|
||||
|
||||
app = computer.software_manager.software.get("DummyApplication")
|
||||
app = computer.software_manager.software.get("dummy-application")
|
||||
app.run()
|
||||
|
||||
return app, computer
|
||||
@@ -39,7 +39,7 @@ def test_application_on_offline_node(application_class):
|
||||
)
|
||||
computer.software_manager.install(application_class)
|
||||
|
||||
app: Application = computer.software_manager.software.get("DummyApplication")
|
||||
app: Application = computer.software_manager.software.get("dummy-application")
|
||||
|
||||
computer.power_off()
|
||||
|
||||
|
||||
@@ -31,11 +31,11 @@ def peer_to_peer() -> Tuple[Computer, Computer]:
|
||||
assert node_a.ping("192.168.0.11")
|
||||
|
||||
node_a.software_manager.install(DatabaseClient)
|
||||
node_a.software_manager.software["DatabaseClient"].configure(server_ip_address=IPv4Address("192.168.0.11"))
|
||||
node_a.software_manager.software["DatabaseClient"].run()
|
||||
node_a.software_manager.software["database-client"].configure(server_ip_address=IPv4Address("192.168.0.11"))
|
||||
node_a.software_manager.software["database-client"].run()
|
||||
|
||||
node_b.software_manager.install(DatabaseService)
|
||||
database_service: DatabaseService = node_b.software_manager.software["DatabaseService"] # noqa
|
||||
database_service: DatabaseService = node_b.software_manager.software["database-service"] # noqa
|
||||
database_service.start()
|
||||
return node_a, node_b
|
||||
|
||||
@@ -44,7 +44,7 @@ def peer_to_peer() -> Tuple[Computer, Computer]:
|
||||
def peer_to_peer_secure_db(peer_to_peer) -> Tuple[Computer, Computer]:
|
||||
node_a, node_b = peer_to_peer
|
||||
|
||||
database_service: DatabaseService = node_b.software_manager.software["DatabaseService"] # noqa
|
||||
database_service: DatabaseService = node_b.software_manager.software["database-service"] # noqa
|
||||
database_service.stop()
|
||||
database_service.password = "12345"
|
||||
database_service.start()
|
||||
@@ -54,9 +54,9 @@ def peer_to_peer_secure_db(peer_to_peer) -> Tuple[Computer, Computer]:
|
||||
def test_database_client_server_connection(peer_to_peer):
|
||||
node_a, node_b = peer_to_peer
|
||||
|
||||
db_client: DatabaseClient = node_a.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = node_a.software_manager.software["database-client"]
|
||||
|
||||
db_service: DatabaseService = node_b.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["database-service"]
|
||||
|
||||
db_client.connect()
|
||||
|
||||
@@ -71,9 +71,9 @@ def test_database_client_server_connection(peer_to_peer):
|
||||
def test_database_client_server_correct_password(peer_to_peer_secure_db):
|
||||
node_a, node_b = peer_to_peer_secure_db
|
||||
|
||||
db_client: DatabaseClient = node_a.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = node_a.software_manager.software["database-client"]
|
||||
|
||||
db_service: DatabaseService = node_b.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["database-service"]
|
||||
|
||||
db_client.configure(server_ip_address=IPv4Address("192.168.0.11"), server_password="12345")
|
||||
db_client.connect()
|
||||
@@ -84,9 +84,9 @@ def test_database_client_server_correct_password(peer_to_peer_secure_db):
|
||||
def test_database_client_server_incorrect_password(peer_to_peer_secure_db):
|
||||
node_a, node_b = peer_to_peer_secure_db
|
||||
|
||||
db_client: DatabaseClient = node_a.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = node_a.software_manager.software["database-client"]
|
||||
|
||||
db_service: DatabaseService = node_b.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["database-service"]
|
||||
|
||||
# should fail
|
||||
db_client.connect()
|
||||
@@ -102,7 +102,7 @@ def test_database_client_server_incorrect_password(peer_to_peer_secure_db):
|
||||
def test_database_client_native_connection_query(uc2_network):
|
||||
"""Tests DB query across the network returns HTTP status 200 and date."""
|
||||
web_server: Server = uc2_network.get_node_by_hostname("web_server")
|
||||
db_client: DatabaseClient = web_server.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = web_server.software_manager.software["database-client"]
|
||||
db_client.connect()
|
||||
assert db_client.query(sql="SELECT")
|
||||
assert db_client.query(sql="INSERT")
|
||||
@@ -111,7 +111,7 @@ def test_database_client_native_connection_query(uc2_network):
|
||||
def test_database_client_connection_query(uc2_network):
|
||||
"""Tests DB query across the network returns HTTP status 200 and date."""
|
||||
web_server: Server = uc2_network.get_node_by_hostname("web_server")
|
||||
db_client: DatabaseClient = web_server.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = web_server.software_manager.software["database-client"]
|
||||
|
||||
db_connection: DatabaseClientConnection = db_client.get_new_connection()
|
||||
|
||||
@@ -122,13 +122,13 @@ def test_database_client_connection_query(uc2_network):
|
||||
def test_create_database_backup(uc2_network):
|
||||
"""Run the backup_database method and check if the FTP server has the relevant file."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
# back up should be created
|
||||
assert db_service.backup_database() is True
|
||||
|
||||
backup_server: Server = uc2_network.get_node_by_hostname("backup_server")
|
||||
ftp_server: FTPServer = backup_server.software_manager.software["FTPServer"]
|
||||
ftp_server: FTPServer = backup_server.software_manager.software["ftp-server"]
|
||||
|
||||
# backup file should exist in the backup server
|
||||
assert ftp_server.file_system.get_file(folder_name=db_service.uuid, file_name="database.db") is not None
|
||||
@@ -137,7 +137,7 @@ def test_create_database_backup(uc2_network):
|
||||
def test_restore_backup(uc2_network):
|
||||
"""Run the restore_backup method and check if the backup is properly restored."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
# create a back up
|
||||
assert db_service.backup_database() is True
|
||||
@@ -156,7 +156,7 @@ def test_restore_backup(uc2_network):
|
||||
def test_restore_backup_without_updating_scan(uc2_network):
|
||||
"""Same test as restore backup but the file is previously seen as corrupted."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
# create a back up
|
||||
assert db_service.backup_database() is True
|
||||
@@ -184,7 +184,7 @@ def test_restore_backup_without_updating_scan(uc2_network):
|
||||
def test_restore_backup_after_deleting_file_without_updating_scan(uc2_network):
|
||||
"""Same test as restore backup but the file is previously seen as corrupted."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
assert db_service.backup_database() is True
|
||||
|
||||
@@ -217,7 +217,7 @@ def test_restore_backup_after_deleting_file_without_updating_scan(uc2_network):
|
||||
def test_database_service_fix(uc2_network):
|
||||
"""Test that the software fix applies to database service."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
assert db_service.backup_database() is True
|
||||
|
||||
@@ -242,10 +242,10 @@ def test_database_service_fix(uc2_network):
|
||||
def test_database_cannot_be_queried_while_fixing(uc2_network):
|
||||
"""Tests that the database service cannot be queried if the service is being fixed."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
web_server: Server = uc2_network.get_node_by_hostname("web_server")
|
||||
db_client: DatabaseClient = web_server.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = web_server.software_manager.software["database-client"]
|
||||
|
||||
db_connection: DatabaseClientConnection = db_client.get_new_connection()
|
||||
|
||||
@@ -279,10 +279,10 @@ def test_database_cannot_be_queried_while_fixing(uc2_network):
|
||||
def test_database_can_create_connection_while_fixing(uc2_network):
|
||||
"""Tests that connections cannot be created while the database is being fixed."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"]
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"]
|
||||
|
||||
client_2: Server = uc2_network.get_node_by_hostname("client_2")
|
||||
db_client: DatabaseClient = client_2.software_manager.software["DatabaseClient"]
|
||||
db_client: DatabaseClient = client_2.software_manager.software["database-client"]
|
||||
|
||||
db_connection: DatabaseClientConnection = db_client.get_new_connection()
|
||||
|
||||
@@ -321,13 +321,13 @@ def test_database_can_create_connection_while_fixing(uc2_network):
|
||||
def test_database_client_cannot_query_offline_database_server(uc2_network):
|
||||
"""Tests DB query across the network returns HTTP status 404 when db server is offline."""
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
db_service: DatabaseService = db_server.software_manager.software.get("DatabaseService")
|
||||
db_service: DatabaseService = db_server.software_manager.software.get("database-service")
|
||||
|
||||
assert db_server.operating_state is NodeOperatingState.ON
|
||||
assert db_service.operating_state is ServiceOperatingState.RUNNING
|
||||
|
||||
web_server: Server = uc2_network.get_node_by_hostname("web_server")
|
||||
db_client: DatabaseClient = web_server.software_manager.software.get("DatabaseClient")
|
||||
db_client: DatabaseClient = web_server.software_manager.software.get("database-client")
|
||||
db_client.connect()
|
||||
assert len(db_client.client_connections)
|
||||
|
||||
@@ -351,8 +351,8 @@ def test_database_client_cannot_query_offline_database_server(uc2_network):
|
||||
def test_database_client_uninstall_terminates_connections(peer_to_peer):
|
||||
node_a, node_b = peer_to_peer
|
||||
|
||||
db_client: DatabaseClient = node_a.software_manager.software["DatabaseClient"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["DatabaseService"] # noqa
|
||||
db_client: DatabaseClient = node_a.software_manager.software["database-client"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["database-service"] # noqa
|
||||
|
||||
db_connection: DatabaseClientConnection = db_client.get_new_connection()
|
||||
|
||||
@@ -366,7 +366,7 @@ def test_database_client_uninstall_terminates_connections(peer_to_peer):
|
||||
assert db_connection.query("SELECT")
|
||||
|
||||
# Perform the DatabaseClient uninstall
|
||||
node_a.software_manager.uninstall("DatabaseClient")
|
||||
node_a.software_manager.uninstall("database-client")
|
||||
|
||||
# Check that all connection counters are updated accordingly and client connection can no longer query the database
|
||||
assert len(db_service.connections) == 0
|
||||
@@ -381,8 +381,8 @@ def test_database_client_uninstall_terminates_connections(peer_to_peer):
|
||||
def test_database_service_can_terminate_connection(peer_to_peer):
|
||||
node_a, node_b = peer_to_peer
|
||||
|
||||
db_client: DatabaseClient = node_a.software_manager.software["DatabaseClient"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["DatabaseService"] # noqa
|
||||
db_client: DatabaseClient = node_a.software_manager.software["database-client"]
|
||||
db_service: DatabaseService = node_b.software_manager.software["database-service"] # noqa
|
||||
|
||||
db_connection: DatabaseClientConnection = db_client.get_new_connection()
|
||||
|
||||
@@ -418,7 +418,7 @@ def test_client_connection_terminate_does_not_terminate_another_clients_connecti
|
||||
db_server.power_on()
|
||||
|
||||
db_server.software_manager.install(DatabaseService)
|
||||
db_service: DatabaseService = db_server.software_manager.software["DatabaseService"] # noqa
|
||||
db_service: DatabaseService = db_server.software_manager.software["database-service"] # noqa
|
||||
db_service.start()
|
||||
|
||||
client_a = Computer(
|
||||
@@ -427,8 +427,8 @@ def test_client_connection_terminate_does_not_terminate_another_clients_connecti
|
||||
client_a.power_on()
|
||||
|
||||
client_a.software_manager.install(DatabaseClient)
|
||||
client_a.software_manager.software["DatabaseClient"].configure(server_ip_address=IPv4Address("192.168.0.11"))
|
||||
client_a.software_manager.software["DatabaseClient"].run()
|
||||
client_a.software_manager.software["database-client"].configure(server_ip_address=IPv4Address("192.168.0.11"))
|
||||
client_a.software_manager.software["database-client"].run()
|
||||
|
||||
client_b = Computer(
|
||||
hostname="client_b", ip_address="192.168.0.13", subnet_mask="255.255.255.0", start_up_duration=0
|
||||
@@ -436,8 +436,8 @@ def test_client_connection_terminate_does_not_terminate_another_clients_connecti
|
||||
client_b.power_on()
|
||||
|
||||
client_b.software_manager.install(DatabaseClient)
|
||||
client_b.software_manager.software["DatabaseClient"].configure(server_ip_address=IPv4Address("192.168.0.11"))
|
||||
client_b.software_manager.software["DatabaseClient"].run()
|
||||
client_b.software_manager.software["database-client"].configure(server_ip_address=IPv4Address("192.168.0.11"))
|
||||
client_b.software_manager.software["database-client"].run()
|
||||
|
||||
switch = Switch(hostname="switch", start_up_duration=0, num_ports=3)
|
||||
switch.power_on()
|
||||
@@ -446,13 +446,13 @@ def test_client_connection_terminate_does_not_terminate_another_clients_connecti
|
||||
network.connect(endpoint_a=switch.network_interface[2], endpoint_b=client_a.network_interface[1])
|
||||
network.connect(endpoint_a=switch.network_interface[3], endpoint_b=client_b.network_interface[1])
|
||||
|
||||
db_client_a: DatabaseClient = client_a.software_manager.software["DatabaseClient"] # noqa
|
||||
db_client_a: DatabaseClient = client_a.software_manager.software["database-client"] # noqa
|
||||
db_connection_a = db_client_a.get_new_connection()
|
||||
|
||||
assert db_connection_a.query("SELECT")
|
||||
assert len(db_service.connections) == 1
|
||||
|
||||
db_client_b: DatabaseClient = client_b.software_manager.software["DatabaseClient"] # noqa
|
||||
db_client_b: DatabaseClient = client_b.software_manager.software["database-client"] # noqa
|
||||
db_connection_b = db_client_b.get_new_connection()
|
||||
|
||||
assert db_connection_b.query("SELECT")
|
||||
@@ -467,4 +467,4 @@ def test_client_connection_terminate_does_not_terminate_another_clients_connecti
|
||||
def test_database_server_install_ftp_client():
|
||||
server = Server(hostname="db_server", ip_address="192.168.1.2", subnet_mask="255.255.255.0", start_up_duration=0)
|
||||
server.software_manager.install(DatabaseService)
|
||||
assert server.software_manager.software.get("FTPClient")
|
||||
assert server.software_manager.software.get("ftp-client")
|
||||
|
||||
@@ -18,14 +18,14 @@ def dns_client_and_dns_server(client_server) -> Tuple[DNSClient, Computer, DNSSe
|
||||
|
||||
# Install DNS Client on computer
|
||||
computer.software_manager.install(DNSClient)
|
||||
dns_client: DNSClient = computer.software_manager.software.get("DNSClient")
|
||||
dns_client: DNSClient = computer.software_manager.software.get("dns-client")
|
||||
dns_client.start()
|
||||
# set server as DNS Server
|
||||
dns_client.dns_server = IPv4Address(server.network_interfaces.get(next(iter(server.network_interfaces))).ip_address)
|
||||
|
||||
# Install DNS Server on server
|
||||
server.software_manager.install(DNSServer)
|
||||
dns_server: DNSServer = server.software_manager.software.get("DNSServer")
|
||||
dns_server: DNSServer = server.software_manager.software.get("dns-server")
|
||||
dns_server.start()
|
||||
# register arcd.com as a domain
|
||||
dns_server.dns_register(
|
||||
|
||||
@@ -17,12 +17,12 @@ def ftp_client_and_ftp_server(client_server) -> Tuple[FTPClient, Computer, FTPSe
|
||||
|
||||
# Install FTP Client service on computer
|
||||
computer.software_manager.install(FTPClient)
|
||||
ftp_client: FTPClient = computer.software_manager.software.get("FTPClient")
|
||||
ftp_client: FTPClient = computer.software_manager.software.get("ftp-client")
|
||||
ftp_client.start()
|
||||
|
||||
# Install FTP Server service on server
|
||||
server.software_manager.install(FTPServer)
|
||||
ftp_server: FTPServer = server.software_manager.software.get("FTPServer")
|
||||
ftp_server: FTPServer = server.software_manager.software.get("ftp-server")
|
||||
ftp_server.start()
|
||||
|
||||
return ftp_client, computer, ftp_server, server
|
||||
|
||||
@@ -15,7 +15,7 @@ def test_ping_scan_all_on(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
expected_result = [IPv4Address("192.168.1.10"), IPv4Address("192.168.1.14")]
|
||||
actual_result = client_1_nmap.ping_scan(target_ip_address=["192.168.1.10", "192.168.1.14"])
|
||||
@@ -27,7 +27,7 @@ def test_ping_scan_all_on_full_network(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
expected_result = [IPv4Address("192.168.1.1"), IPv4Address("192.168.1.10"), IPv4Address("192.168.1.14")]
|
||||
actual_result = client_1_nmap.ping_scan(target_ip_address=IPv4Network("192.168.1.0/24"))
|
||||
@@ -39,7 +39,7 @@ def test_ping_scan_some_on(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
network.get_node_by_hostname("server_2").power_off()
|
||||
|
||||
@@ -53,7 +53,7 @@ def test_ping_scan_all_off(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
network.get_node_by_hostname("server_1").power_off()
|
||||
network.get_node_by_hostname("server_2").power_off()
|
||||
@@ -68,7 +68,7 @@ def test_port_scan_one_node_one_port(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
client_2 = network.get_node_by_hostname("client_2")
|
||||
|
||||
@@ -99,7 +99,7 @@ def test_port_scan_full_subnet_all_ports_and_protocols(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
actual_result = client_1_nmap.port_scan(
|
||||
target_ip_address=IPv4Network("192.168.10.0/24"),
|
||||
@@ -127,7 +127,7 @@ def test_network_service_recon_all_ports_and_protocols(example_network):
|
||||
network = example_network
|
||||
|
||||
client_1 = network.get_node_by_hostname("client_1")
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["NMAP"] # noqa
|
||||
client_1_nmap: NMAP = client_1.software_manager.software["nmap"] # noqa
|
||||
|
||||
actual_result = client_1_nmap.network_service_recon(
|
||||
target_ip_address=IPv4Network("192.168.10.0/24"),
|
||||
|
||||
@@ -29,12 +29,12 @@ def create_ntp_network(client_server) -> Tuple[NTPClient, Computer, NTPServer, S
|
||||
|
||||
server.power_on()
|
||||
server.software_manager.install(NTPServer)
|
||||
ntp_server: NTPServer = server.software_manager.software.get("NTPServer")
|
||||
ntp_server: NTPServer = server.software_manager.software.get("ntp-server")
|
||||
ntp_server.start()
|
||||
|
||||
client.power_on()
|
||||
client.software_manager.install(NTPClient)
|
||||
ntp_client: NTPClient = client.software_manager.software.get("NTPClient")
|
||||
ntp_client: NTPClient = client.software_manager.software.get("ntp-client")
|
||||
ntp_client.start()
|
||||
|
||||
return ntp_client, client, ntp_server, server
|
||||
@@ -43,8 +43,8 @@ def create_ntp_network(client_server) -> Tuple[NTPClient, Computer, NTPServer, S
|
||||
def test_ntp_client_server(create_ntp_network):
|
||||
ntp_client, client, ntp_server, server = create_ntp_network
|
||||
|
||||
ntp_server: NTPServer = server.software_manager.software["NTPServer"]
|
||||
ntp_client: NTPClient = client.software_manager.software["NTPClient"]
|
||||
ntp_server: NTPServer = server.software_manager.software["ntp-server"]
|
||||
ntp_client: NTPClient = client.software_manager.software["ntp-client"]
|
||||
|
||||
assert ntp_server.operating_state == ServiceOperatingState.RUNNING
|
||||
assert ntp_client.operating_state == ServiceOperatingState.RUNNING
|
||||
@@ -64,8 +64,8 @@ def test_ntp_client_server(create_ntp_network):
|
||||
def test_ntp_server_failure(create_ntp_network):
|
||||
ntp_client, client, ntp_server, server = create_ntp_network
|
||||
|
||||
ntp_server: NTPServer = server.software_manager.software["NTPServer"]
|
||||
ntp_client: NTPClient = client.software_manager.software["NTPClient"]
|
||||
ntp_server: NTPServer = server.software_manager.software["ntp-server"]
|
||||
ntp_client: NTPClient = client.software_manager.software["ntp-client"]
|
||||
|
||||
assert ntp_client.operating_state == ServiceOperatingState.RUNNING
|
||||
assert ntp_client.operating_state == ServiceOperatingState.RUNNING
|
||||
|
||||
@@ -14,11 +14,11 @@ from primaite.utils.validation.port import PORT_LOOKUP
|
||||
from tests import TEST_ASSETS_ROOT
|
||||
|
||||
|
||||
class _DatabaseListener(Service, discriminator="_DatabaseListener"):
|
||||
class _DatabaseListener(Service, discriminator="database-listener"):
|
||||
class ConfigSchema(Service.ConfigSchema):
|
||||
"""ConfigSchema for _DatabaseListener."""
|
||||
|
||||
type: str = "_DatabaseListener"
|
||||
type: str = "database-listener"
|
||||
listen_on_ports: Set[int] = {PORT_LOOKUP["POSTGRES_SERVER"]}
|
||||
|
||||
config: "_DatabaseListener.ConfigSchema" = Field(default_factory=lambda: _DatabaseListener.ConfigSchema())
|
||||
@@ -41,7 +41,7 @@ def test_http_listener(client_server):
|
||||
computer, server = client_server
|
||||
|
||||
server.software_manager.install(DatabaseService)
|
||||
server_db = server.software_manager.software["DatabaseService"]
|
||||
server_db = server.software_manager.software["database-service"]
|
||||
server_db.start()
|
||||
|
||||
server.software_manager.install(_DatabaseListener)
|
||||
@@ -49,7 +49,7 @@ def test_http_listener(client_server):
|
||||
server_db_listener.start()
|
||||
|
||||
computer.software_manager.install(DatabaseClient)
|
||||
computer_db_client: DatabaseClient = computer.software_manager.software["DatabaseClient"]
|
||||
computer_db_client: DatabaseClient = computer.software_manager.software["database-client"]
|
||||
|
||||
computer_db_client.run()
|
||||
computer_db_client.server_ip_address = server.network_interface[1].ip_address
|
||||
@@ -86,6 +86,6 @@ def test_set_listen_on_ports_from_config():
|
||||
assert PORT_LOOKUP["SMB"] in client.software_manager.get_open_ports()
|
||||
assert PORT_LOOKUP["IPP"] in client.software_manager.get_open_ports()
|
||||
|
||||
web_browser = client.software_manager.software["WebBrowser"]
|
||||
web_browser = client.software_manager.software["web-browser"]
|
||||
|
||||
assert not web_browser.listen_on_ports.difference({PORT_LOOKUP["SMB"], PORT_LOOKUP["IPP"]})
|
||||
|
||||
@@ -23,7 +23,7 @@ def populated_node(
|
||||
server.power_on()
|
||||
server.software_manager.install(service_class)
|
||||
|
||||
service = server.software_manager.software.get("DummyService")
|
||||
service = server.software_manager.software.get("dummy-service")
|
||||
service.start()
|
||||
|
||||
return server, service
|
||||
@@ -42,7 +42,7 @@ def test_service_on_offline_node(service_class):
|
||||
computer.power_on()
|
||||
computer.software_manager.install(service_class)
|
||||
|
||||
service: Service = computer.software_manager.software.get("DummyService")
|
||||
service: Service = computer.software_manager.software.get("dummy-service")
|
||||
|
||||
computer.power_off()
|
||||
|
||||
|
||||
@@ -20,23 +20,23 @@ def web_client_and_web_server(client_server) -> Tuple[WebBrowser, Computer, WebS
|
||||
|
||||
# Install Web Browser on computer
|
||||
computer.software_manager.install(WebBrowser)
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser")
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("web-browser")
|
||||
web_browser.run()
|
||||
|
||||
# Install DNS Client service on computer
|
||||
computer.software_manager.install(DNSClient)
|
||||
dns_client: DNSClient = computer.software_manager.software.get("DNSClient")
|
||||
dns_client: DNSClient = computer.software_manager.software.get("dns-client")
|
||||
# set dns server
|
||||
dns_client.dns_server = server.network_interfaces[next(iter(server.network_interfaces))].ip_address
|
||||
|
||||
# Install Web Server service on server
|
||||
server.software_manager.install(WebServer)
|
||||
web_server_service: WebServer = server.software_manager.software.get("WebServer")
|
||||
web_server_service: WebServer = server.software_manager.software.get("web-server")
|
||||
web_server_service.start()
|
||||
|
||||
# Install DNS Server service on server
|
||||
server.software_manager.install(DNSServer)
|
||||
dns_server: DNSServer = server.software_manager.software.get("DNSServer")
|
||||
dns_server: DNSServer = server.software_manager.software.get("dns-server")
|
||||
# register arcd.com to DNS
|
||||
dns_server.dns_register(
|
||||
domain_name="arcd.com",
|
||||
|
||||
@@ -68,29 +68,29 @@ def web_client_web_server_database(example_network) -> Tuple[Network, Computer,
|
||||
|
||||
# Install DatabaseService on db server
|
||||
db_server.software_manager.install(DatabaseService)
|
||||
db_service: DatabaseService = db_server.software_manager.software.get("DatabaseService")
|
||||
db_service: DatabaseService = db_server.software_manager.software.get("database-service")
|
||||
db_service.start()
|
||||
|
||||
# Install Web Browser on computer
|
||||
computer.software_manager.install(WebBrowser)
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser")
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("web-browser")
|
||||
web_browser.config.target_url = "http://arcd.com/users/"
|
||||
web_browser.run()
|
||||
|
||||
# Install DNS Client service on computer
|
||||
computer.software_manager.install(DNSClient)
|
||||
dns_client: DNSClient = computer.software_manager.software.get("DNSClient")
|
||||
dns_client: DNSClient = computer.software_manager.software.get("dns-client")
|
||||
# set dns server
|
||||
dns_client.dns_server = web_server.network_interfaces[next(iter(web_server.network_interfaces))].ip_address
|
||||
|
||||
# Install Web Server service on web server
|
||||
web_server.software_manager.install(WebServer)
|
||||
web_server_service: WebServer = web_server.software_manager.software.get("WebServer")
|
||||
web_server_service: WebServer = web_server.software_manager.software.get("web-server")
|
||||
web_server_service.start()
|
||||
|
||||
# Install DNS Server service on web server
|
||||
web_server.software_manager.install(DNSServer)
|
||||
dns_server: DNSServer = web_server.software_manager.software.get("DNSServer")
|
||||
dns_server: DNSServer = web_server.software_manager.software.get("dns-server")
|
||||
# register arcd.com to DNS
|
||||
dns_server.dns_register(
|
||||
domain_name="arcd.com",
|
||||
@@ -99,7 +99,7 @@ def web_client_web_server_database(example_network) -> Tuple[Network, Computer,
|
||||
|
||||
# Install DatabaseClient service on web server
|
||||
web_server.software_manager.install(DatabaseClient)
|
||||
db_client: DatabaseClient = web_server.software_manager.software.get("DatabaseClient")
|
||||
db_client: DatabaseClient = web_server.software_manager.software.get("database-client")
|
||||
db_client.server_ip_address = IPv4Address(db_server_nic.ip_address) # set IP address of Database Server
|
||||
db_client.run()
|
||||
assert dns_client.check_domain_exists("arcd.com")
|
||||
@@ -111,7 +111,7 @@ def web_client_web_server_database(example_network) -> Tuple[Network, Computer,
|
||||
def test_web_client_requests_users(web_client_web_server_database):
|
||||
_, computer, _, _ = web_client_web_server_database
|
||||
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser")
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("web-browser")
|
||||
|
||||
assert web_browser.get_webpage()
|
||||
|
||||
@@ -121,8 +121,8 @@ def test_database_fix_disrupts_web_client(uc2_network):
|
||||
computer: Computer = uc2_network.get_node_by_hostname("client_1")
|
||||
db_server: Server = uc2_network.get_node_by_hostname("database_server")
|
||||
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser")
|
||||
database_service: DatabaseService = db_server.software_manager.software.get("DatabaseService")
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("web-browser")
|
||||
database_service: DatabaseService = db_server.software_manager.software.get("database-service")
|
||||
|
||||
# fix the database service
|
||||
database_service.fix()
|
||||
@@ -143,7 +143,7 @@ class TestWebBrowserHistory:
|
||||
def test_populating_history(self, web_client_web_server_database):
|
||||
network, computer, _, _ = web_client_web_server_database
|
||||
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser")
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("web-browser")
|
||||
assert web_browser.history == []
|
||||
web_browser.get_webpage()
|
||||
assert len(web_browser.history) == 1
|
||||
@@ -165,11 +165,11 @@ class TestWebBrowserHistory:
|
||||
|
||||
def test_history_in_state(self, web_client_web_server_database):
|
||||
network, computer, _, _ = web_client_web_server_database
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("WebBrowser")
|
||||
web_browser: WebBrowser = computer.software_manager.software.get("web-browser")
|
||||
|
||||
state = computer.describe_state()
|
||||
assert "history" in state["applications"]["WebBrowser"]
|
||||
assert len(state["applications"]["WebBrowser"]["history"]) == 0
|
||||
assert "history" in state["applications"]["web-browser"]
|
||||
assert len(state["applications"]["web-browser"]["history"]) == 0
|
||||
|
||||
web_browser.get_webpage()
|
||||
router = network.get_node_by_hostname("router_1")
|
||||
@@ -179,5 +179,5 @@ class TestWebBrowserHistory:
|
||||
web_browser.get_webpage()
|
||||
|
||||
state = computer.describe_state()
|
||||
assert state["applications"]["WebBrowser"]["history"][0]["outcome"] == 200
|
||||
assert state["applications"]["WebBrowser"]["history"][1]["outcome"] == 404
|
||||
assert state["applications"]["web-browser"]["history"][0]["outcome"] == 200
|
||||
assert state["applications"]["web-browser"]["history"][1]["outcome"] == 404
|
||||
|
||||
Reference in New Issue
Block a user