modsetter--surfsense
6ede33ccdb
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Has been cancelled
Build and Push Docker Images / finalize_release (push) Has been cancelled
Obsidian Plugin Lint / lint (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / compute_version (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / verify_digests (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Has been cancelled
Composio Google Drive — E2E
Phase 1 Playwright coverage for the Composio Drive connector.
Journey in this folder
| File | User expectation |
|---|---|
journey.spec.ts |
"I connect Google Drive, choose a file, wait for indexing, and SurfSense contains that file's content." |
What "passes" actually proves
- The dashboard and connector dialog render for the authenticated user.
- The Composio Drive connector fixture can complete the happy OAuth setup.
- The selected Drive file config can be persisted.
- Pipeline service summarizes/embeds/chunks an indexed file end-to-end.
- Celery worker is reachable from the FastAPI process (queue + broker).
Document.contentcontains the Drive canary token after indexing.
Edge cases tested elsewhere
Playwright does not own backend edge cases. They are cheaper and easier to localize in pytest:
- OAuth state freshness/tamper/malformed validation:
surfsense_backend/tests/unit/utils/test_oauth_security.py - OAuth denied callback and duplicate/reconnection branch:
surfsense_backend/tests/integration/composio/test_oauth_callback.py - Folder listing, selected file config persistence, and auth-expired
classification:
surfsense_backend/tests/integration/composio/test_drive_folders_route.py
What "passes" does NOT prove
- Real Composio.dev integration (mocked).
- Real LLM summarization quality (
FakeListChatModel). - Real embedding semantics (constant 0.1 vectors).
These are intentional. Phase 1's deal is "the user-visible Drive journey crosses the connector/indexing seams". Phase 2 can add opt-in "live LLM" smoke tests under a separate workflow and a separate budget.
Adding a fourth Composio toolkit (e.g. Slack)
- Add fixture data to
surfsense_backend/tests/e2e/fakes/fixtures/<toolkit>_*.json. - Extend
_Tools.execute()insurfsense_backend/tests/e2e/fakes/composio_module.pyto handle the new toolkit's tool slugs (SLACK_FETCH_CONVERSATIONS, etc.). - Add the toolkit to
_AuthConfigs.list(). - Drop a sibling folder
tests/connectors/composio/<toolkit>/with onejourney.spec.tsthat matches the user's expectation for that toolkit.
The fixtures in tests/fixtures/connectors/composio-drive.fixture.ts
are the template — copy + change toolkit_id.