Skip to content

Tests readme fix #28

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 11, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ heroku ps:scale web=1 -a "$APP_NAME"
```

---
All of these tests will run automatically via github CI when you push up a pull request.
However, if you wish to run these end to end integration tests locally, you can do that too.

## 1 · Install dependencies

Expand All @@ -29,22 +31,23 @@ heroku ps:scale web=1 -a "$APP_NAME"
pip install -r requirements.txt
```

## 2 · Run local transports only
## Run E2E Integration Tests
Next, deploy your app. This is required for all E2E tests to run (some tests will be skipped if an app is not deployed & `MCP_SERVER_URL` is not set).
```bash
git push heroku <your-branch>:main
```

## 2 · Run local & one-off-dyno (STDIO) deployed transports
## 1 · Run local & one-off-dyno (STDIO) deployed transports
```bash
pytest tests -q
REMOTE_SERVER_TRANSPORT_MODULE=$(heroku config:get REMOTE_SERVER_TRANSPORT_MODULE) pytest tests -q
```

## 3 - Run local & all deployed transports
## 2 - Run local & all deployed transports
```bash
REMOTE_SERVER_TYPE=$(heroku config:get REMOTE_SERVER_TYPE) \
REMOTE_SERVER_TRANSPORT_MODULE=$(heroku config:get REMOTE_SERVER_TRANSPORT_MODULE) \
MCP_SERVER_URL=$(heroku info -s -a "$APP_NAME" | grep web_url | cut -d= -f2 | tr -d '\n') \
API_KEY=$(heroku config:get API_KEY -a "$APP_NAME") \
pytest tests -q
```

*NOTE: if your `REMOTE_SERVER_TYPE` is set to `sse_server` and not the default `streamable_http_server`, you'll need to change the `REMOTE_SERVER_TRANSPORT_MODULE` declaration line in `.github/workflows/test.yml` to make sure that the end to end integration tests against the temporary deployed remote server are using the appropriate client code.*
*NOTE: if your `REMOTE_SERVER_TRANSPORT_MODULE` is set to `sse_server` and not the default `streamable_http_server`, you'll need to change the `REMOTE_SERVER_TRANSPORT_MODULE` declaration line in `.github/workflows/test.yml` to make sure that the end to end integration tests against the temporary deployed remote server are using the appropriate client code.*