Commit graph inspector/client/src/utils/__tests__
Author SHA1 Message Date
olaservo
541a59f1fe Add test to explicitly reproduce issue #846 regression
This test verifies that tools with multiple nullable parameters
(default: null) work correctly. In v0.17.0, cleanParams would
incorrectly remove these null values, breaking tool execution.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 21:20:33 -07:00
olaservo
8367ef242b Merge remote-tracking branch 'upstream/main' into issue-846 2025-10-12 20:25:58 -07:00
Greg Saab
9e74437dab update specs 2025-10-08 12:34:13 -04:00
olaservo
0123a71da4 Add input validation guidelines and enhance cleanParams function to preserve default values 2025-10-08 08:43:11 -07:00
olaservo
a11ee99818 Update ToolsTab tests to require JSON fields and adjust default value generation for optional types 2025-09-27 21:17:17 -07:00
olaservo
45a1bde010 Refactor ToolsTab to handle cleared fields as undefined instead of empty strings; update tests for new behavior 2025-09-27 20:21:03 -07:00
olaservo
754c97956f Omit optional fields with empty strings from tool calls 2025-09-24 07:01:04 -07:00
Jenn Newton
a018a6d758
Apply Prettier formatting
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 15:41:33 +00:00
Jenn Newton
650f3090d2
fix: add validation for OAuth redirect URLs
- Create shared validateRedirectUrl utility to centralize URL validation
- Only allow HTTP and HTTPS protocols in OAuth authorization URLs
- Fix three vulnerable redirect paths that bypassed validation:
  - AuthDebugger.tsx: Direct window.location.href redirect
  - OAuthFlowProgress.tsx: window.open() without validation
  - OAuthFlowProgress.tsx: Direct anchor href attribute
- Add comprehensive test coverage for URL validation
- Update existing auth.ts to use shared validation utility

This prevents malicious MCP servers from injecting javascript: or data:
protocol URLs that would execute XSS attacks when users are redirected
to the authorization endpoint.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 10:08:20 -03:00
Konstantin Konstantinov
929b930618
reusable generateOAuthState helper, introduce in InspectorOAuthClientProvider and in oauth-state-machine, add test 2025-08-11 21:24:26 +03:00
Mats Julius Funke
d4f8e061f3
ci: added tests for the union type 2025-08-03 10:34:40 +02:00
Alex Andru
3a121bc8fc fix: support JSON Schema spec compliant oneOf with const for labeled enums
- Make JsonSchemaType.type optional to support const-only schemas
- Add JsonSchemaConst type for schema objects using const values
- Update oneOf/anyOf to accept both full schemas and const schemas
- Add comprehensive tests for oneOf with const and title patterns

This fixes TypeScript compilation errors when using the JSON Schema
specification's recommended approach for labeled enums:
{ "type": "string", "oneOf": [{ "const": "red", "title": "Stop" }] }

Replaces deprecated enumNames pattern with spec-compliant implementation.
2025-07-04 19:39:03 +02:00
Alex Andru
19ff315dd1 Merge branch 'origin/main' into feature/elicitations
Resolved conflicts by adopting the improved form input handling from main:
- Standardized JsonSchemaType.required to only accept string arrays (JSON Schema standard)
- Adopted enhanced object and array rendering with proper nested support
- Improved boolean field rendering (removed extra wrapper div)
- Enhanced array handling with add/remove functionality
- Simplified required field validation logic

This maintains elicitation functionality while benefiting from the form input fixes.
2025-07-03 16:14:21 +02:00
Ola Hungerford
95975c58e7
Merge branch 'main' into fix-required 2025-06-24 21:35:27 -07:00
Alex Andru
6c809bdab6 test: new elicitation format for jsonUtils 2025-06-19 17:39:24 +02:00
Jerome
760c7e4056
fix: replace require() imports with ES modules in tests
- Replaced all require() imports with proper ES module imports
- Fixed ESLint @typescript-eslint/no-require-imports errors
- Removed unused variable mockGetMCPProxyAddress
- Added proper TypeScript types instead of 'any'
- All tests passing and linting clean

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 18:11:16 +01:00
Jerome
62402b49c4
test: add tests for proxy auth header in config endpoint
- Added tests for App.tsx config endpoint to verify X-MCP-Proxy-Auth header usage
- Added tests for getMCPProxyAuthToken utility function
- Tests cover:
  - Sending correct proxy auth header when token is configured
  - Not sending header when token is empty
  - Using custom header names (for future flexibility)
  - Handling config endpoint errors gracefully
- All tests passing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 18:01:10 +01:00
olaservo
e5e2edc4a1 Fix formatting 2025-06-01 16:11:20 -07:00
olaservo
06af321530 Fix tests 2025-06-01 16:07:45 -07:00
Basil Hosmer
5a628c7a00
fix: Fix lint errors
- Remove unused catch parameter in ToolsTab.tsx
- Replace 'as any' with @ts-expect-error in test for invalid schema

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
cf1fb61de4
test: Add comprehensive tests for structured output validation
Added extensive test coverage for the new structured output features:

Schema Utilities Tests:
- Tests for cacheToolOutputSchemas function
- Tests for validateToolOutput with various scenarios
- Tests for getToolOutputValidator and hasOutputSchema helpers
- Coverage for valid/invalid schemas and edge cases
- Tests for nested object validation

ToolsTab Component Tests:
- Tests for output schema display and expand/collapse functionality
- Tests for structured content validation display
- Tests for validation error messages
- Tests for unstructured content title logic
- Tests for compatibility checking between structured/unstructured content
- Tests ensuring compatibility check only runs with output schemas

All tests passing with 100% coverage of new functionality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Mitko Iliev
fa6fc62ecb Fixed: if not given cannnot be null default, tests 2025-04-19 00:47:14 +03:00
Maxwell Gerber
c8e9a772e4
Merge remote-tracking branch 'theirs/main' into max/improved-oauth-callback 2025-04-16 16:08:11 -07:00
yushengchen
068d43226f refactor: remove as any of file jsonUtils.test.ts
refactor: extract `DataType` as the return type of function `getDataType`
2025-04-09 09:24:42 +08:00
yushengchen
fe74dbea74 refactor(json): Consolidate JSON utilities and type definitions
Modified files:
- client/src/components/DynamicJsonForm.tsx
- client/src/components/JsonView.tsx
- client/src/components/ToolsTab.tsx
- client/src/components/__tests__/DynamicJsonForm.test.tsx
- client/src/utils/__tests__/jsonPathUtils.test.ts → client/src/utils/__tests__/jsonUtils.test.ts
- client/src/utils/__tests__/schemaUtils.test.ts
- client/src/utils/jsonPathUtils.ts → client/src/utils/jsonUtils.ts
- client/src/utils/schemaUtils.ts

Descriptions:
- Move JSON type definitions from DynamicJsonForm to centralized jsonUtils
- Consolidate utility functions (getDataType, tryParseJson) into jsonUtils
- Rename jsonPathUtils to jsonUtils for better semantic clarity
- Add comprehensive test coverage for new utility functions
- Update imports across all affected components
- Improve type references consistency throughout the codebase
2025-04-09 09:20:02 +08:00
Maxwell Gerber
3f9500f954
feat: QoL improvements for OAuth Callback 2025-04-07 14:58:31 -07:00
Abdelkader Boudih
af44efb236
chore: extract utils escapeUnicode 2025-03-22 16:25:33 +00:00
Ola Hungerford
c463dc58c2 Simplify check for defaults and add another test 2025-03-18 06:23:25 -07:00
Ola Hungerford
a85d5e7050 Fix formatting 2025-03-17 07:56:23 -07:00
Ola Hungerford
7ddba51b36 Generate empty objects and arrays for non required object and array fields 2025-03-17 06:36:35 -07:00
Ola Hungerford
0e50b68f96 Fix formatting 2025-02-28 06:30:23 -07:00
Ola Hungerford
a1eb343b79 Remove unused function plus tests 2025-02-28 06:26:04 -07:00
Ola Hungerford
82bbe58a46 Fix formatting 2025-02-27 22:08:04 -07:00
Ola Hungerford
44982e6c97 Default to nulls and update tests 2025-02-27 21:33:37 -07:00
Ola Hungerford
238c22830b Fix formatting 2025-02-27 07:21:04 -07:00
Ola Hungerford
0747479694 Handle edge case and add tests for functions 2025-02-27 06:40:01 -07:00