sw-api / tests /telemetry /test_user_utils.py
patrickbdevaney's picture
v1 attempt at hf space api
ffcf62f
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