You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.7 KiB
102 lines
2.7 KiB
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()
|