# Copyright (c) 2024 Microsoft Corporation. # Licensed under the MIT License import pytest from graphrag.callbacks.noop_verb_callbacks import NoopVerbCallbacks from graphrag.config.create_graphrag_config import create_graphrag_config from graphrag.config.enums import LLMType from graphrag.index.operations.summarize_communities.community_reports_extractor.community_reports_extractor import ( CommunityReportResponse, FindingModel, ) from graphrag.index.run.derive_from_rows import ParallelizationError from graphrag.index.workflows.create_final_community_reports import ( run_workflow, workflow_name, ) from graphrag.utils.storage import load_table_from_storage from .util import ( compare_outputs, create_test_context, load_test_table, ) MOCK_RESPONSES = [ CommunityReportResponse( title="", summary="", rating=2, rating_explanation="", findings=[ FindingModel( summary="", explanation="" async def test_create_final_community_reports_missing_llm_throws(): context = await create_test_context( storage=[ "create_final_nodes", "create_final_covariates", "create_final_relationships", "create_final_entities", "create_final_communities", ] ) config = create_graphrag_config() config.community_reports.strategy = { "type": "graph_intelligence", } with pytest.raises(ParallelizationError): await run_workflow( config, context, NoopVerbCallbacks(), )