mirror of
https://github.com/encounter/adk-python.git
synced 2026-07-09 18:19:28 -07:00
feat(conformance): read report's version info from the server
Co-authored-by: Liang Wu <wuliang@google.com> PiperOrigin-RevId: 868837301
This commit is contained in:
committed by
Copybara-Service
parent
38b4869c41
commit
9dccd6a692
@@ -17,22 +17,27 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
from typing import Optional
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import click
|
||||
|
||||
from ... import version
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .cli_test import _ConformanceTestSummary
|
||||
|
||||
|
||||
def generate_markdown_report(
|
||||
summary: _ConformanceTestSummary, report_dir: Optional[str]
|
||||
version_data: dict[str, Any],
|
||||
summary: _ConformanceTestSummary,
|
||||
report_dir: Optional[str],
|
||||
) -> None:
|
||||
"""Generates a Markdown report of the test results."""
|
||||
report_name = f"python_{'_'.join(version.__version__.split('.'))}_report.md"
|
||||
server_version = version_data.get("version", "Unknown")
|
||||
language = version_data.get("language", "Unknown")
|
||||
language_version = version_data.get("language_version", "Unknown")
|
||||
|
||||
report_name = f"python_{'_'.join(server_version.split('.'))}_report.md"
|
||||
if not report_dir:
|
||||
report_path = Path(report_name)
|
||||
else:
|
||||
@@ -44,7 +49,8 @@ def generate_markdown_report(
|
||||
|
||||
# Summary
|
||||
f.write("## Summary\n\n")
|
||||
f.write(f"- **ADK Version**: {version.__version__}\n")
|
||||
f.write(f"- **ADK Version**: {server_version}\n")
|
||||
f.write(f"- **Language**: {language} {language_version}\n")
|
||||
f.write(f"- **Total Tests**: {summary.total_tests}\n")
|
||||
f.write(f"- **Passed**: {summary.passed_tests}\n")
|
||||
f.write(f"- **Failed**: {summary.failed_tests}\n")
|
||||
|
||||
@@ -207,6 +207,17 @@ class AdkWebServerClient:
|
||||
response.raise_for_status()
|
||||
return Session.model_validate(response.json())
|
||||
|
||||
async def get_version_data(self) -> Dict[str, str]:
|
||||
"""Retrieve version data from the ADK web server.
|
||||
|
||||
Returns:
|
||||
Dictionary containing version information
|
||||
"""
|
||||
async with self._get_client() as client:
|
||||
response = await client.get("/version")
|
||||
response.raise_for_status()
|
||||
return response.json()
|
||||
|
||||
async def run_agent(
|
||||
self,
|
||||
request: RunAgentRequest,
|
||||
|
||||
@@ -328,8 +328,9 @@ async def run_conformance_test(
|
||||
runner = ConformanceTestRunner(test_paths, client, mode)
|
||||
summary = await runner.run_all_tests()
|
||||
|
||||
if generate_report:
|
||||
generate_markdown_report(summary, report_dir)
|
||||
if generate_report:
|
||||
version_data = await client.get_version_data()
|
||||
generate_markdown_report(version_data, summary, report_dir)
|
||||
|
||||
_print_test_summary(summary)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user