mirror of
https://github.com/microsoft/graphrag.git
synced 2025-07-07 09:01:34 +00:00
34 lines
971 B
Python
34 lines
971 B
Python
![]() |
# Copyright (c) 2024 Microsoft Corporation.
|
||
|
# Licensed under the MIT License
|
||
|
|
||
|
import re
|
||
|
from typing import Any, cast
|
||
|
|
||
|
import yaml
|
||
|
|
||
|
from graphrag.config import (
|
||
|
GraphRagConfig,
|
||
|
create_graphrag_config,
|
||
|
)
|
||
|
from graphrag.index.init_content import INIT_YAML
|
||
|
|
||
|
|
||
|
def test_init_yaml():
|
||
|
data = yaml.load(INIT_YAML, Loader=yaml.FullLoader)
|
||
|
config = create_graphrag_config(data)
|
||
|
GraphRagConfig.model_validate(config, strict=True)
|
||
|
|
||
|
|
||
|
def test_init_yaml_uncommented():
|
||
|
lines = INIT_YAML.splitlines()
|
||
|
lines = [line for line in lines if "##" not in line]
|
||
|
|
||
|
def uncomment_line(line: str) -> str:
|
||
|
leading_whitespace = cast(Any, re.search(r"^(\s*)", line)).group(1)
|
||
|
return re.sub(r"^\s*# ", leading_whitespace, line, count=1)
|
||
|
|
||
|
content = "\n".join([uncomment_line(line) for line in lines])
|
||
|
data = yaml.load(content, Loader=yaml.FullLoader)
|
||
|
config = create_graphrag_config(data)
|
||
|
GraphRagConfig.model_validate(config, strict=True)
|