@session Feature: PersistentSessionService coverage Additional scenarios exercising previously uncovered code paths in session_service.py (lines 97-98, 139-146, 150-151, 217, 248, 310-311). Background: Given the session service module is imported # ----------------------------------------------------------------------- # Lines 97-98: create() — event_bus.emit raises an exception # ----------------------------------------------------------------------- Scenario: Creating a session when event_bus emit raises logs a warning but succeeds Given a mock session repository and message repository And an event bus that raises on emit And a persistent session service with the failing event bus When sesscov I create a session with actor name "test/actor" Then the session should be returned successfully And the session repository should have recorded one create call # ----------------------------------------------------------------------- # Lines 139-146: delete() — event_bus present and emit succeeds # ----------------------------------------------------------------------- Scenario: Deleting a session with event_bus present emits ENTITY_DELETED event Given a mock session repository and message repository And a recording event bus And a persistent session service with the recording event bus And the session repository will return True for delete When I delete session "01JTEST00000000000000000000" Then the recording event bus should have received an ENTITY_DELETED event # ----------------------------------------------------------------------- # Lines 150-151: delete() — event_bus.emit raises an exception # ----------------------------------------------------------------------- Scenario: Deleting a session when event_bus emit raises logs a warning but succeeds Given a mock session repository and message repository And an event bus that raises on emit And a persistent session service with the failing event bus And the session repository will return True for delete When I delete session "01JTEST00000000000000000000" Then no exception should be raised from delete # ----------------------------------------------------------------------- # Line 217: export_session() — session not found # ----------------------------------------------------------------------- Scenario: Exporting a non-existent session raises SessionNotFoundError Given a mock session repository and message repository And a persistent session service without event bus And the session repository returns None for get_by_id When I export session "01JNONEXISTENT0000000000000" Then a SessionNotFoundError should be raised with message containing "not found" # ----------------------------------------------------------------------- # Line 248: import_session() — missing checksum # ----------------------------------------------------------------------- Scenario: Importing session data with missing checksum raises SessionImportError Given a mock session repository and message repository And a persistent session service without event bus When I import session data with valid schema version but no checksum Then a SessionImportError should be raised with message containing "Missing checksum" # ----------------------------------------------------------------------- # Lines 310-311: import_session() — invalid message data triggers KeyError # ----------------------------------------------------------------------- Scenario: Importing session data with invalid messages raises SessionImportError Given a mock session repository and message repository And a persistent session service without event bus When I import session data with valid checksum but invalid message fields Then a SessionImportError should be raised with message containing "Invalid import data"