Skyvern/tests/unit_tests/test_url_validators.py
Prakash Maheshwaran b5bf9d291f
Some checks are pending
Run tests and pre-commit / Run tests and pre-commit hooks (push) Waiting to run
Run tests and pre-commit / Frontend Lint and Build (push) Waiting to run
Publish Fern Docs / run (push) Waiting to run
Add run lifecycle timestamps - improvments (#2601)
Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>
2025-06-12 03:36:49 +00:00

43 lines
1.6 KiB
Python

import sys
import types
from importlib import import_module
from pathlib import Path
import pytest
pytest.skip("Dependencies missing", allow_module_level=True)
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
ddtrace_stub = types.SimpleNamespace(tracer=None, filters=types.SimpleNamespace(FilterRequestsOnUrl=lambda x: None))
sys.modules.setdefault("ddtrace", ddtrace_stub)
sys.modules.setdefault("ddtrace.filters", ddtrace_stub.filters)
encode_url = import_module("skyvern.utils.url_validators").encode_url
def test_encode_url_basic():
"""Test basic URL encoding with simple path"""
url = "https://example.com/path with spaces"
expected = "https://example.com/path%20with%20spaces"
assert encode_url(url) == expected
def test_encode_url_with_query_params():
"""Test URL encoding with query parameters"""
url = "https://example.com/search?q=hello world&type=test"
expected = "https://example.com/search?q=hello%20world&type=test"
assert encode_url(url) == expected
def test_encode_url_with_special_chars():
"""Test URL encoding with special characters"""
url = "https://example.com/path/with/special#chars?param=value&other=test@123"
expected = "https://example.com/path/with/special#chars?param=value&other=test@123"
assert encode_url(url) == expected
def test_encode_url_with_pre_encoded_chars():
"""Test URL encoding with pre-encoded characters in query parameters"""
url = "https://example.com/search?q=hello world&type=test%20test"
expected = "https://example.com/search?q=hello%20world&type=test%20test"
assert encode_url(url) == expected