Skip recursive pydantic tests for Python 3.9 and 3.10
This commit is contained in:
parent
8a2cf2075a
commit
103eb13c77
3 changed files with 39 additions and 20 deletions
|
|
@ -1,3 +1,5 @@
|
|||
import warnings
|
||||
|
||||
import pytest
|
||||
|
||||
from cognee.modules.graph.utils import get_graph_from_model
|
||||
|
|
@ -10,19 +12,26 @@ from cognee.tests.unit.interfaces.graph.util import (
|
|||
|
||||
@pytest.mark.parametrize("recursive_depth", [1, 2, 3])
|
||||
def test_society_nodes_and_edges(recursive_depth):
|
||||
society = create_organization_recursive(
|
||||
"society", "Society", PERSON_NAMES, recursive_depth
|
||||
)
|
||||
import sys
|
||||
|
||||
n_organizations, n_persons = count_society(society)
|
||||
society_counts_total = n_organizations + n_persons
|
||||
if sys.version_info[0] == 3 and sys.version_info[1] >= 11:
|
||||
society = create_organization_recursive(
|
||||
"society", "Society", PERSON_NAMES, recursive_depth
|
||||
)
|
||||
|
||||
nodes, edges = get_graph_from_model(society)
|
||||
n_organizations, n_persons = count_society(society)
|
||||
society_counts_total = n_organizations + n_persons
|
||||
|
||||
assert (
|
||||
len(nodes) == society_counts_total
|
||||
), f"{society_counts_total = } != {len(nodes) = }, not all DataPoint instances were found"
|
||||
nodes, edges = get_graph_from_model(society)
|
||||
|
||||
assert len(edges) == (
|
||||
len(nodes) - 1
|
||||
), f"{(len(nodes) - 1) = } != {len(edges) = }, there have to be n_nodes - 1 edges, as each node has exactly one parent node, except for the root node"
|
||||
assert (
|
||||
len(nodes) == society_counts_total
|
||||
), f"{society_counts_total = } != {len(nodes) = }, not all DataPoint instances were found"
|
||||
|
||||
assert len(edges) == (
|
||||
len(nodes) - 1
|
||||
), f"{(len(nodes) - 1) = } != {len(edges) = }, there have to be n_nodes - 1 edges, as each node has exactly one parent node, except for the root node"
|
||||
else:
|
||||
warnings.warn(
|
||||
"The recursive pydantic data structure cannot be reconstructed from the graph because the 'inner' pydantic class is not defined. Hence this test is skipped. This problem is solved in Python 3.11"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import warnings
|
||||
|
||||
import pytest
|
||||
|
||||
from cognee.modules.graph.utils import (
|
||||
|
|
@ -13,12 +15,19 @@ from cognee.tests.unit.interfaces.graph.util import (
|
|||
|
||||
@pytest.mark.parametrize("recursive_depth", [1, 2, 3])
|
||||
def test_society_nodes_and_edges(recursive_depth):
|
||||
society = create_organization_recursive(
|
||||
"society", "Society", PERSON_NAMES, recursive_depth
|
||||
)
|
||||
nodes, edges = get_graph_from_model(society)
|
||||
parsed_society = get_model_instance_from_graph(nodes, edges, "society")
|
||||
import sys
|
||||
|
||||
assert str(society) == (str(parsed_society)), show_first_difference(
|
||||
str(society), str(parsed_society), "society", "parsed_society"
|
||||
)
|
||||
if sys.version_info[0] == 3 and sys.version_info[1] >= 11:
|
||||
society = create_organization_recursive(
|
||||
"society", "Society", PERSON_NAMES, recursive_depth
|
||||
)
|
||||
nodes, edges = get_graph_from_model(society)
|
||||
parsed_society = get_model_instance_from_graph(nodes, edges, "society")
|
||||
|
||||
assert str(society) == (str(parsed_society)), show_first_difference(
|
||||
str(society), str(parsed_society), "society", "parsed_society"
|
||||
)
|
||||
else:
|
||||
warnings.warn(
|
||||
"The recursive pydantic data structure cannot be reconstructed from the graph because the 'inner' pydantic class is not defined. Hence this test is skipped. This problem is solved in Python 3.11"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ class SocietyPerson(DataPoint):
|
|||
name: str
|
||||
memberships: Optional[list[Organization]]
|
||||
|
||||
|
||||
SocietyPerson.model_rebuild()
|
||||
Organization.model_rebuild()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue