Spaces:
Runtime error
Runtime error
"""A source to compute semantic search for a document.""" | |
from typing import Iterable, cast | |
import pytest | |
from typing_extensions import override | |
from ...schema import Item | |
from .source import Source, SourceSchema | |
from .source_registry import clear_source_registry, get_source_cls, register_source, resolve_source | |
class TestSource(Source): | |
"""A test source.""" | |
name = 'test_source' | |
def setup(self) -> None: | |
pass | |
def source_schema(self) -> SourceSchema: | |
"""Return the source schema.""" | |
return cast(SourceSchema, None) | |
def process(self) -> Iterable[Item]: | |
yield None | |
def setup_teardown() -> Iterable[None]: | |
# Setup. | |
register_source(TestSource) | |
# Unit test runs. | |
yield | |
# Teardown. | |
clear_source_registry() | |
def test_get_source_cls() -> None: | |
"""Test getting a source.""" | |
assert TestSource == get_source_cls('test_source') | |
def test_resolve_source() -> None: | |
"""Test resolving a source.""" | |
test_source = TestSource() | |
# sources pass through. | |
assert resolve_source(test_source) == test_source | |
# Dicts resolve to the base class. | |
assert resolve_source(test_source.dict()) == test_source | |