Skip to content

Implement async - #69

Merged
RomanPszonka merged 15 commits into
openutm:mainfrom
atti92:async
Dec 12, 2025
Merged

Implement async#69
RomanPszonka merged 15 commits into
openutm:mainfrom
atti92:async

Conversation

@atti92

@atti92 atti92 commented Dec 9, 2025

Copy link
Copy Markdown
Contributor

Enables further progress on #61

atti92 added 11 commits December 9, 2025 21:41
* Remove fire response scenario

* add placeholder markdown files.

* Add pull_requests scenarios to default.yaml

* Add pull_requests flag to test run command

* add a separate config file for pull requests

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements comprehensive async/await support throughout the OpenUTM verification codebase, converting all synchronous I/O operations to asynchronous ones. The changes enable better concurrency and scalability by replacing blocking operations with non-blocking async equivalents, particularly for HTTP requests, OAuth token acquisition, and scenario execution.

Key changes include:

  • Conversion of all HTTP clients from httpx.Client to httpx.AsyncClient with corresponding async context managers
  • Migration of all scenario functions, step decorators, and client methods to async/await pattern
  • Update of dependency injection and execution frameworks to support async context managers and coroutines
  • Introduction of asyncio.run() in CLI entry point to orchestrate async execution

Reviewed changes

Copilot reviewed 35 out of 35 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tests/conftest.py Added anyio backend fixture for async test support
tests/test_scenarios.py New comprehensive async test suite for all scenario functions
tests/test_flight_blender_base_client.py Converted sync tests to async with AsyncMock
tests/test_client_steps.py New async test suite for client step methods
src/openutm_verification/scenarios/*.py Converted all scenario functions to async with proper await usage
src/openutm_verification/core/clients/*/base_client.py Migrated HTTP clients to AsyncClient and async context managers
src/openutm_verification/core/clients/*/client.py Converted all client methods to async with proper await keywords
src/openutm_verification/core/execution/scenario_runner.py Updated scenario_step decorator to enforce and handle async functions
src/openutm_verification/core/execution/execution.py Made run_verification_scenarios async
src/openutm_verification/core/execution/dependency_resolution.py Migrated to AsyncExitStack and async context managers
src/openutm_verification/core/execution/dependencies.py Converted dependency providers to async generators
src/openutm_verification/auth/oauth2.py Made OAuth2 token acquisition async
src/openutm_verification/cli/init.py Added asyncio.run() to orchestrate async execution
src/openutm_verification/simulator/test.py Removed test file (cleanup)
src/openutm_verification/importers/submit_signed_telemetry.py Removed unused importer file
src/openutm_verification/importers/*.py Split long comment lines for readability
src/openutm_verification/drip/import_drip_decoder.py Split long documentation lines
src/openutm_verification/core/reporting/reporting.py Fixed string quote consistency
Comments suppressed due to low confidence (1)

src/openutm_verification/core/execution/scenario_runner.py:7

  • Import of 'CoroutineType' is not used.
from types import CoroutineType

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/openutm_verification/core/clients/flight_blender/flight_blender_client.py Outdated
Comment thread src/openutm_verification/core/clients/flight_blender/flight_blender_client.py Outdated
Comment thread src/openutm_verification/core/execution/scenario_runner.py Outdated
Comment thread src/openutm_verification/drip/import_drip_decoder.py
Comment thread tests/test_client_steps.py
Comment thread tests/test_client_steps.py Outdated
Comment thread tests/test_client_steps.py Outdated
atti92 and others added 4 commits December 12, 2025 21:54
…ender_client.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ender_client.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@RomanPszonka
RomanPszonka merged commit 94d7da1 into openutm:main Dec 12, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants