import uuid from swarms.telemetry.user_utils import ( generate_unique_identifier, generate_user_id, get_machine_id, get_system_info, ) # Helper functions tests def test_generate_user_id(): # Generate user IDs and ensure they are UUID strings user_id = generate_user_id() assert isinstance(user_id, str) assert uuid.UUID(user_id, version=4) def test_get_machine_id(): # Get machine ID and ensure it's a valid SHA-256 hash machine_id = get_machine_id() assert isinstance(machine_id, str) assert len(machine_id) == 64 assert all(char in "0123456789abcdef" for char in machine_id) def test_get_system_info(): # Get system information and ensure it's a dictionary with expected keys system_info = get_system_info() assert isinstance(system_info, dict) expected_keys = [ "platform", "platform_release", "platform_version", "architecture", "hostname", "ip_address", "mac_address", "processor", "python_version", ] assert all(key in system_info for key in expected_keys) def test_generate_unique_identifier(): # Generate unique identifiers and ensure they are valid UUID strings unique_id = generate_unique_identifier() assert isinstance(unique_id, str) assert uuid.UUID( unique_id, version=5, namespace=uuid.NAMESPACE_DNS ) def test_generate_user_id_edge_case(): # Test generate_user_id with multiple calls user_ids = set() for _ in range(100): user_id = generate_user_id() user_ids.add(user_id) assert len(user_ids) == 100 # Ensure generated IDs are unique def test_get_machine_id_edge_case(): # Test get_machine_id with multiple calls machine_ids = set() for _ in range(100): machine_id = get_machine_id() machine_ids.add(machine_id) assert len(machine_ids) == 100 # Ensure generated IDs are unique def test_get_system_info_edge_case(): # Test get_system_info for consistency system_info1 = get_system_info() system_info2 = get_system_info() assert ( system_info1 == system_info2 ) # Ensure system info remains the same def test_generate_unique_identifier_edge_case(): # Test generate_unique_identifier for uniqueness unique_ids = set() for _ in range(100): unique_id = generate_unique_identifier() unique_ids.add(unique_id) assert len(unique_ids) == 100 # Ensure generated IDs are unique def test_all(): test_generate_user_id() test_get_machine_id() test_get_system_info() test_generate_unique_identifier() test_generate_user_id_edge_case() test_get_machine_id_edge_case() test_get_system_info_edge_case() test_generate_unique_identifier_edge_case() test_all()