import logging # Configure logging to ensure logs appear on the console logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') logger = logging.getLogger(__name__) def create_test_configuration(): return { "config_rules": [ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "127.0.0.1"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": 8080}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { "endpoints": [ {"uuid": "eth0", "type": "ethernet", "sample_types": [101, 102]}, {"uuid": "eth1", "type": "ethernet", "sample_types": [201, 202]}, {"uuid": "13/1/2", "type": "copper", "sample_types": [101, 102, 201, 202]} ] }}}, {"action": 1, "custom": {"resource_key": "/interface[eth0]/settings", "resource_value": { "name": "eth0", "enabled": True }}}, {"action": 1, "custom": {"resource_key": "/interface[eth1]/settings", "resource_value": { "name": "eth1", "enabled": False }}}, {"action": 1, "custom": {"resource_key": "/interface[13/1/2]/settings", "resource_value": { "name": "13/1/2", "enabled": True }}} ] } # This method is used to create a specific configuration to be used in the test case test_get_config in the test_EmulatedDriver.py file def create_specific_config_keys(): # config = create_test_configuration() keys_to_return = ["_connect/settings/endpoints/eth1", "/interface/[13/1/2]/settings", "_connect/address"] return keys_to_return # return {rule["custom"]["resource_key"]: rule["custom"]["resource_value"] for rule in config["config_rules"] if rule["custom"]["resource_key"] in keys_to_return} # write a method to create a specific configuration to be used in the test case test_delete_config in the test_EmulatedDriver1.py file def create_config_for_delete(): keys_to_delete = ["_connect/settings/endpoints/eth0", "/interface/[eth1]", "_connect/port"] return keys_to_delete # write a method to generate subscription for specific endpoints. def create_test_subscriptions(): return [("_connect/settings/endpoints/eth1", 10, 2), ("_connect/settings/endpoints/13/1/2", 15, 3), ("_connect/settings/endpoints/eth0", 8, 2)] def create_unscubscribe_subscriptions(): return [("_connect/settings/endpoints/eth1", 10, 2), ("_connect/settings/endpoints/13/1/2", 15, 3), ("_connect/settings/endpoints/eth0", 8, 2)]