Spaces:
Runtime error
Runtime error
| # Copyright (c) 2024 Microsoft Corporation. | |
| # Licensed under the MIT License | |
| import json | |
| import unittest | |
| from typing import Any | |
| from graphrag.config import create_graphrag_config | |
| from graphrag.index import PipelineConfig, create_pipeline_config | |
| def assert_contains_default_config( | |
| test_case: unittest.TestCase, | |
| config: Any, | |
| check_input=True, | |
| check_storage=True, | |
| check_reporting=True, | |
| check_cache=True, | |
| check_workflows=True, | |
| ): | |
| """Asserts that the config contains the default config.""" | |
| assert config is not None | |
| assert isinstance(config, PipelineConfig) | |
| checked_config = json.loads( | |
| config.model_dump_json(exclude_defaults=True, exclude_unset=True) | |
| ) | |
| actual_default_config = json.loads( | |
| create_pipeline_config(create_graphrag_config()).model_dump_json( | |
| exclude_defaults=True, exclude_unset=True | |
| ) | |
| ) | |
| props_to_ignore = ["root_dir", "extends"] | |
| # Make sure there is some sort of workflows | |
| if not check_workflows: | |
| props_to_ignore.append("workflows") | |
| # Make sure it tries to load some sort of input | |
| if not check_input: | |
| props_to_ignore.append("input") | |
| # Make sure it tries to load some sort of storage | |
| if not check_storage: | |
| props_to_ignore.append("storage") | |
| # Make sure it tries to load some sort of reporting | |
| if not check_reporting: | |
| props_to_ignore.append("reporting") | |
| # Make sure it tries to load some sort of cache | |
| if not check_cache: | |
| props_to_ignore.append("cache") | |
| for prop in props_to_ignore: | |
| checked_config.pop(prop, None) | |
| actual_default_config.pop(prop, None) | |
| assert actual_default_config == actual_default_config | checked_config | |