e732c32981
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 38s
CI / unit_tests (pull_request) Successful in 3m3s
CI / integration_tests (pull_request) Successful in 3m32s
CI / docker (pull_request) Successful in 41s
CI / coverage (pull_request) Successful in 8m43s
CI / benchmark-regression (pull_request) Successful in 38m51s
Register PersistentSessionService in the DI Container so that 'agents session list' (and all other session subcommands) no longer throw AttributeError due to a missing 'db' provider. Changes: - Add _build_session_service() factory and session_service provider to Container, with targeted table creation for session/session_messages only (avoids bypassing Alembic for the full schema). - Add auto_commit parameter to SessionRepository and SessionMessageRepository; when True each method commits and closes its own database session, preventing resource leaks in CLI context. - Rewrite _get_session_service() to resolve via container.session_service() with module-level caching. - Add (DatabaseError, AttributeError) error handling with logging to all seven session subcommands (list, create, show, delete, export, import, tell). - Remove @tdd_expected_fail tags from all session test files so they run as proper regression tests. ISSUES CLOSED: #554, #570, #680
37 lines
1.8 KiB
Gherkin
37 lines
1.8 KiB
Gherkin
# Regression tests for bug #570 — verifies that the DI container fix for
|
|
# session create command works correctly. The @tdd_expected_fail tags have
|
|
# been removed now that the fix has landed.
|
|
Feature: Session create command resolves DI container wiring
|
|
As a developer using the agents CLI
|
|
I want "agents session create" to work after a fresh init
|
|
So that I can create interactive sessions without a DI container error
|
|
|
|
Background:
|
|
Given a session-create-error CLI runner using the real DI path
|
|
|
|
@tdd_bug @tdd_bug_570
|
|
Scenario: Session create produces a new session
|
|
When I invoke session-create-error create with no arguments
|
|
Then the session-create-error command should exit successfully
|
|
And the session-create-error output should contain "session_id:"
|
|
|
|
@tdd_bug @tdd_bug_570
|
|
Scenario: Created session persists and can be retrieved
|
|
When I invoke session-create-error create with no arguments
|
|
Then the session-create-error command should exit successfully
|
|
When I invoke session-create-error list to verify persistence
|
|
Then the session-create-error list should show at least one session
|
|
|
|
@tdd_bug @tdd_bug_570
|
|
Scenario: Session create with custom actor succeeds
|
|
When I invoke session-create-error create with actor "openai/gpt-4"
|
|
Then the session-create-error command should exit successfully
|
|
And the session-create-error output should contain "openai/gpt-4"
|
|
And the session-create-error output should contain "session_id:"
|
|
|
|
@tdd_bug @tdd_bug_570
|
|
Scenario: Session create with arbitrary actor name succeeds
|
|
When I invoke session-create-error create with actor "nonexistent/bogus-actor-999"
|
|
Then the session-create-error command should exit successfully
|
|
And the session-create-error output should contain "nonexistent/bogus-actor-999"
|