Chris Coutinho
2c35e07675
fix: Separate OAuth fixtures for opaque vs JWT tokens
...
Previous fix created a JWT OAuth client for all tests, which broke the
regular OAuth server (port 8001) that expects opaque tokens.
This commit:
1. Reverts shared_oauth_client_credentials to use regular OAuth (opaque tokens)
2. Creates new shared_jwt_oauth_client_credentials for JWT OAuth clients
3. Creates new playwright_oauth_token_jwt fixture using JWT credentials
4. Updates nc_mcp_oauth_jwt_client to use JWT token fixture
This ensures:
- Regular OAuth tests (port 8001) use opaque tokens
- JWT OAuth tests (port 8002) use JWT tokens with embedded scopes
Fixes remaining CI failure in test_mcp_oauth_server_connection
2025-10-22 07:17:43 +02:00
Chris Coutinho
5cfdff0faf
test: Create JWT OAuth client with explicit scopes for shared test fixture
...
The shared_oauth_client_credentials fixture was creating an OAuth client
without explicit allowed_scopes configuration. This caused JWT tokens to
lack nc:read and nc:write scope claims, resulting in the JWT MCP server
filtering out ALL tools when list_tools() was called.
Changed the fixture to use _create_oauth_client_with_scopes() helper to
create a JWT client with explicit allowed_scopes="openid profile email
nc:read nc:write", matching the scopes requested in the authorization
URL and the behavior of other scoped test fixtures.
This fixes CI test failures in:
- test_mcp_oauth.py::test_mcp_oauth_server_connection
- test_mcp_oauth_jwt.py::test_jwt_mcp_server_connection
- test_mcp_oauth_jwt.py::test_jwt_tool_list_operations
- test_mcp_oauth_jwt.py::test_jwt_automation_worked
All were failing with: assert len(result.tools) > 0 (result.tools was empty)
2025-10-22 07:02:40 +02:00
Chris Coutinho
8a3269f366
test: Use separate docker compose command
2025-10-22 06:38:05 +02:00
Chris Coutinho
c069d78f80
feat: Initialize JWT-scoped tools
2025-10-22 06:21:16 +02:00
Chris Coutinho
63b898c0e3
chore: Update logs
2025-10-20 22:57:18 +02:00
Chris Coutinho
a143123acc
fix(caldav): Check that calendar exists after creation to avoid race condition
...
Verify that field preservation tests still operate
2025-10-19 23:44:39 +02:00
Chris Coutinho
1dc2ddfdb7
fix(caldav): Properly parse datetimes as vDDDTypes
2025-10-19 20:13:05 +02:00
Chris Coutinho
92e18825bc
feat(caldav): Add support for tasks
2025-10-19 18:02:43 +02:00
Chris Coutinho
5757f2582b
ci: Run oauth tests
2025-10-19 00:49:55 +02:00
Chris Coutinho
b72514bb32
ci: Add pytest-timeout to dev deps
2025-10-19 00:27:19 +02:00
Chris Coutinho
95da43ea0f
ci: Increase playwright timeout to 60s
2025-10-18 23:26:50 +02:00
Chris Coutinho
963a504ae2
ci: Replace 0.5 stagger with 10s in CI
2025-10-18 22:57:47 +02:00
Chris Coutinho
ead298c132
chore: revert conftest.py
2025-10-18 22:44:51 +02:00
Chris Coutinho
2f805e54b7
test: Migrate load test benchmark scripts to anyio
...
Remove unused redis container
2025-10-18 22:40:50 +02:00
Chris Coutinho
6158a890af
feat(webdav): Add search and list favorite response tools
2025-10-18 22:02:26 +02:00
Chris Coutinho
240ceb3808
test: Migrate load test framework to anyio as well
2025-10-18 22:02:25 +02:00
Chris Coutinho
1459fe9bc8
test: Replace pytest-asyncio plugin fixtures with anyio fixtures
2025-10-18 22:02:25 +02:00
Chris Coutinho
37164dbdbc
chore: sort imports
2025-10-18 22:02:25 +02:00
Chris Coutinho
c3ff92a8c1
test: Cleanup testing fixtures regarding canceled scopes
2025-10-18 22:02:25 +02:00
Chris Coutinho
371d0c93a5
test: Update oauth benchmark tests
2025-10-18 22:02:25 +02:00
Chris Coutinho
644c59bf78
docs: remove old docs
2025-10-18 22:02:25 +02:00
Chris Coutinho
056b6fc9d6
test: Initialize load testing framework
2025-10-18 22:02:24 +02:00
Chris Coutinho
83917b3786
perf(notes): Improve notes search performance using async iterators
2025-10-18 22:02:19 +02:00
Chris Coutinho
955ad78f13
test: Add load testing framework
2025-10-18 22:02:19 +02:00
Chris Coutinho
27519d0f62
test: Replace http server for recipes with nginx container
2025-10-17 04:30:03 +02:00
Chris Coutinho
0fd32ecd34
test: Fix test networking
2025-10-17 03:58:36 +02:00
Chris Coutinho
9de59db718
feat(cookbook): Add full Cookbook app support with 13 tools and 2 resources
...
- Import recipes from URLs using schema.org metadata
- Full CRUD operations for recipes
- Search, categorize, and organize recipes
- Manage keywords/tags and categories
- Configure app settings and trigger reindexing
2025-10-17 03:08:16 +02:00
Chris Coutinho
51d1f075f5
test: Remove duplicated/interactive testing fixtures
...
All integration tests now run without interactive browser usage, simplifying CI and testing infrastructure
2025-10-16 19:46:29 +02:00
Chris Coutinho
3921d9b982
test: Refactor test fixtures into a oauth token factory
2025-10-15 21:15:18 +02:00
Chris Coutinho
46c6f2f294
test: Fix oauth tests by reusing callback server
2025-10-15 17:06:46 +02:00
Chris Coutinho
3ad9198f36
fix(oauth): Remove the option to force_register new clients
2025-10-15 16:27:22 +02:00
Chris Coutinho
cc2a5c9d58
test: Inc delay for alice
2025-10-15 11:36:54 +02:00
Chris Coutinho
26f8deff17
test: Increase stagger delay 0.5 -> 2s
2025-10-15 11:07:06 +02:00
Chris Coutinho
fb3063e94e
test: Increase callback timeout 10s -> 30s
2025-10-15 10:57:21 +02:00
Chris Coutinho
5db02313a1
test: Update share client to fix test, update passwords
2025-10-15 10:35:22 +02:00
Chris Coutinho
b50e212f05
test: Add tests for sharing/groups
2025-10-15 03:46:01 +02:00
Chris Coutinho
7004104873
test: Fix multi-user tests
2025-10-15 02:11:17 +02:00
Chris Coutinho
7a4a31b52d
fix: Update user/groups API to OCS v2
2025-10-15 00:05:22 +02:00
Chris Coutinho
898c2e72ae
Merge remote-tracking branch 'origin/master' into feature/user-api
2025-10-14 23:43:03 +02:00
Chris Coutinho
8652684466
ci: [skip ci] Move oauth mcp tests to server subdir
2025-10-14 12:03:03 +02:00
Chris Coutinho
72ace9da9e
ci: [skip ci] Move tests to subdirs
2025-10-14 02:08:45 +02:00
Chris Coutinho
3c4535da75
test: Replace unittest class with simple tests
2025-10-14 01:23:40 +02:00
Chris Coutinho
a4ca3e00a0
Revert "test: Skip for GITHUB_ACTIONS inside fixture"
...
This reverts commit 4d65e6952cc164fe0212faa807d1f659df3d2792.
2025-10-14 01:23:40 +02:00
Chris Coutinho
d879904540
test: Skip for GITHUB_ACTIONS inside fixture
2025-10-14 01:23:40 +02:00
Chris Coutinho
2ae3c423e9
test: Skip interactive tests if GITHUB_ACTIONS is defined
2025-10-14 01:23:40 +02:00
Chris Coutinho
e886eff4ed
test: Fix typo in skipif condition
2025-10-14 01:23:39 +02:00
Chris Coutinho
23688f3f85
chore: Remove comments
2025-10-14 01:23:39 +02:00
Chris Coutinho
13e4915e38
test: Remove unused pytest fixtures
2025-10-14 01:23:39 +02:00
Chris Coutinho
6ce411094c
test: Enable tests via playwright, disable interactive in CI
2025-10-14 01:23:38 +02:00
Chris Coutinho
37b0577bfd
test: Add asyncio tests using Playwright
2025-10-14 01:23:38 +02:00