feat: adds tests for the env settings
This commit is contained in:
parent
2f225c9e03
commit
57f864a58f
1 changed files with 170 additions and 0 deletions
|
|
@ -331,3 +331,173 @@ def test_rdflib_ontology_resolver_default_matching_strategy():
|
||||||
|
|
||||||
resolver = RDFLibOntologyResolver()
|
resolver = RDFLibOntologyResolver()
|
||||||
assert isinstance(resolver.matching_strategy, FuzzyMatchingStrategy)
|
assert isinstance(resolver.matching_strategy, FuzzyMatchingStrategy)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_success():
|
||||||
|
"""Test get_ontology_resolver_from_env returns correct resolver with valid parameters."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
from cognee.modules.ontology.rdf_xml.RDFLibOntologyResolver import RDFLibOntologyResolver
|
||||||
|
from cognee.modules.ontology.matching_strategies import FuzzyMatchingStrategy
|
||||||
|
|
||||||
|
resolver = get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert isinstance(resolver, RDFLibOntologyResolver)
|
||||||
|
assert isinstance(resolver.matching_strategy, FuzzyMatchingStrategy)
|
||||||
|
assert resolver.ontology_file == "/test/path.owl"
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_unsupported_resolver():
|
||||||
|
"""Test get_ontology_resolver_from_env raises EnvironmentError for unsupported resolver."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="unsupported",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver: unsupported" in str(exc_info.value)
|
||||||
|
assert "Supported resolvers are: RdfLib with FuzzyMatchingStrategy" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_unsupported_strategy():
|
||||||
|
"""Test get_ontology_resolver_from_env raises EnvironmentError for unsupported strategy."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="unsupported",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver: rdflib" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_empty_file_path():
|
||||||
|
"""Test get_ontology_resolver_from_env raises EnvironmentError for empty file path."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path=""
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver: rdflib" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_none_file_path():
|
||||||
|
"""Test get_ontology_resolver_from_env raises EnvironmentError for None file path."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path=None
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver: rdflib" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_empty_resolver():
|
||||||
|
"""Test get_ontology_resolver_from_env raises EnvironmentError for empty resolver."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver:" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_empty_strategy():
|
||||||
|
"""Test get_ontology_resolver_from_env raises EnvironmentError for empty strategy."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver: rdflib" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_default_parameters():
|
||||||
|
"""Test get_ontology_resolver_from_env with default empty parameters raises EnvironmentError."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError) as exc_info:
|
||||||
|
get_ontology_resolver_from_env()
|
||||||
|
|
||||||
|
assert "Unsupported ontology resolver:" in str(exc_info.value)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_case_sensitivity():
|
||||||
|
"""Test get_ontology_resolver_from_env is case sensitive."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError):
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="RDFLIB",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
with pytest.raises(EnvironmentError):
|
||||||
|
get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="RdfLib",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_with_actual_file():
|
||||||
|
"""Test get_ontology_resolver_from_env works with actual file path."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
from cognee.modules.ontology.rdf_xml.RDFLibOntologyResolver import RDFLibOntologyResolver
|
||||||
|
from cognee.modules.ontology.matching_strategies import FuzzyMatchingStrategy
|
||||||
|
|
||||||
|
resolver = get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/path/to/ontology.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert isinstance(resolver, RDFLibOntologyResolver)
|
||||||
|
assert isinstance(resolver.matching_strategy, FuzzyMatchingStrategy)
|
||||||
|
assert resolver.ontology_file == "/path/to/ontology.owl"
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_ontology_resolver_from_env_resolver_functionality():
|
||||||
|
"""Test that resolver created from env function works correctly."""
|
||||||
|
from cognee.modules.ontology.get_default_ontology_resolver import get_ontology_resolver_from_env
|
||||||
|
|
||||||
|
resolver = get_ontology_resolver_from_env(
|
||||||
|
ontology_resolver="rdflib",
|
||||||
|
matching_strategy="fuzzy",
|
||||||
|
ontology_file_path="/test/path.owl"
|
||||||
|
)
|
||||||
|
|
||||||
|
resolver.build_lookup()
|
||||||
|
assert isinstance(resolver.lookup, dict)
|
||||||
|
|
||||||
|
result = resolver.find_closest_match("test", "individuals")
|
||||||
|
assert result is None # Should return None for non-existent entity
|
||||||
|
|
||||||
|
nodes, relationships, start_node = resolver.get_subgraph("test", "individuals")
|
||||||
|
assert nodes == []
|
||||||
|
assert relationships == []
|
||||||
|
assert start_node is None
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue