Files
rerun-io--rerun/rerun_py/tests/unit/test_utilities_datafusion.py
2026-07-13 13:05:14 +08:00

36 lines
1.3 KiB
Python

from __future__ import annotations
import importlib
from unittest.mock import Mock, patch
import pytest
import rerun.utilities.datafusion.functions.url_generation
from rerun.error_utils import RerunMissingDependencyError
def test_smoke() -> None:
"""Just check that we can import the module."""
def test_segment_url_import_normal() -> None:
"""Check that we can import segment_url when datafusion is available."""
from rerun.utilities.datafusion.functions.url_generation import segment_url
assert segment_url is not None
def test_segment_url_without_datafusion() -> None:
"""Check that calling segment_url raises RerunOptionalDependencyError when datafusion is unavailable."""
# Mock the import to make datafusion unavailable
with patch.dict("sys.modules", {"datafusion": None}):
importlib.reload(rerun.utilities.datafusion.functions.url_generation)
# Import the module - this should work
from rerun.utilities.datafusion.functions.url_generation import segment_url
# Create a mock dataset for testing
mock_dataset = Mock()
# But calling the function should raise an error
with pytest.raises(RerunMissingDependencyError, match="'datafusion' could not be imported"):
segment_url(mock_dataset)