* pytest bases tests for apiserver * Trimmed spaces * Updated .gitignore for pytest local files
49 lines
No EOL
1.9 KiB
Python
49 lines
No EOL
1.9 KiB
Python
import uuid
|
|
import pytest
|
|
from plane.utils.uuid import is_valid_uuid, convert_uuid_to_integer
|
|
|
|
|
|
@pytest.mark.unit
|
|
class TestUUIDUtils:
|
|
"""Test the UUID utilities"""
|
|
|
|
def test_is_valid_uuid_with_valid_uuid(self):
|
|
"""Test is_valid_uuid with a valid UUID"""
|
|
# Generate a valid UUID
|
|
valid_uuid = str(uuid.uuid4())
|
|
assert is_valid_uuid(valid_uuid) is True
|
|
|
|
def test_is_valid_uuid_with_invalid_uuid(self):
|
|
"""Test is_valid_uuid with invalid UUID strings"""
|
|
# Test with different invalid formats
|
|
assert is_valid_uuid("not-a-uuid") is False
|
|
assert is_valid_uuid("123456789") is False
|
|
assert is_valid_uuid("") is False
|
|
assert is_valid_uuid("00000000-0000-0000-0000-000000000000") is False # This is a valid UUID but version 1
|
|
|
|
def test_convert_uuid_to_integer(self):
|
|
"""Test convert_uuid_to_integer function"""
|
|
# Create a known UUID
|
|
test_uuid = uuid.UUID("f47ac10b-58cc-4372-a567-0e02b2c3d479")
|
|
|
|
# Convert to integer
|
|
result = convert_uuid_to_integer(test_uuid)
|
|
|
|
# Check that the result is an integer
|
|
assert isinstance(result, int)
|
|
|
|
# Ensure consistent results with the same input
|
|
assert convert_uuid_to_integer(test_uuid) == result
|
|
|
|
# Different UUIDs should produce different integers
|
|
different_uuid = uuid.UUID("550e8400-e29b-41d4-a716-446655440000")
|
|
assert convert_uuid_to_integer(different_uuid) != result
|
|
|
|
def test_convert_uuid_to_integer_string_input(self):
|
|
"""Test convert_uuid_to_integer handles string UUID"""
|
|
# Test with a UUID string
|
|
test_uuid_str = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
|
|
test_uuid = uuid.UUID(test_uuid_str)
|
|
|
|
# Should get the same result whether passing UUID or string
|
|
assert convert_uuid_to_integer(test_uuid) == convert_uuid_to_integer(test_uuid_str) |