Repository navigation
test(plugins): run Firecrawl through the shared web adapter matrix - #327
Merged
Merged
Conversation
Firecrawl's argument tests copied the tables the other web adapters share, with fewer cases, because Firecrawl was not in that matrix. Adding it removes the copies and also covers what it was missing: long URLs, a stray endpoint argument, sanitized HTTP failures, and cancellation. Only the scrape options case and the response format test stay separate, since those are specific to the adapter. The end of the plugin service's revision test repeated two checks that other tests already make: a replaced key blocks a web tool, and a tool kept from a replaced session is refused. Both go through the same access check, so those lines are removed and the title now says what the test still protects.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Firecrawl's argument tests copied the tables shared by the other web adapters, with fewer cases, because Firecrawl was not in that matrix. Adding it removes the copies and gives Firecrawl the coverage it lacked. Users see no change.
tests/plugin-adapters.test.ts: addedfirecrawlto the"%s web adapter boundaries"matrix, which adds long URLs, a strayendpointargument, sanitized HTTP 401 and 429 failures, and cancellation.tests/plugin-adapters.test.ts: moved the response format test to a"%s web adapter responses"matrix without Firecrawl, whose responses have another shape and their own test. ThescrapeOptionscase stays as its own test.tests/plugin-service.test.ts: removed the end of the revision test, which repeated two checks made elsewhere: a replaced key blocks a web tool, and a tool kept from a replaced session is refused. Its title is now"refreshes provider revisions and stops routing web calls to a revoked provider".Testing
npm run lint: clean (two pre-existing warnings insrc/components/storage-*.tsx, untouched).npm run format:check,npm run typecheck(all four tsconfigs), andnpm run build: clean.npm teston Node 22: 2445 passed, 6 more thanmain.assertAccessstill fails a kept test.Not in this PR
Splitting tests that mix independent behaviors, such as
"remembers an always-allowed MCP tool through its integration and never over a Block rule", is left for later.