Skip to content

test(v2): align v2 functional tests with current backend behavior#996

Merged
aix-ahmet merged 1 commit into
testfrom
fix/v2-functional-tests
Jul 21, 2026
Merged

test(v2): align v2 functional tests with current backend behavior#996
aix-ahmet merged 1 commit into
testfrom
fix/v2-functional-tests

Conversation

@aix-ahmet

Copy link
Copy Markdown
Collaborator

Fixes 12 of the 17 remaining setup-and-test (v2) failures on test (run 29813378427). Each fix was verified against the live test platform where my credentials allowed.

Fixed

  • Inspector step detection (5 tests): verified via a live team-agent run — the backend does still emit inspector steps, but the step's agent.id is now the inspector's own name (abort_output_inspector, is_system_agent: true) instead of the old inspector|... prefix, and there's a new governance block (BLOCKED_BY_INSPECTOR). Matcher updated to substring match in inspector_functional_test.py and test_arabic_agent.py.
  • Tavily (3 tests): fetch Tavily Web Search by id 6931bdf462eb386b7158def3 (same asset the passing agent test uses). The path tavily/tavily-search-api/Tavily resolves to the Legacy asset whose only action is a generic run — that's why actions['search'] failed. (Backend data issue worth reporting: two assets claim the same path.)
  • functions filter (1 test): the filter works now — but the v2 Function enum has uppercase values (TEXT_GENERATION), so the lowercase .value comparison was wrong. Compare enum name; also require non-empty results.
  • snake_case round-trips (2 tests): Agent.get hydrates tools into objects, so the tests now read the raw wire payload via client.client.request('get', 'sdk/agents/{id}') and assert on assetId / allowMulti / supportsVariables. Passing against the live test platform.
  • session reactions (2 tests): skipped with reason — reproduced a genuine backend bug: the sessions service validates role (must be one of: user, assistant) but then stores every message as role='user' (POST response + GET both confirm), so assistant messages can never be liked/disliked. Needs a sessions-service fix; unskip after.

Not fixed (backend / needs investigation)

  • 2 Slack tests: err.supplier_error: Invalid request data provided — action SLACK_SEND_MESSAGE now resolves, but the supplier rejects the payload; I can't inspect the action's input schema with local credentials.
  • 3 Arabic tests: empty SUCCESS outputs from claude-opus-4.6 / gpt-4.1-nano (credits billed) — model-serving issue on test env.

Verified: 1388 unit tests pass; 3 of the fixed tests run green against the live test platform locally.

🤖 Generated with Claude Code

https://claude.ai/code/session_018dCb6BE5bqjCrmsiPDGLRr

- Inspector step detection: the backend now reports the inspector's own
  name as the step agent id (e.g. 'abort_output_inspector',
  is_system_agent=true) instead of 'inspector'/'inspector|...'; match on
  substring. Verified via a live run (also returns a new governance block
  with status BLOCKED_BY_INSPECTOR).
- Tavily: fetch the 'Tavily Web Search' connector tool by id
  (6931bdf462eb386b7158def3). The marketplace path
  tavily/tavily-search-api/Tavily resolves to the Legacy asset whose only
  action is a generic 'run', breaking the 'search'-action tests.
- functions filter: v2 Function enum values are uppercase
  (TEXT_GENERATION); compare enum name, and require non-empty results now
  that the backend honors the filter.
- snake_case round-trips: Agent.get hydrates tools into objects, so read
  the raw payload via client.request('get', 'sdk/agents/{id}') and assert
  on the wire shape (assetId, allowMulti, supportsVariables). Verified
  against the test platform.
- session reactions: skip both tests — verified backend bug: the sessions
  service validates role but stores every message as role='user', so
  assistant messages can never be reacted to.
@aix-ahmet
aix-ahmet merged commit 99e09c7 into test Jul 21, 2026
1 check 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.

1 participant