Skip to content

test: Add deep research unit tests#198

Open
fede-kamel wants to merge 6 commits intooracle:mainfrom
fede-kamel:feature/deep-research-tests
Open

test: Add deep research unit tests#198
fede-kamel wants to merge 6 commits intooracle:mainfrom
fede-kamel:feature/deep-research-tests

Conversation

@fede-kamel
Copy link
Copy Markdown
Contributor

Summary

  • Unit tests for DeepResearchConfig, factory function, LLM builder, execution paths

Dependency

PR 8/13 of the deep research agent stack. Depends on PR 7.

Test plan

  • 76 unit tests pass

Stacked PR — merge in order after predecessors.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Apr 15, 2026
@fede-kamel fede-kamel force-pushed the feature/deep-research-tests branch 8 times, most recently from a993d34 to 9b2ded5 Compare April 22, 2026 15:58
@fede-kamel fede-kamel force-pushed the feature/deep-research-tests branch 7 times, most recently from 962c08b to adc3a45 Compare April 28, 2026 00:05
@fede-kamel fede-kamel force-pushed the feature/deep-research-tests branch 2 times, most recently from 8da1278 to 54911dd Compare May 4, 2026 16:23
fede-kamel added 6 commits May 8, 2026 14:11
Adds the datastore tool factory and selector to langchain-oci:
- create_datastore_tools() factory (datastores/tools/factory.py)
- StoreSelector for routing across multiple stores (datastores/tools/selector.py)
- get_document and stats tools (datastores/tools/{get_document,stats}.py)
- Top-level langchain_oci exports for datastores
- Compile-test scaffold (tests/integration_tests/test_compile.py)

Builds on the tool framework from PR oracle#194.
…pile test

The compile-import smoke test imported `create_deep_research_agent` alongside the
datastore symbols added in this PR, but that symbol is introduced in a later PR
in the stack (oracle#197 — feat: Add deep research agent). Until that PR lands the
import fails with `ImportError: cannot import name 'create_deep_research_agent'`,
which makes the integration suite red on this branch alone.

Drop the forward reference here. The deep-research import will be added back to
this test in oracle#197 once the symbol exists.
Mirrors the description rename from PR oracle#194 across the factory layer:
- Add store_list field back to DatastoreTool (used by stats/get_document
  for fallback messaging).
- StatsTool / GetDocumentTool now declare description as a field default
  instead of base_description: ClassVar.
- Factory build_description() reads each tool's description field default
  via model_fields["description"].default rather than a custom class
  attribute.
Adds comprehensive unit tests covering:
- VectorDataStore base class behavior
- ADB and OpenSearch adapter wiring
- Datastore tool factory (search, keyword_search, get_document, stats)
- StoreSelector routing logic
Adds a deep research agent built on the deepagents library, integrating
the datastore framework from PRs oracle#192-oracle#196.

- create_deep_research_agent() entrypoint (agents/deep_research/agent.py)
- DeepResearchConfig for runtime configuration
- Lazy imports in top-level langchain_oci and agents packages

Requires the deep-research optional dependency group:
    pip install langchain-oci[deep-research]
Adds unit tests covering deep research agent construction, tool wiring,
and configuration validation.
@fede-kamel fede-kamel force-pushed the feature/deep-research-tests branch from 54911dd to 315948e Compare May 8, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant