testing: Integration Tests
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 5
- Forks
- 10
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 17
Description
Establish an effective integration test suite within apollo
Integration tests are designed to test the functionality and content of a service, end-to-end, including real model calls. They should not set a high quality bar or depend too much on the model, but should broadly assert the flow of information through the request.
Here are the principles of integration testing:
- Integration tests are run against the running bun server, so they're HTTP calls, rather than direct pyhon calls
- Integration tests require LLM calls so are expensive to run
- Assertions should test the shape of the payload returned by apollo, and by running regex tests against the content. They should be a little loose in terms of content, to allow for the models to return different answers which still satisfy the test criteria
- They are designed to be run once per branch, before merging, and probably on some manual trigger. Maybe they can run on every push once a label has been added.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining the running bun server and the HTTP request flow that integration tests must exercise, rather than calling Python directly. Define tests around payload shape and loose regex checks for real model responses, then verify they can run once per branch with an appropriate manual or labeled trigger.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bun, python
- Domain
- ai, api, backend, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100