Files
n8n-mcp/test-output.txt
czlonkowski aeb74102e5 fix: preserve array indices in multi-output nodes when removing connections
CRITICAL BUG FIX: Fixed array index corruption in multi-output nodes
(Switch, IF with multiple handlers, Merge) when rewiring connections.

Problem:
- applyRemoveConnection() filtered out empty arrays after removing connections
- This caused indices to shift in multi-output nodes
- Example: Switch.main = [[H0], [H1], [H2]] -> remove H1 -> [[H0], [H2]]
- H2 moved from index 2 to index 1, corrupting workflow structure

Root Cause:
```typescript
// Line 697 - BUGGY CODE:
workflow.connections[node][output] =
  connections.filter(conns => conns.length > 0);
```

Solution:
- Only remove trailing empty arrays
- Preserve intermediate empty arrays to maintain index integrity
- Example: [[H0], [], [H2]] stays [[H0], [], [H2]] not [[H0], [H2]]

Impact:
- Prevents production-breaking workflow corruption
- Fixes rewireConnection operation for multi-output nodes
- Critical for AI agents working with complex workflows

Testing:
- Added integration test for Switch node rewiring with array index verification
- Test creates 4-output Switch node, rewires middle connection
- Verifies indices 0, 2, 3 unchanged after rewiring index 1
- All 137 unit tests + 12 integration tests passing

Discovered by: @agent-n8n-mcp-tester during comprehensive testing
Issue: #272 (Connection Operations - Phase 1)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 09:18:27 +02:00

1638 lines
249 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> n8n-mcp@2.15.5 test
> vitest --reporter=verbose
RUN v3.2.4 /Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp
Coverage enabled with v8
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > extractMultiTenantHeaders Function > should extract all multi-tenant headers when present 2ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > extractMultiTenantHeaders Function > should handle missing headers gracefully 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > extractMultiTenantHeaders Function > should handle case-insensitive headers 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > extractMultiTenantHeaders Function > should handle array header values 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > extractMultiTenantHeaders Function > should handle non-string header values 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Instance Context Creation and Validation > should create valid instance context from complete headers 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Instance Context Creation and Validation > should create partial instance context when some headers missing 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Instance Context Creation and Validation > should return undefined context when no relevant headers present 0ms
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Instance Context Creation and Validation > should validate instance context before use
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Instance Context Creation and Validation > should handle malformed URLs in headers 1ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Instance Context Creation and Validation > should handle special characters in headers 0ms
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Session ID Generation with Configuration Hash > should generate consistent session ID for same configuration
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Session ID Generation with Configuration Hash > should generate different session ID for different configuration
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Session ID Generation with Configuration Hash > should include UUID in session ID for uniqueness
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Session ID Generation with Configuration Hash > should handle undefined configuration in hash generation
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Security Logging with Sanitization > should sanitize sensitive information in logs
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Security Logging with Sanitization > should log session creation events
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Security Logging with Sanitization > should log context switching events
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Security Logging with Sanitization > should log validation failures securely
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Security Logging with Sanitization > should not log API keys or sensitive data in plain text
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Context Switching and Session Management > should handle session creation for new instance context 1ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Context Switching and Session Management > should handle session switching between different contexts 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Context Switching and Session Management > should prevent race conditions in session management 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Context Switching and Session Management > should handle session cleanup for inactive sessions 0ms
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Context Switching and Session Management > should handle maximum session limit 0ms
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Error Handling and Edge Cases > should handle invalid header types gracefully
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Error Handling and Edge Cases > should handle missing or corrupt session data 0ms
↓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Error Handling and Edge Cases > should handle context validation errors gracefully
✓ tests/unit/http-server/multi-tenant-support.test.ts > HTTP Server Multi-Tenant Support > Error Handling and Edge Cases > should handle memory pressure during session management 1ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > addNode > should add a new node to workflow 396ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > addNode > should return error for duplicate node name 180ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > removeNode > should remove node by name 255ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > removeNode > should return error for non-existent node 185ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > updateNode > should update node parameters 246ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > updateNode > should update nested parameters 245ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > moveNode > should move node to new position 250ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > enableNode / disableNode > should disable a node 244ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Node Operations > enableNode / disableNode > should enable a disabled node 362ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Connection Operations > addConnection > should add connection between nodes 243ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Connection Operations > addConnection > should add connection with custom ports 245ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Connection Operations > removeConnection > should remove connection between nodes 241ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Connection Operations > removeConnection > should ignore error for non-existent connection with ignoreErrors flag 244ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Connection Operations > replaceConnections > should replace all connections 253ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Connection Operations > cleanStaleConnections > should remove stale connections in dry run mode 299ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Metadata Operations > updateSettings > should update workflow settings 247ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Metadata Operations > updateName > should update workflow name 242ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Metadata Operations > addTag / removeTag > should add tag to workflow 254ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Metadata Operations > addTag / removeTag > should remove tag from workflow 339ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Advanced Scenarios > should apply multiple operations in sequence 243ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Advanced Scenarios > should validate operations without applying (validateOnly mode) 232ms
✓ tests/integration/n8n-api/workflows/update-partial-workflow.test.ts > Integration: handleUpdatePartialWorkflow > Advanced Scenarios > should handle continueOnError mode with partial failures 240ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Lifecycle > should establish a new session 188ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Lifecycle > should handle session initialization with capabilities 158ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Lifecycle > should handle clean session termination 171ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Lifecycle > should handle abrupt disconnection 175ms
↓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Multiple Sessions > should handle multiple concurrent sessions
↓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Multiple Sessions > should isolate session state
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Multiple Sessions > should handle sequential sessions without interference 317ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Multiple Sessions > should handle single server with multiple sequential connections 187ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Recovery > should not persist state between sessions 200ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Recovery > should handle rapid session cycling 1193ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Metadata > should track client information 123ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Metadata > should handle different client versions 183ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Limits > should handle many sequential sessions 1711ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Limits > should handle session with heavy usage 245ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Error Recovery > should handle errors without breaking session 132ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Error Recovery > should handle multiple errors in sequence 125ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Resource Cleanup > should properly close all resources on shutdown 373ms
✓ tests/integration/mcp-protocol/session-management.test.ts > MCP Session Management > Session Transport Events > should handle transport reconnection 297ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createCacheKey > should create consistent SHA-256 hash for same input 1ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createCacheKey > should produce different hashes for different inputs 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createCacheKey > should use memoization for repeated inputs 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createCacheKey > should limit memoization cache size 3ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheConfig > should return default configuration when no env vars set 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheConfig > should use environment variables when set 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheConfig > should enforce minimum bounds 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheConfig > should enforce maximum bounds 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheConfig > should handle invalid values gracefully 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createInstanceCache > should create LRU cache with correct configuration 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createInstanceCache > should call dispose callback on eviction 1ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > createInstanceCache > should update age on get 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > CacheMutex > should prevent concurrent access to same key 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > CacheMutex > should allow concurrent access to different keys 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > CacheMutex > should check if key is locked 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > CacheMutex > should clear all locks 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > CacheMutex > should handle timeout for stuck locks 5002ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > calculateBackoffDelay > should calculate exponential backoff correctly 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > calculateBackoffDelay > should respect max delay 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > calculateBackoffDelay > should add jitter 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > withRetry > should succeed on first attempt 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > withRetry > should retry on failure and eventually succeed 33ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > withRetry > should throw after max attempts 34ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > withRetry > should not retry non-retryable errors 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > withRetry > should retry network errors 10ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > withRetry > should retry 429 Too Many Requests 167ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > cacheMetrics > should track cache operations 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > cacheMetrics > should update cache size 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > cacheMetrics > should reset metrics 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > cacheMetrics > should format metrics for logging 0ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheStatistics > should return formatted statistics 1ms
✓ tests/unit/utils/cache-utils.test.ts > cache-utils > getCacheStatistics > should calculate runtime 0ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > No Filters > should list all workflows without filters 405ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Filter by Active Status > should filter workflows by active=true 240ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Filter by Active Status > should filter workflows by active=false 188ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Filter by Tags > should filter workflows by name instead of tags 175ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Pagination > should return first page with limit 421ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Pagination > should handle pagination with cursor 745ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Pagination > should handle last page (no more results) 182ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Limit Variations > should respect limit=1 193ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Limit Variations > should respect limit=50 108ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Limit Variations > should respect limit=100 (max) 124ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Exclude Pinned Data > should exclude pinned data when requested 176ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Empty Results > should return empty array when no workflows match filters 55ms
✓ tests/integration/n8n-api/workflows/list-workflows.test.ts > Integration: handleListWorkflows > Sort Order > should return workflows in consistent order 771ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Preview Mode > should preview fixes without applying them (expression-format) 186ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Preview Mode > should preview multiple fix types 197ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Apply Mode > should apply expression-format fixes 180ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Apply Mode > should apply webhook-missing-path fixes 370ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Fix Type Filtering > should only apply specified fix types 176ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Fix Type Filtering > should handle multiple fix types filter 181ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Confidence Threshold > should filter fixes by high confidence threshold 176ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Confidence Threshold > should include medium and high confidence with medium threshold 198ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Confidence Threshold > should include all confidence levels with low threshold 191ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Max Fixes Parameter > should limit fixes to maxFixes parameter 191ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > No Fixes Available > should handle workflow with no fixable issues 180ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Error Handling > should handle non-existent workflow ID 64ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Error Handling > should handle invalid fixTypes parameter 124ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Error Handling > should handle invalid confidence threshold 114ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Response Format > should return complete autofix response structure (preview) 177ms
✓ tests/integration/n8n-api/workflows/autofix-workflow.test.ts > Integration: handleAutofixWorkflow > Response Format > should return complete autofix response structure (apply) 303ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Command injection prevention > should prevent basic command injection attempts 1757ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Command injection prevention > should handle complex nested injection attempts 33ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Command injection prevention > should handle Unicode and special characters safely 32ms
Warning: Ignoring dangerous variable: LD_PRELOAD
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Shell metacharacter handling > should safely handle all shell metacharacters 38ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Escaping edge cases > should handle consecutive single quotes 32ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Escaping edge cases > should handle empty and whitespace-only values 32ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Escaping edge cases > should handle very long values 32ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Environment variable name security > should handle potentially dangerous key names 34ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Real-world attack scenarios > should prevent path traversal attempts 32ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Real-world attack scenarios > should handle polyglot payloads safely 33ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Stress testing > should handle deeply nested malicious structures 32ms
✓ tests/unit/docker/config-security.test.ts > Config File Security Tests > Stress testing > should handle mixed attack vectors in single config 37ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Command transformation > should detect "n8n-mcp serve" and set MCP_MODE=http 154ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Command transformation > should preserve additional arguments after serve command 125ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Command transformation > should not affect other commands 134ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Integration with config loading > should load config before processing serve command 160ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Command line variations > should handle serve command with equals sign notation 125ms
ERROR: AUTH_TOKEN or AUTH_TOKEN_FILE is required for HTTP mode
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Command line variations > should handle quoted arguments correctly 119ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Error handling > should handle serve command with missing AUTH_TOKEN in HTTP mode 121ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Error handling > should succeed with AUTH_TOKEN provided 121ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Backwards compatibility > should maintain compatibility with direct HTTP mode setting 131ms
✓ tests/unit/docker/serve-command.test.ts > n8n-mcp serve Command > Command construction > should properly construct the node command after transformation 125ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Basic functionality > should parse simple flat config 33ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Basic functionality > should handle nested objects by flattening with underscores 31ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Basic functionality > should convert boolean values to strings 33ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Basic functionality > should convert numbers to strings 32ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Environment variable precedence > should not export variables that are already set in environment 33ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Environment variable precedence > should respect nested environment variables 32ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Shell escaping and security > should escape single quotes properly 33ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Shell escaping and security > should handle command injection attempts safely 38ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Shell escaping and security > should handle special shell characters safely 31ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should exit silently if config file does not exist 29ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should exit silently on invalid JSON 30ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should handle empty config file 30ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should ignore arrays in config 32ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should ignore null values 32ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should handle deeply nested structures 33ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Edge cases and error handling > should handle empty strings 32ms
✓ tests/unit/docker/parse-config.test.ts > parse-config.js > Default behavior > should use /app/config.json as default path when no argument provided 29ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Null and Undefined Handling > should handle null config gracefully 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Null and Undefined Handling > should handle undefined config gracefully 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Null and Undefined Handling > should handle null properties array gracefully 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Null and Undefined Handling > should handle undefined properties array gracefully 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Null and Undefined Handling > should handle properties with null values in config 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Boundary Value Testing > should handle empty arrays 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Boundary Value Testing > should handle very large property arrays 1ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Boundary Value Testing > should handle deeply nested displayOptions 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Boundary Value Testing > should handle extremely long string values 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Invalid Data Type Handling > should handle NaN values 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Invalid Data Type Handling > should handle Infinity values 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Invalid Data Type Handling > should handle objects when expecting primitives 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Invalid Data Type Handling > should handle circular references in config 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Performance Boundaries > should validate large config objects within reasonable time 41ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Special Characters and Encoding > should handle special characters in property values 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Special Characters and Encoding > should handle unicode characters 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Complex Validation Scenarios > should handle conflicting displayOptions conditions 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Complex Validation Scenarios > should handle multiple validation profiles correctly 1ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Error Recovery and Resilience > should continue validation after encountering errors 1ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > Error Recovery and Resilience > should handle malformed property definitions gracefully 0ms
✓ tests/unit/services/config-validator-edge-cases.test.ts > ConfigValidator - Edge Cases > validateBatch method implementation > should validate multiple configs in batch if method exists 0ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Data type edge cases > should handle JavaScript number edge cases 56ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Data type edge cases > should handle unusual but valid JSON structures 31ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Data type edge cases > should handle circular reference prevention in nested configs 31ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > File system edge cases > should handle permission errors gracefully 31ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > File system edge cases > should handle symlinks correctly 38ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > File system edge cases > should handle very large config files 63ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > JSON parsing edge cases > should handle various invalid JSON formats 356ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > JSON parsing edge cases > should handle Unicode edge cases in JSON 31ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Environment variable edge cases > should handle environment variable name transformations 31ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Environment variable edge cases > should handle conflicting keys after transformation 32ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Performance edge cases > should handle extremely deep nesting efficiently 89ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Performance edge cases > should handle wide objects efficiently 43ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Mixed content edge cases > should handle mixed valid and invalid content 30ms
✓ tests/unit/docker/edge-cases.test.ts > Docker Config Edge Cases > Real-world configuration scenarios > should handle typical n8n-mcp configuration 33ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getExamples > should return curated examples for HTTP Request node 1ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getExamples > should return curated examples for Webhook node 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getExamples > should return curated examples for Code node 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getExamples > should generate basic examples for unconfigured nodes 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getExamples > should use common property if no required fields exist 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getExamples > should return empty minimal object if no essentials provided 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide webhook processing example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide data transformation examples 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide aggregation example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide JMESPath filtering example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide Python example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide AI tool example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide crypto usage example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > special example nodes > should provide static data example 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > database node examples > should provide PostgreSQL examples 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > database node examples > should provide MongoDB examples 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > database node examples > should provide MySQL examples 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > communication node examples > should provide Slack examples 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > communication node examples > should provide Email examples 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > error handling patterns > should provide modern error handling patterns 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > error handling patterns > should provide API retry patterns 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > error handling patterns > should provide database error patterns 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > error handling patterns > should provide webhook error patterns 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getTaskExample > should return minimal example for basic task 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getTaskExample > should return common example for typical task 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getTaskExample > should return advanced example for complex task 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getTaskExample > should default to common example for unknown task 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > getTaskExample > should return undefined for unknown node type 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > default value generation > should generate appropriate defaults for different property types 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > default value generation > should use property defaults when available 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > default value generation > should generate context-aware string defaults 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > default value generation > should use placeholder as fallback for string defaults 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > edge cases > should handle empty essentials object 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > edge cases > should handle properties with missing options 0ms
✓ tests/unit/services/example-generator.test.ts > ExampleGenerator > edge cases > should handle collection and fixedCollection types 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > essentials mode > should return essential documentation for existing tool 1ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > essentials mode > should return error message for unknown tool 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > essentials mode > should use essentials as default depth 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > full mode > should return complete documentation for existing tool 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > special documentation topics > should return JavaScript Code node guide for javascript_code_node_guide 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > special documentation topics > should return Python Code node guide for python_code_node_guide 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > special documentation topics > should return full JavaScript guide when requested 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolDocumentation > special documentation topics > should return full Python guide when requested 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsOverview > essentials mode > should return essential overview with categories 1ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsOverview > essentials mode > should use essentials as default 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsOverview > full mode > should return complete overview with all tools 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > searchToolDocumentation > should find tools matching keyword in name 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > searchToolDocumentation > should find tools matching keyword in description 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > searchToolDocumentation > should be case insensitive 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > searchToolDocumentation > should return empty array for no matches 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > searchToolDocumentation > should search in both essentials and full descriptions 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsByCategory > should return tools for discovery category 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsByCategory > should return tools for validation category 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsByCategory > should return tools for configuration category 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getToolsByCategory > should return empty array for unknown category 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getAllCategories > should return all unique categories 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getAllCategories > should not have duplicates 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > getAllCategories > should return non-empty array 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > Error Handling > should handle missing tool gracefully 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > Error Handling > should handle empty search query 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > Documentation Quality > should format parameters correctly in full mode 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > Documentation Quality > should include code blocks for examples 0ms
✓ tests/unit/mcp/tools-documentation.test.ts > tools-documentation > Documentation Quality > should have consistent section headers 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should parse correctly when node is programmatic 2ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should parse correctly when node is declarative 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should preserve type when package prefix is already included 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isTrigger flag when node is a trigger 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isWebhook flag when node is a webhook 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isAITool flag when node has AI capability 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should parse correctly when node uses VersionedNodeType class 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should parse correctly when node has nodeVersions property 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should use max version when version is an array 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should throw error when node is missing name property 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should use static description when instantiation fails 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should extract category when using different property names 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isTrigger flag when node has polling property 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isTrigger flag when node has eventTrigger property 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isTrigger flag when node name contains trigger 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should set isWebhook flag when node name contains webhook 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should parse correctly when node is an instance object 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > parse method > should handle different package name formats 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > version extraction > should extract version from baseDescription.defaultVersion 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > version extraction > should extract version from nodeVersions keys 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > version extraction > should extract version from instance nodeVersions 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > version extraction > should handle version as number in description 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > version extraction > should handle version as string in description 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > version extraction > should default to version 1 when no version found 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > versioned node detection > should detect versioned nodes with nodeVersions 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > versioned node detection > should detect versioned nodes with defaultVersion 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > versioned node detection > should detect versioned nodes with version array in instance 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > versioned node detection > should not detect non-versioned nodes as versioned 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > edge cases > should handle null/undefined description gracefully 0ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > edge cases > should handle empty routing object for declarative nodes 1ms
✓ tests/unit/parsers/node-parser.test.ts > NodeParser > edge cases > should handle complex nested versioned structure 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should validate required fields for Slack message post 1ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should validate successfully with all required fields 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should handle unknown node types gracefully 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should validate property types 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should validate option values 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should check property visibility based on displayOptions 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should handle empty properties array 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should handle missing displayOptions gracefully 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > validate > should validate options with array format 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > edge cases and additional coverage > should handle null and undefined config values 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > edge cases and additional coverage > should validate nested displayOptions conditions 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > edge cases and additional coverage > should handle hide conditions in displayOptions 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > edge cases and additional coverage > should handle internal properties that start with underscore 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > edge cases and additional coverage > should warn about inefficient configured but hidden properties 0ms
✓ tests/unit/services/config-validator-basic.test.ts > ConfigValidator - Basic Validation > edge cases and additional coverage > should suggest commonly used properties 0ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Key Generation and Collision > should generate different cache keys for different contexts 2ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Key Generation and Collision > should generate same cache key for identical contexts 2ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Key Generation and Collision > should handle potential cache key collisions gracefully 2ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > LRU Eviction Behavior > should evict oldest entries when cache is full 42ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > LRU Eviction Behavior > should maintain LRU order during access 7ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > LRU Eviction Behavior > should handle rapid successive access patterns 6ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > TTL (Time To Live) Behavior > should respect TTL settings 8ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > TTL (Time To Live) Behavior > should update age on cache access (updateAgeOnGet) 6ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Dispose Callback Security and Logging > should sanitize cache keys in dispose callback logs 66ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Dispose Callback Security and Logging > should handle dispose callback with undefined client 49ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Memory Management > should maintain consistent cache size limits 95ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Memory Management > should handle edge case of single cache entry 90ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Configuration Validation > should use reasonable cache limits 45ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Interaction with Validation > should not cache when context validation fails 57ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Cache Interaction with Validation > should handle cache when config creation fails 47ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Complex Cache Scenarios > should handle mixed valid and invalid contexts 55ms
✓ tests/unit/mcp/lru-cache-behavior.test.ts > LRU Cache Behavior Tests > Complex Cache Scenarios > should handle concurrent access to same cache key 144ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #73: validate_node_minimal crashes without input validation > should handle empty config in validation schemas 19ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #73: validate_node_minimal crashes without input validation > should handle null config in validation schemas 21ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #73: validate_node_minimal crashes without input validation > should accept valid config object 20ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #58: validate_node_operation crashes on nested input > should handle invalid nodeType gracefully 21ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #58: validate_node_operation crashes on nested input > should handle null nodeType gracefully 19ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #58: validate_node_operation crashes on nested input > should handle non-string nodeType gracefully 21ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #58: validate_node_operation crashes on nested input > should handle valid nodeType properly 18ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #70: Profile settings not respected > should pass profile parameter to all validation phases 21ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #70: Profile settings not respected > should filter out sticky notes from validation 28ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #70: Profile settings not respected > should allow legitimate loops in cycle detection 22ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #68: Better error recovery suggestions > should provide recovery suggestions for invalid node types 21ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #68: Better error recovery suggestions > should provide recovery suggestions for connection errors 18ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Issue #68: Better error recovery suggestions > should provide workflow for multiple errors 20ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Enhanced Input Validation > should validate tool parameters with schemas 18ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Enhanced Input Validation > should reject invalid parameters 19ms
✓ tests/unit/validation-fixes.test.ts > Validation System Fixes > Enhanced Input Validation > should format validation errors properly 18ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should apply diff operations successfully 27ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle validation-only mode 29ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle multiple operations 185ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle diff application failures 50ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle API not configured error 28ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle workflow not found error 29ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle API errors during update 28ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle input validation errors 32ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle complex operation types 29ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle debug logging when enabled 29ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle generic errors 30ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle authentication errors 26ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle rate limit errors 23ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle server errors 26ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should validate operation structure 24ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle empty operations array 23ms
✓ tests/unit/mcp/handlers-workflow-diff.test.ts > handlers-workflow-diff > handleUpdatePartialWorkflow > should handle partial diff application 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > successful documentation fetch > should fetch documentation for httpRequest node 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > successful documentation fetch > should apply known fixes for node types 28ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > successful documentation fetch > should handle node types with package prefix 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > successful documentation fetch > should try multiple paths until finding documentation 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > successful documentation fetch > should check directory paths with index.md 28ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > documentation not found > should return null when documentation is not found 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > documentation not found > should return null for empty node type 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > documentation not found > should handle invalid node type format 28ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > path construction > should construct correct paths for core nodes 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > path construction > should construct correct paths for app nodes 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > path construction > should construct correct paths for trigger nodes 26ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > path construction > should construct correct paths for langchain nodes 24ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > error handling > should handle file system errors gracefully 24ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > error handling > should handle non-Error exceptions 28ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > KNOWN_FIXES mapping > should apply fix for httpRequest 28ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > KNOWN_FIXES mapping > should apply fix for respondToWebhook 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > KNOWN_FIXES mapping > should preserve casing for unknown nodes 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > logging > should log search progress 24ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > logging > should log when documentation is not found 26ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > edge cases > should handle very long node names 26ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > edge cases > should handle node names with special characters 29ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > fetchDocumentation > edge cases > should handle multiple dots in node type 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - SplitInBatches > should enhance SplitInBatches documentation with output guidance 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - SplitInBatches > should enhance SplitInBatches documentation when no "When to use" section exists 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - SplitInBatches > should handle splitInBatches in various node type formats 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - SplitInBatches > should provide specific guidance for correct connection patterns 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - SplitInBatches > should explain the common AI assistant mistake 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - SplitInBatches > should not enhance non-splitInBatches nodes with loop guidance 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - IF node > should enhance IF node documentation with output guidance 26ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - IF node > should handle IF node when no "Node parameters" section exists 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - IF node > should handle various IF node type formats 24ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - edge cases > should handle content without clear insertion points 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - edge cases > should handle empty content 27ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - edge cases > should handle content with multiple "When to use" sections 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - edge cases > should not double-enhance already enhanced content 25ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > enhanceLoopNodeDocumentation - edge cases > should handle very large content efficiently 26ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > DocsMapper instance > should use consistent docsPath across instances 23ms
✓ tests/unit/mappers/docs-mapper.test.ts > DocsMapper > DocsMapper instance > should maintain KNOWN_FIXES as readonly 24ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > FTS5 initialization > should initialize FTS5 when supported 24ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > FTS5 initialization > should skip FTS5 when not supported 26ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > saveTemplate > should save a template with proper JSON serialization 25ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > getTemplate > should retrieve a specific template by ID 24ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > getTemplate > should return null for non-existent template 27ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > searchTemplates > should use FTS5 search when available 25ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > searchTemplates > should fall back to LIKE search when FTS5 is not supported 25ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > getTemplatesByNodes > should find templates using specific node types 25ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > getTemplatesForTask > should return templates for known tasks 27ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > getTemplatesForTask > should return empty array for unknown task 28ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > template statistics > should get template count 24ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > template statistics > should get template statistics 27ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should get node templates count 28ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should get search count 31ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should get task templates count 25ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should handle pagination in getAllTemplates 26ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should handle pagination in getTemplatesByNodes 27ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should handle pagination in searchTemplates 22ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > pagination count methods > should handle pagination in getTemplatesForTask 27ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > maintenance operations > should clear all templates 27ms
✓ tests/unit/database/template-repository-core.test.ts > TemplateRepository - Core Functionality > maintenance operations > should rebuild FTS5 index when supported 26ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > HTTP Request node validation > should perform HTTP Request specific validation 29ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > HTTP Request node validation > should validate HTTP Request with authentication in API URLs 29ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > HTTP Request node validation > should validate JSON in HTTP Request body 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > HTTP Request node validation > should handle webhook-specific validation 28ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate Code node configurations 28ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate JavaScript syntax in Code node 25ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate n8n-specific patterns in Code node 26ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should handle empty code in Code node 29ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate complex return patterns in Code node 29ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate Code node with $helpers usage 24ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should detect incorrect $helpers.getWorkflowStaticData usage 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate console.log usage 25ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate $json usage warning 24ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should not warn about properties for Code nodes 28ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate crypto module usage 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should suggest error handling for complex code 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should suggest error handling for non-trivial code 24ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Code node validation > should validate async operations without await 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Python Code node validation > should validate Python code syntax 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Python Code node validation > should detect mixed indentation in Python code 23ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Python Code node validation > should warn about incorrect n8n return patterns 27ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Python Code node validation > should warn about using external libraries in Python code 28ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Python Code node validation > should validate Python code with print statements 29ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Database node validation > should validate database query security 23ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Database node validation > should check for SQL injection vulnerabilities 26ms
✓ tests/unit/services/config-validator-node-specific.test.ts > ConfigValidator - Node-Specific Validation > Database node validation > should validate SQL SELECT * performance warning 25ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should extract outputs array from base description 28ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should extract outputNames array from base description 27ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should extract both outputs and outputNames when both are present 25ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should convert single output to array format 26ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should convert single outputName to array format 26ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should extract outputs from versioned node when not in base description 26ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle node instantiation failure gracefully 28ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should return empty result when no outputs found anywhere 26ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle complex versioned node structure 27ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should prefer base description outputs over versioned when both exist 25ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle IF node with typical output structure 27ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle SplitInBatches node with counterintuitive output structure 28ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle Switch node with multiple outputs 28ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle empty outputs array 26ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > extractOutputs method > should handle mismatched outputs and outputNames arrays 30ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > real-world node structures > should handle actual n8n SplitInBatches node structure 33ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > real-world node structures > should handle actual n8n IF node structure 32ms
✓ tests/unit/parsers/node-parser-outputs.test.ts > NodeParser - Output Extraction > real-world node structures > should handle single-output nodes like HTTP Request 33ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should parse a basic programmatic node 21ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should parse a declarative node 23ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should detect trigger nodes 21ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should detect webhook nodes 22ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should detect AI tool nodes 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should parse VersionedNodeType class 22ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should merge baseDescription with version-specific description 19ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should throw error for nodes without name 23ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should handle nodes that fail to instantiate 28ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should handle static description property 24ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should handle instance-based nodes 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should use displayName fallback to name if not provided 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > parse method > should handle category extraction from different fields 21ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > trigger detection > should detect triggers by group 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > trigger detection > should detect polling triggers 19ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > trigger detection > should detect trigger property 22ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > trigger detection > should detect event triggers 21ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > trigger detection > should detect triggers by name 21ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > operations extraction > should extract declarative operations from routing.request 19ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > operations extraction > should extract declarative operations from routing.operations 23ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > operations extraction > should extract programmatic operations from resource property 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > operations extraction > should extract programmatic operations with resource context 23ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > operations extraction > should handle operations with multiple resource conditions 22ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > operations extraction > should handle single resource condition as array 22ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > version extraction > should extract version from baseDescription.defaultVersion 19ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > version extraction > should extract version from description.version 19ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > version extraction > should default to version 1 18ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > versioned node detection > should detect nodes with baseDescription and nodeVersions 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > versioned node detection > should detect nodes with version array 19ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > versioned node detection > should detect nodes with defaultVersion 21ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > versioned node detection > should handle instance-level version detection 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > edge cases > should handle empty routing object 20ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > edge cases > should handle missing properties array 18ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > edge cases > should handle missing credentials 17ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > edge cases > should handle nodes with baseDescription but no name in main description 18ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > edge cases > should handle complex nested routing structures 17ms
✓ tests/unit/parsers/simple-parser.test.ts > SimpleParser > edge cases > should handle operations without displayName 20ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should extract configs from valid workflow with multiple nodes 20ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should return empty array for workflow with no nodes 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should skip sticky note nodes 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should skip nodes without parameters 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should handle nodes with credentials 20ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should use default complexity when metadata is missing 21ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should handle malformed compressed data gracefully 21ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should handle invalid JSON after decompression 20ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > extractNodeConfigs > should handle workflows with missing nodes array 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should detect n8n expression syntax with ={{...}} 22ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should detect $json references 34ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should detect $node references 27ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should return false for parameters without expressions 24ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should handle nested objects with expressions 24ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should return false for null parameters 21ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should return false for undefined parameters 21ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should return false for empty object 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should handle array parameters with expressions 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > detectExpressions > should detect multiple expression types in same params 18ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > Edge Cases > should handle very large workflows without crashing 21ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > Edge Cases > should handle special characters in node names and parameters 19ms
✓ tests/unit/scripts/fetch-templates-extraction.test.ts > Template Configuration Extraction > Edge Cases > should preserve parameter structure exactly as in workflow 21ms
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Credential security > should perform security checks for hardcoded credentials 33ms
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Credential security > should validate HTTP Request with authentication in API URLs 31ms
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Code execution security > should warn about security issues with eval/exec 32ms
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Code execution security > should detect infinite loops 30ms
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Database security > should validate database query security 26ms
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Database security > should check for SQL injection vulnerabilities 25ms
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Database security > should warn about DROP TABLE operations
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Database security > should warn about TRUNCATE operations
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Database security > should check for unescaped user input in queries 28ms
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Network security > should warn about HTTP (non-HTTPS) API calls
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Network security > should validate localhost/internal URLs
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Network security > should check for sensitive data in URLs
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > File system security > should warn about dangerous file operations
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > File system security > should check for path traversal vulnerabilities
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Crypto and sensitive operations > should validate crypto module usage 29ms
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Crypto and sensitive operations > should warn about weak crypto algorithms
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Crypto and sensitive operations > should check for environment variable access
✓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Python security > should warn about exec/eval in Python 24ms
↓ tests/unit/services/config-validator-security.test.ts > ConfigValidator - Security Validation > Python security > should check for subprocess/os.system usage
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > getNodeDescription > should get webhook node description 19ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > getNodeDescription > should get httpRequest node description 21ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > executeNode > should execute httpRequest node with custom response 19ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > executeNode > should execute slack node and track calls 22ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > executeNode > should throw error for non-executable node 20ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > validateSlackMessage > should validate slack message parameters 22ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > validateSlackMessage > should throw error for missing parameters 20ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > validateSlackMessage > should handle missing slack node 26ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > complex workflow scenarios > should handle if node branching 21ms
✓ tests/unit/examples/using-n8n-nodes-base-mock.test.ts > WorkflowService with n8n-nodes-base mock > complex workflow scenarios > should handle merge node combining inputs 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should extract properties from programmatic node 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should extract properties from versioned node latest version 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should extract properties from instance with nodeVersions 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should normalize properties to consistent structure 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should handle nodes without properties 19ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should handle failed instantiation 23ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should extract from baseDescription when main description is missing 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should handle complex nested properties 25ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractProperties > should handle non-function node classes 27ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should extract operations from declarative node routing 26ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should extract operations when node has programmatic properties 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should extract operations when routing.operations structure exists 21ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should handle operations when programmatic nodes have resource-based structure 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should return empty array when node has no operations 21ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should extract operations when node has version structure 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractOperations > should handle extraction when property is named action instead of operation 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > detectAIToolCapability > should detect AI capability when usableAsTool property is true 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > detectAIToolCapability > should detect AI capability when actions contain usableAsTool 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > detectAIToolCapability > should detect AI capability when versioned node has usableAsTool 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > detectAIToolCapability > should detect AI capability when node name contains AI-related terms 24ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > detectAIToolCapability > should return false when node is not AI-related 21ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > detectAIToolCapability > should return false when node has no description 19ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractCredentials > should extract credentials when node description contains them 21ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractCredentials > should extract credentials when node has version structure 21ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractCredentials > should return empty array when node has no credentials 22ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractCredentials > should extract credentials when only baseDescription has them 20ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractCredentials > should extract credentials when they are defined at instance level 27ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > extractCredentials > should return empty array when instantiation fails 19ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > edge cases > should handle extraction when properties are deeply nested 21ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > edge cases > should not throw when node structure has circular references 19ms
✓ tests/unit/parsers/property-extractor.test.ts > PropertyExtractor > edge cases > should extract from all sources when multiple operation types exist 21ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > getN8nApiClient > should create new client when config is available 37ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > getN8nApiClient > should return null when config is not available 30ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > getN8nApiClient > should reuse existing client when config has not changed 28ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > getN8nApiClient > should create new client when config URL changes 28ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > should create workflow successfully 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > should handle validation errors 30ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > should handle workflow structure validation failures 30ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > should handle API errors 31ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > should handle API not configured error 33ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should detect and reject nodes-base.* SHORT form 32ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should detect and reject nodes-langchain.* SHORT form 33ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should detect multiple SHORT form nodes 34ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should allow FULL form n8n-nodes-base.* without error 30ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should allow FULL form @n8n/n8n-nodes-langchain.* without error 32ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should detect SHORT form in mixed FULL/SHORT workflow 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should handle nodes with null type gracefully 41ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should handle nodes with undefined type gracefully 47ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should handle empty nodes array gracefully 40ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should handle nodes array with undefined nodes gracefully 40ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleCreateWorkflow > SHORT form detection > should provide correct index in error message for multiple nodes 42ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleGetWorkflow > should get workflow successfully 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleGetWorkflow > should handle not found error 44ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleGetWorkflow > should handle invalid input 38ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleGetWorkflowDetails > should get workflow details with execution stats 40ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleGetWorkflowDetails > should handle workflow with webhook trigger 40ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleDeleteWorkflow > should delete workflow successfully 40ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleDeleteWorkflow > should handle invalid input 41ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleDeleteWorkflow > should handle N8nApiError 38ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleDeleteWorkflow > should handle generic errors 40ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleDeleteWorkflow > should handle API not configured error 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should list workflows with minimal data 37ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should handle invalid input with ZodError 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should handle N8nApiError 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should handle generic errors 37ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should handle workflows without isArchived field gracefully 34ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should convert tags array to comma-separated string 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleListWorkflows > should handle empty tags array 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleValidateWorkflow > should validate workflow from n8n instance 38ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleHealthCheck > should check health successfully 37ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleHealthCheck > should handle API errors 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleDiagnostic > should provide diagnostic information 46ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > Error handling > should handle authentication errors 35ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > Error handling > should handle rate limit errors 38ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > Error handling > should handle generic errors 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should trigger webhook successfully 35ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should extract execution ID from webhook error response 38ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should extract execution ID without workflow ID 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should handle execution ID as "id" field 44ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should provide generic guidance when no execution ID is available 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should use standard error message for authentication errors 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should use standard error message for validation errors 39ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should handle invalid input with Zod validation error 41ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should not include "contact support" in error messages 36ms
✓ tests/unit/mcp/handlers-n8n-manager.test.ts > handlers-n8n-manager > handleTriggerWebhookWorkflow > should always recommend preview mode in error messages 40ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadAllNodes > should load nodes from all configured packages 41ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadAllNodes > should handle missing packages gracefully 43ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadAllNodes > should handle packages with no n8n config 34ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - array format > should load nodes with default export 30ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - array format > should load nodes with named export matching node name 36ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - array format > should load nodes with object values export 35ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - array format > should extract node name from complex paths 35ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - array format > should handle nodes that fail to load 34ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - array format > should warn when no valid export is found 30ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - object format > should load nodes from object format 35ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - object format > should handle different export patterns in object format 43ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > loadPackageNodes - object format > should handle errors in object format 37ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle empty nodes array 33ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle empty nodes object 32ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle package.json without n8n property 32ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle malformed node paths 35ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle circular references in exports 35ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle very long file paths 36ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle special characters in node names 35ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > edge cases > should handle mixed array and object in nodes (invalid but defensive) 32ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > console output verification > should log correct messages for successful loads 33ms
✓ tests/unit/loaders/node-loader.test.ts > N8nNodeLoader > console output verification > should log package loading progress 35ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > In-Memory Database > should create and connect to in-memory database 24ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > In-Memory Database > should execute queries on in-memory database 24ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > In-Memory Database > should handle multiple connections to same in-memory database 23ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > File-Based Database > should create and connect to file database 30ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > File-Based Database > should enable WAL mode by default for file databases 28ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > File-Based Database > should allow disabling WAL mode 29ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > File-Based Database > should handle connection pooling simulation 37ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Connection Error Handling > should handle invalid file path gracefully 29ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Connection Error Handling > should handle database file corruption 55ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Connection Error Handling > should handle readonly database access 33ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Connection Lifecycle > should properly close database connections 31ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Connection Lifecycle > should handle multiple open/close cycles 29ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Connection Lifecycle > should handle connection timeout simulation 147ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Database Configuration > should apply optimal pragmas for performance 26ms
✓ tests/integration/database/connection-management.test.ts > Database Connection Management > Database Configuration > should have foreign key support enabled 27ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > saveNode with outputs > should save node with outputs and outputNames correctly 25ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > saveNode with outputs > should save node with only outputs (no outputNames) 22ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > saveNode with outputs > should save node with only outputNames (no outputs) 24ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > saveNode with outputs > should save node without outputs or outputNames 21ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > saveNode with outputs > should handle empty outputs and outputNames arrays 23ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should retrieve node with outputs and outputNames correctly 23ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should retrieve node with only outputs (null outputNames) 21ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should retrieve node with only outputNames (null outputs) 23ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should retrieve node without outputs or outputNames 22ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should handle malformed JSON gracefully 23ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should return null for non-existent node 21ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > getNode with outputs > should handle SplitInBatches counterintuitive output order correctly 24ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > parseNodeRow with outputs > should parse node row with outputs correctly using parseNodeRow 22ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > parseNodeRow with outputs > should handle empty string as null for outputs 23ms
✓ tests/unit/database/node-repository-outputs.test.ts > NodeRepository - Outputs Handling > complex output structures > should handle complex output objects with metadata 23ms
✓ tests/unit/database/database-adapter-unit.test.ts > Database Adapter - Unit Tests > DatabaseAdapter Interface > should define interface when adapter is created 23ms
✓ tests/unit/database/database-adapter-unit.test.ts > Database Adapter - Unit Tests > PreparedStatement Interface > should define interface when statement is prepared 22ms
✓ tests/unit/database/database-adapter-unit.test.ts > Database Adapter - Unit Tests > FTS5 Support Detection > should detect support when FTS5 module is available 23ms
✓ tests/unit/database/database-adapter-unit.test.ts > Database Adapter - Unit Tests > Transaction Handling > should handle commit and rollback when transaction is executed 22ms
✓ tests/unit/database/database-adapter-unit.test.ts > Database Adapter - Unit Tests > Pragma Handling > should return values when pragma commands are executed 22ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Creation and Limits > should allow creation of sessions up to MAX_SESSIONS limit 118ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Creation and Limits > should reject new sessions when MAX_SESSIONS limit is reached 33ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Creation and Limits > should validate canCreateSession method behavior 30ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Expiration and Cleanup > should clean up expired sessions 32ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Expiration and Cleanup > should start and stop session cleanup timer 72ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Expiration and Cleanup > should handle removeSession method correctly 31ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Expiration and Cleanup > should handle removeSession with transport close error gracefully 31ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Metadata Tracking > should track session metadata correctly 44ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Metadata Tracking > should get session metrics correctly 33ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session Metadata Tracking > should get active session count correctly 31ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Production Mode with Default Token > should throw error in production with default token 32ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Production Mode with Default Token > should allow default token in development 31ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Production Mode with Default Token > should allow default token when NODE_ENV is not set 36ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Token Validation > should warn about short tokens 34ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Token Validation > should validate minimum token length (32 characters) 36ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Token Validation > should throw error when AUTH_TOKEN is empty 34ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Token Validation > should throw error when AUTH_TOKEN is missing 33ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Token Validation > should load token from AUTH_TOKEN_FILE 32ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Security Info in Health Endpoint > should include security information in health endpoint 39ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Security Features > Security Info in Health Endpoint > should show default token warning in health endpoint 48ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Transport Management > should handle transport cleanup on close 51ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Transport Management > should handle multiple concurrent sessions 57ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Transport Management > should handle session-specific transport instances 59ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > DELETE /mcp Endpoint > should terminate session successfully 39ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > DELETE /mcp Endpoint > should return 400 when Mcp-Session-Id header is missing 36ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > DELETE /mcp Endpoint > should return 400 for invalid session ID format 39ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > DELETE /mcp Endpoint > should return 404 when session not found 34ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > DELETE /mcp Endpoint > should handle termination errors gracefully 33ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > Enhanced Health Endpoint > should include session statistics in health endpoint 34ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > New Endpoints > Enhanced Health Endpoint > should show correct session usage format 38ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session ID Validation > should validate UUID v4 format correctly 35ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session ID Validation > should reject requests with invalid session ID format 38ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Session ID Validation > should reject requests with non-existent session ID 33ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Shutdown and Cleanup > should clean up all resources on shutdown 31ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > Shutdown and Cleanup > should handle transport close errors during shutdown 34ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > getSessionInfo Method > should return correct session info structure 33ms
✓ tests/unit/http-server-session-management.test.ts > HTTP Server Session Management > getSessionInfo Method > should show legacy SSE session when present 34ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > saveTemplate > should save single template successfully 26ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > saveTemplate > should update existing template 23ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > saveTemplate > should handle templates with complex node types 25ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > saveTemplate > should sanitize workflow data before saving 23ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplate > should retrieve template by id 24ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplate > should return null for non-existent template 22ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplates with FTS5 > should search templates by name 26ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplates with FTS5 > should search templates by description 24ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplates with FTS5 > should handle multiple search terms 51ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplates with FTS5 > should limit search results 29ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplates with FTS5 > should handle special characters in search 22ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplates with FTS5 > should support pagination in search results 27ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplatesByNodeTypes > should find templates using specific node types 22ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplatesByNodeTypes > should find templates using multiple node types 25ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplatesByNodeTypes > should return empty array for non-existent node types 25ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplatesByNodeTypes > should limit results 23ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplatesByNodeTypes > should support pagination with offset 25ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getAllTemplates > should return empty array when no templates 26ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getAllTemplates > should return all templates with limit 47ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getAllTemplates > should support pagination with offset 28ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getAllTemplates > should support different sort orders 23ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getAllTemplates > should order templates by views and created_at descending 25ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > getTemplate with detail > should return template with workflow data 23ms
↓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > clearOldTemplates > should remove templates older than specified days
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > Transaction handling > should rollback on error during bulk save 25ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > FTS5 performance > should handle large dataset searches efficiently 105ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getNodeTemplatesCount > should return correct count for node type searches 28ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getNodeTemplatesCount > should return 0 for non-existent node types 23ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getSearchCount > should return correct count for search queries 27ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getTaskTemplatesCount > should return correct count for task-based searches 27ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getTemplateCount > should return total template count 24ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getTemplateCount > should return 0 for empty database 27ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > New pagination count methods > getTemplatesForTask with pagination > should support pagination for task-based searches 26ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplatesByMetadata - Two-Phase Optimization > should use two-phase query pattern for performance 26ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplatesByMetadata - Two-Phase Optimization > should preserve exact ordering from Phase 1 23ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplatesByMetadata - Two-Phase Optimization > should handle empty results efficiently 24ms
✓ tests/integration/database/template-repository.test.ts > TemplateRepository Integration Tests > searchTemplatesByMetadata - Two-Phase Optimization > should validate IDs defensively 25ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Availability > should have FTS5 extension available 24ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Availability > should support FTS5 for template searches 21ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > Template FTS5 Operations > should search templates by exact term 24ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > Template FTS5 Operations > should search with partial term and prefix 21ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > Template FTS5 Operations > should search across multiple columns 26ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > Template FTS5 Operations > should handle phrase searches 25ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > Template FTS5 Operations > should support NOT queries 22ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Ranking and Scoring > should rank results by relevance using bm25 31ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Ranking and Scoring > should use custom weights for columns 23ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Advanced Features > should support snippet extraction 24ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Advanced Features > should support highlight function 22ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Triggers and Synchronization > should automatically sync FTS on insert 24ms
↓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Triggers and Synchronization > should automatically sync FTS on update
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Triggers and Synchronization > should automatically sync FTS on delete 22ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Performance > should handle large dataset searches efficiently 30ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Performance > should optimize rebuilding FTS index 24ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Error Handling > should handle malformed queries gracefully 22ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Error Handling > should handle special characters in search terms 23ms
✓ tests/integration/database/fts5-search.test.ts > FTS5 Full-Text Search > FTS5 Error Handling > should handle empty search terms 22ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Basic Transactions > should commit transaction successfully 22ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Basic Transactions > should rollback transaction on error 24ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Basic Transactions > should handle transaction helper function 25ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Nested Transactions (Savepoints) > should handle nested transactions with savepoints 22ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Nested Transactions (Savepoints) > should release savepoints properly 23ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction Isolation > should handle IMMEDIATE transactions 140ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction Isolation > should handle EXCLUSIVE transactions 137ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction with Better-SQLite3 API > should use transaction() method for automatic handling 30ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction with Better-SQLite3 API > should rollback transaction() on error 27ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction with Better-SQLite3 API > should handle immediate transactions with transaction() 24ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction with Better-SQLite3 API > should handle exclusive transactions with transaction() 22ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction Performance > should show performance benefit of transactions for bulk inserts 26ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction Error Scenarios > should handle constraint violations in transactions 22ms
✓ tests/integration/database/transactions.test.ts > Database Transactions > Transaction Error Scenarios > should handle deadlock scenarios 139ms
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > MCP Mode handling > should default to stdio mode when MCP_MODE is not set
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > MCP Mode handling > should respect MCP_MODE=http environment variable
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > n8n-mcp serve command > should transform "n8n-mcp serve" to HTTP mode
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > n8n-mcp serve command > should preserve arguments after "n8n-mcp serve"
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Database path configuration > should use default database path when NODE_DB_PATH is not set
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Database path configuration > should respect NODE_DB_PATH environment variable
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Database path configuration > should validate NODE_DB_PATH format
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Permission handling > should fix permissions when running as root
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Permission handling > should switch to nodejs user when running as root
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Permission handling > should demonstrate docker exec runs as root while main process runs as nodejs
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Auth token validation > should require AUTH_TOKEN in HTTP mode
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Auth token validation > should accept AUTH_TOKEN_FILE
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Auth token validation > should validate AUTH_TOKEN_FILE exists
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Signal handling and process management > should use exec to ensure proper signal propagation
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Logging behavior > should suppress logs in stdio mode
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Logging behavior > should show logs in HTTP mode
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Config file integration > should load config before validation checks
↓ tests/integration/docker/docker-entrypoint.test.ts > Docker Entrypoint Script > Database initialization with file locking > should prevent race conditions during database initialization
× tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Response Time Benchmarks > should respond to simple queries quickly 3593ms
→ expected 10.319083329999994 to be less than 10
→ expected 11.152821670000048 to be less than 10
→ expected 10.546642500000017 to be less than 10
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Response Time Benchmarks > should handle list operations efficiently 168ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Response Time Benchmarks > should perform searches efficiently 241ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Response Time Benchmarks > should retrieve node info quickly 129ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Concurrent Request Performance > should handle concurrent requests efficiently 175ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Concurrent Request Performance > should handle mixed concurrent operations 268ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Large Data Performance > should handle large node lists efficiently 139ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Large Data Performance > should handle large workflow validation efficiently 172ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Memory Efficiency > should handle repeated operations without memory leaks 10435ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Memory Efficiency > should release memory after large operations 212ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Scalability Tests > should maintain performance with increasing load 190ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Scalability Tests > should handle burst traffic 408ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Critical Path Optimization > should optimize tool listing performance 372ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Critical Path Optimization > should optimize search performance 196ms
✓ tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Critical Path Optimization > should cache effectively for repeated queries 117ms
× tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Stress Tests > should handle sustained high load 15370ms
→ expected 98.23265575928114 to be greater than 100
→ expected 95.82978873918175 to be greater than 100
→ expected 96.67608784131137 to be greater than 100
× tests/integration/mcp-protocol/performance.test.ts > MCP Performance Tests > Stress Tests > should recover from performance degradation 2051ms
→ expected 10.093091499997536 to be less than 10
→ expected 14.27884989999875 to be less than 10
→ expected 10.580879200002528 to be less than 10
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should update template metadata successfully 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should batch update metadata for multiple templates 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should search templates by category 44ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should search templates by complexity 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should search templates by setup time 44ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should search templates by required service 43ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should search templates by target audience 44ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should handle combined filters correctly 42ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should return correct counts for metadata searches 44ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get unique categories 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get unique target audiences 43ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get templates by category 44ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get templates by complexity 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get templates without metadata 42ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get outdated metadata templates 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Repository Metadata Operations > should get metadata statistics 43ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Service Layer Integration > should search templates with metadata through service 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Service Layer Integration > should handle pagination correctly in metadata search 44ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Service Layer Integration > should return templates with metadata information 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Security and Error Handling > should handle malicious input safely in metadata search 43ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Security and Error Handling > should handle invalid metadata gracefully 43ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Security and Error Handling > should handle empty search results gracefully 45ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Security and Error Handling > should handle edge case parameters 43ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Performance and Scalability > should handle large result sets efficiently 41ms
✓ tests/integration/templates/metadata-operations.test.ts > Template Metadata Operations - Integration Tests > Performance and Scalability > should handle concurrent metadata updates 47ms
✓ tests/unit/services/debug-validator.test.ts > Debug Validator Tests > should handle nodes at extreme positions - debug 22ms
✓ tests/unit/services/debug-validator.test.ts > Debug Validator Tests > should handle special characters in node names - debug 23ms
✓ tests/unit/services/debug-validator.test.ts > Debug Validator Tests > should handle non-array nodes - debug 20ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Schema Validation > should create template_node_configs table 31ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Schema Validation > should have all required columns 29ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Schema Validation > should have correct column types and constraints 32ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Schema Validation > should have complexity CHECK constraint 29ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Schema Validation > should accept valid complexity values 30ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Indexes > should create idx_config_node_type_rank index 29ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Indexes > should create idx_config_complexity index 27ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Indexes > should create idx_config_auth index 29ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > View: ranked_node_configs > should create ranked_node_configs view 27ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > View: ranked_node_configs > should return only top 5 ranked configs per node type 41ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > View: ranked_node_configs > should order by node_type and rank 27ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Foreign Key Constraints > should allow inserting config with valid template_id 30ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Foreign Key Constraints > should cascade delete configs when template is deleted 30ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Data Operations > should insert and retrieve config with all fields 26ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Data Operations > should handle nullable fields correctly 28ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Data Operations > should update rank values 26ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Data Operations > should delete configs with rank > 10 29ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Query Performance > should query by node_type and rank efficiently 33ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Query Performance > should filter by complexity efficiently 33ms
✓ tests/integration/database/template-node-configs.test.ts > Template Node Configs Database Integration > Migration Idempotency > should be safe to run migration multiple times 28ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should pass validation when all required parameters are provided 23ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should throw error when required parameter is missing 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should throw error when multiple required parameters are missing 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should throw error when required parameter is undefined 22ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should throw error when required parameter is null 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should pass when required parameter is empty string 21ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should pass when required parameter is zero 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Basic Parameter Validation > should pass when required parameter is false 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Edge Cases > should handle empty args object 23ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Edge Cases > should handle null args 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Edge Cases > should handle undefined args 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Edge Cases > should pass when no required parameters are specified 22ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > validateToolParams > Edge Cases > should handle special characters in parameter names 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > get_node_info > should require nodeType parameter 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > get_node_info > should succeed with valid nodeType 23ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_nodes > should require query parameter 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_nodes > should succeed with valid query 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_nodes > should handle optional limit parameter 23ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_nodes > should reject invalid limit value 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > validate_node_operation > should require nodeType and config parameters 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > validate_node_operation > should require nodeType parameter when config is provided 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > validate_node_operation > should require config parameter when nodeType is provided 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > validate_node_operation > should succeed with valid parameters 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_node_properties > should require nodeType and query parameters 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_node_properties > should succeed with valid parameters 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > search_node_properties > should handle optional maxResults parameter 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > list_node_templates > should require nodeTypes parameter 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > list_node_templates > should succeed with valid nodeTypes array 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > get_template > should require templateId parameter 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tool-Specific Parameter Validation > get_template > should succeed with valid templateId 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > limit parameter conversion > should reject string limit values 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > limit parameter conversion > should reject invalid string limit values 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > limit parameter conversion > should use default when limit is undefined 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > limit parameter conversion > should reject zero as limit due to minimum constraint 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > maxResults parameter conversion > should convert string numbers to numbers 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > maxResults parameter conversion > should use default when maxResults is invalid 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > templateLimit parameter conversion > should reject string limit values 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > templateLimit parameter conversion > should reject invalid string limit values 24ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > templateId parameter handling > should pass through numeric templateId 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Numeric Parameter Conversion > templateId parameter handling > should convert string templateId to number 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tools with No Required Parameters > should allow tools_documentation with no parameters 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tools with No Required Parameters > should allow list_nodes with no parameters 25ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tools with No Required Parameters > should allow list_ai_tools with no parameters 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tools with No Required Parameters > should allow get_database_statistics with no parameters 28ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Tools with No Required Parameters > should allow list_tasks with no parameters 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Error Message Quality > should provide clear error messages with tool name 28ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Error Message Quality > should list all missing parameters 27ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > Error Message Quality > should include helpful guidance 28ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > MCP Error Response Handling > should convert validation errors to MCP error responses rather than throwing exceptions 26ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > MCP Error Response Handling > should handle edge cases in parameter validation gracefully 28ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > MCP Error Response Handling > should provide consistent error format across all tools 28ms
✓ tests/unit/mcp/parameter-validation.test.ts > Parameter Validation > MCP Error Response Handling > should validate n8n management tools parameters 27ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Advanced Input Sanitization > should handle SQL injection attempts in context fields 52ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Advanced Input Sanitization > should handle XSS attempts in context fields 54ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Advanced Input Sanitization > should handle extremely long input values 52ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Advanced Input Sanitization > should handle Unicode and special characters safely 55ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Advanced Input Sanitization > should handle null bytes and control characters 52ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Prototype Pollution Protection > should not be vulnerable to prototype pollution via __proto__ 53ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Prototype Pollution Protection > should not be vulnerable to prototype pollution via constructor 54ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Prototype Pollution Protection > should handle Object.create(null) safely 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Memory Exhaustion Protection > should handle deeply nested objects without stack overflow 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Memory Exhaustion Protection > should handle circular references in metadata 54ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Memory Exhaustion Protection > should handle massive arrays in metadata 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Cache Security and Isolation > should prevent cache key collisions through hash security 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Cache Security and Isolation > should not expose sensitive data in cache key logs 53ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Cache Security and Isolation > should handle hash collisions securely 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Error Message Security > should not expose sensitive data in validation error messages 55ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Error Message Security > should sanitize error details in API responses 52ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Resource Exhaustion Protection > should handle memory pressure gracefully 56ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Resource Exhaustion Protection > should handle high frequency validation requests 81ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Cryptographic Security > should use cryptographically secure hash function 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Cryptographic Security > should handle edge cases in hash input 54ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Injection Attack Prevention > should prevent command injection through context fields 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Injection Attack Prevention > should prevent path traversal attempts 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > Injection Attack Prevention > should prevent LDAP injection attempts 53ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > State Management Security > should maintain isolation between contexts 51ms
✓ tests/unit/flexible-instance-security-advanced.test.ts > Advanced Security and Error Handling Tests > State Management Security > should handle concurrent access securely 76ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Cache Key Generation > should generate deterministic SHA-256 hashes 57ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Cache Key Generation > should handle empty instanceId in cache key generation 55ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Cache Key Generation > should handle undefined values in cache key generation 56ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > URL Sanitization > should sanitize URLs for logging 55ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > URL Sanitization > should handle various URL formats in sanitization 58ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Cache Key Partial Logging > should create partial cache key for logging 55ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Cache Key Partial Logging > should handle various hash lengths for partial logging 58ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Error Message Handling > should handle different error types correctly 55ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Error Message Handling > should handle error objects without message property 57ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Configuration Fallbacks > should handle null config scenarios 55ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Configuration Fallbacks > should handle undefined config values 57ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Array and Object Handling > should handle undefined array lengths 54ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Array and Object Handling > should handle empty arrays 60ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Array and Object Handling > should handle arrays with elements 57ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Conditional Logic Coverage > should handle truthy cursor values 59ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > Conditional Logic Coverage > should handle falsy cursor values 55ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > String Manipulation > should handle environment variable filtering 60ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > String Manipulation > should handle version string extraction 57ms
✓ tests/unit/mcp/handlers-n8n-manager-simple.test.ts > handlers-n8n-manager Simple Coverage Tests > String Manipulation > should handle missing dependencies 58ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > includeExamples parameter > should not include examples when includeExamples is false 30ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > includeExamples parameter > should not include examples when includeExamples is undefined 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > includeExamples parameter > should include examples when includeExamples is true 31ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > includeExamples parameter > should limit examples to top 3 per node 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > example data structure with metadata > should return examples with full metadata structure 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > example data structure with metadata > should include complexity in source metadata 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > example data structure with metadata > should limit use cases to 2 items 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > example data structure with metadata > should handle empty use_cases gracefully 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > caching behavior with includeExamples > should use different cache keys for with/without examples 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > caching behavior with includeExamples > should cache results separately for different includeExamples values 31ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > backward compatibility > should maintain backward compatibility when includeExamples not specified 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > backward compatibility > should return same core data regardless of includeExamples value 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > error handling > should continue to work even if example fetch fails 31ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > error handling > should handle malformed JSON in template configs gracefully 31ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > performance > should complete in reasonable time with examples 32ms
✓ tests/unit/mcp/get-node-essentials-examples.test.ts > get_node_essentials with includeExamples > performance > should not add significant overhead when includeExamples is false 32ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Protocol Version Endpoint (GET /mcp) > should return standard response when N8N_MODE is not set 45ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Protocol Version Endpoint (GET /mcp) > should return protocol version when N8N_MODE=true 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Session ID Header (POST /mcp) > should handle POST request when N8N_MODE is not set 45ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Session ID Header (POST /mcp) > should handle POST request when N8N_MODE=true 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Error Response Format > should use JSON-RPC error format for auth errors 44ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Error Response Format > should handle invalid auth token 46ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Error Response Format > should handle invalid auth header format 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Normal Mode Behavior > should maintain standard behavior for health endpoint 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Normal Mode Behavior > should maintain standard behavior for root endpoint 44ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Edge Cases > should handle N8N_MODE with various values 45ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Edge Cases > should handle OPTIONS requests for CORS 44ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Edge Cases > should validate session info methods 47ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > 404 Handler > should handle 404 errors correctly 42ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > 404 Handler > should handle GET requests to non-existent paths 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Security Features > should handle malformed authorization headers 111ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Security Features > should verify server configuration methods exist 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Security Features > should handle valid auth tokens properly 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Security Features > should handle DELETE endpoint without session ID 43ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Security Features > should provide proper error details for debugging 44ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Express Middleware Configuration > should configure all necessary middleware 44ms
✓ tests/unit/http-server-n8n-mode.test.ts > HTTP Server n8n Mode > Express Middleware Configuration > should handle CORS preflight for different methods 100ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should initialize similarity services when initializeSimilarityServices is called 45ms
stderr | tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should handle similarity service errors gracefully
Resource similarity service error: Error: Service error
at Object.<anonymous> (/Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/tests/unit/services/enhanced-config-validator-integration.test.ts:193:15)
at Object.mockCall (file:///Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/node_modules/@vitest/spy/dist/index.js:96:15)
at Object.spy [as findSimilarResources] (file:///Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/node_modules/tinyspy/dist/index.js:47:80)
at Function.validateResourceAndOperation (/Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/src/services/enhanced-config-validator.ts:732:56)
at Function.addOperationSpecificEnhancements (/Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/src/services/enhanced-config-validator.ts:260:10)
at Function.validateWithMode (/Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/src/services/enhanced-config-validator.ts:110:10)
at /Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/tests/unit/services/enhanced-config-validator-integration.test.ts:196:46
at file:///Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
at file:///Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
at file:///Users/romualdczlonkowski/Pliki/n8n-mcp/n8n-mcp/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should use resource similarity service for invalid resource errors 45ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should use operation similarity service for invalid operation errors 45ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should handle similarity service errors gracefully 50ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should not call similarity services for valid configurations 47ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > similarity service integration > should limit suggestion count when calling similarity services 45ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > error enhancement with suggestions > should enhance resource validation errors with suggestions 44ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > error enhancement with suggestions > should enhance operation validation errors with suggestions 45ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > error enhancement with suggestions > should not enhance errors when no good suggestions are available 55ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > error enhancement with suggestions > should provide multiple operation suggestions when resource is known 49ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > confidence thresholds and filtering > should only use high confidence resource suggestions 47ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > confidence thresholds and filtering > should only use high confidence operation suggestions 44ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > integration with existing validation logic > should work with minimal validation mode 45ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > integration with existing validation logic > should work with strict validation profile 44ms
✓ tests/unit/services/enhanced-config-validator-integration.test.ts > EnhancedConfigValidator - Integration Tests > integration with existing validation logic > should preserve original error properties when enhancing 44ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Node Repository Performance > should handle bulk inserts efficiently 175ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Node Repository Performance > should search nodes quickly with indexes 284ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Node Repository Performance > should handle concurrent reads efficiently 59ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Template Repository Performance with FTS5 > should perform FTS5 searches efficiently 1061ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Template Repository Performance with FTS5 > should handle complex node type searches efficiently 548ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Database Optimization > should benefit from proper indexing 319ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Database Optimization > should handle VACUUM operation efficiently 62ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Database Optimization > should maintain performance with WAL mode 66ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Memory Usage > should handle large result sets without excessive memory 315ms
✓ tests/integration/database/performance.test.ts > Database Performance Tests > Concurrent Write Performance > should handle concurrent writes with transactions 57ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > list_nodes > should list nodes with default parameters 152ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > list_nodes > should filter nodes by category 116ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > list_nodes > should limit results 102ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > list_nodes > should filter by package 131ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > search_nodes > should search nodes by keyword 107ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > search_nodes > should support different search modes 113ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > search_nodes > should respect result limit 101ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > get_node_info > should get complete node information 109ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > get_node_info > should handle non-existent nodes 113ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > get_node_info > should handle invalid node type format 109ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Node Discovery Tools > get_node_essentials > should return condensed node information 130ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Validation Tools > validate_node_operation > should validate valid node configuration 108ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Validation Tools > validate_node_operation > should detect missing required fields 109ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Validation Tools > validate_node_operation > should support different validation profiles 116ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Validation Tools > validate_workflow > should validate complete workflow 111ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Validation Tools > validate_workflow > should detect connection errors 113ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Validation Tools > validate_workflow > should validate expressions 110ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Documentation Tools > tools_documentation > should get quick start guide 124ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Documentation Tools > tools_documentation > should get specific tool documentation 103ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Documentation Tools > tools_documentation > should get comprehensive documentation 113ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Documentation Tools > tools_documentation > should handle invalid topics gracefully 151ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > AI Tools > list_ai_tools > should list AI-capable nodes 112ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > AI Tools > get_node_as_tool_info > should provide AI tool usage information 108ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Task Templates > list_tasks > should list all available tasks 112ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Task Templates > list_tasks > should filter by category 103ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Complex Tool Interactions > should handle tool chaining 111ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Complex Tool Interactions > should handle parallel tool calls 138ms
✓ tests/integration/mcp-protocol/tool-invocation.test.ts > MCP Tool Invocation > Complex Tool Interactions > should maintain consistency across related tools 111ms
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Valid Workflow > should validate valid workflow with default profile (runtime) 104ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Valid Workflow > should validate with strict profile 99ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Valid Workflow > should validate with ai-friendly profile 100ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Valid Workflow > should validate with minimal profile 104ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Invalid Workflow Detection > should detect invalid node type 104ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Invalid Workflow Detection > should detect missing required connections 113ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Selective Validation > should validate nodes only (skip connections) 100ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Selective Validation > should validate connections only (skip nodes) 100ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Selective Validation > should validate expressions only 103ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
✓ tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Error Handling > should handle non-existent workflow ID 35ms
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Error Handling > should handle invalid profile parameter 101ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/validate-workflow.test.ts > Integration: handleValidateWorkflow > Response Format > should return complete validation response structure 100ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskTemplate > should return template for get_api_data task 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskTemplate > should return template for webhook tasks 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskTemplate > should return template for database tasks 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskTemplate > should return undefined for unknown task 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskTemplate > should have getTemplate alias working 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > template structure > should have all required fields in templates 49ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > template structure > should have proper user must provide structure 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > template structure > should have optional enhancements where applicable 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > template structure > should have notes for complex templates 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > special templates > should have process_webhook_data template with detailed code 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > special templates > should have AI agent workflow template 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > special templates > should have error handling pattern templates 47ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > special templates > should have AI tool templates 43ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getAllTasks > should return all task names 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTasksForNode > should return tasks for HTTP Request node 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTasksForNode > should return tasks for Code node 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTasksForNode > should return tasks for Webhook node 46ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTasksForNode > should return empty array for unknown node 47ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > searchTasks > should find tasks by name 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > searchTasks > should find tasks by description 46ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > searchTasks > should find tasks by node type 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > searchTasks > should be case insensitive 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > searchTasks > should return empty array for no matches 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskCategories > should return all task categories 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskCategories > should have tasks assigned to categories 50ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > getTaskCategories > should have tasks in multiple categories where appropriate 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > error handling templates > should have proper retry configuration 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > error handling templates > should have database transaction safety template 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > error handling templates > should have AI rate limit handling 45ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > code node templates > should have aggregate data template 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > code node templates > should have batch processing template 47ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > code node templates > should have error safe transform template 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > code node templates > should have async processing template 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > code node templates > should have Python data analysis template 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > template configurations > should have proper error handling defaults 44ms
✓ tests/unit/services/task-templates.test.ts > TaskTemplates > template configurations > should have appropriate retry configurations 44ms
× tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Full Workflow Replacement > should replace entire workflow with new nodes and connections 104ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Update Nodes > should update workflow nodes while preserving other properties 100ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Update Settings > should update workflow settings without affecting nodes 99ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Validation Errors > should return error for invalid node types 103ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
✓ tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Validation Errors > should return error for non-existent workflow ID 34ms
× tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Update Name > should update workflow name without affecting structure 98ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
× tests/integration/n8n-api/workflows/update-workflow.test.ts > Integration: handleUpdateWorkflow > Multiple Properties > should update name and settings together 100ms
→ No response from n8n server
→ No response from n8n server
→ No response from n8n server
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Null and Undefined Handling > should handle null expression gracefully 44ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Null and Undefined Handling > should handle undefined expression gracefully 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Null and Undefined Handling > should handle null context gracefully 46ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Null and Undefined Handling > should handle undefined context gracefully 44ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Boundary Value Testing > should handle empty string expression 44ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Boundary Value Testing > should handle extremely long expressions 48ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Boundary Value Testing > should handle deeply nested property access 44ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Boundary Value Testing > should handle many different variables in one expression 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Invalid Syntax Handling > should detect unclosed expressions 50ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Invalid Syntax Handling > should detect nested expressions 47ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Invalid Syntax Handling > should detect empty expressions 52ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Invalid Syntax Handling > should handle malformed node references 58ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Special Characters and Unicode > should handle special characters in node names 48ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Special Characters and Unicode > should handle Unicode in property names 44ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Context Validation > should warn about $input when no input data available 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Context Validation > should handle references to non-existent nodes 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Context Validation > should validate $items function references 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Complex Expression Patterns > should handle JavaScript operations in expressions 44ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Complex Expression Patterns > should handle array access patterns 47ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > validateNodeExpressions > should validate all expressions in node parameters 47ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > validateNodeExpressions > should handle null/undefined in parameters 48ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > validateNodeExpressions > should handle circular references in parameters 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > validateNodeExpressions > should aggregate errors from multiple expressions 47ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Performance Edge Cases > should handle recursive parameter structures efficiently 45ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Performance Edge Cases > should handle large arrays of expressions 56ms
✓ tests/unit/services/expression-validator-edge-cases.test.ts > ExpressionValidator - Edge Cases > Error Message Quality > should provide helpful error messages 43ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > GET Method > should trigger GET webhook without data 196ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > GET Method > should trigger GET webhook with query parameters 108ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > GET Method > should trigger GET webhook with custom headers 102ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > GET Method > should trigger GET webhook and wait for response 107ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > POST Method > should trigger POST webhook with JSON data 103ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > POST Method > should trigger POST webhook without data 101ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > POST Method > should trigger POST webhook with custom headers 101ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > POST Method > should trigger POST webhook without waiting for response 99ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > PUT Method > should trigger PUT webhook with update data 111ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > PUT Method > should trigger PUT webhook with custom headers 103ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > PUT Method > should trigger PUT webhook without data 105ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > DELETE Method > should trigger DELETE webhook with query parameters 104ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > DELETE Method > should trigger DELETE webhook with custom headers 103ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > DELETE Method > should trigger DELETE webhook without parameters 101ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > Error Handling > should handle invalid webhook URL 38ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > Error Handling > should handle malformed webhook URL 32ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > Error Handling > should handle missing webhook URL 32ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > Error Handling > should handle invalid HTTP method 29ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > Default Method Behavior > should default to POST method when not specified 104ms
✓ tests/integration/n8n-api/executions/trigger-webhook.test.ts > Integration: handleTriggerWebhookWorkflow > Response Format > should return complete webhook response structure 103ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should analyze simple property dependencies 46ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should handle hide conditions 45ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should handle multiple dependencies 45ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should build dependency graph 46ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should identify properties that enable others 46ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should add notes for collection types 48ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should generate helpful descriptions 44ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > analyze > should handle empty properties 46ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > suggestions > should suggest key properties to configure first 44ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > suggestions > should detect circular dependencies 45ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > suggestions > should note complex dependencies 44ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should determine visible properties for POST method 50ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should determine hidden properties for GET method 45ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should provide reasons for visibility 46ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should handle partial dependencies 44ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should handle properties without display options 43ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should handle empty configuration 45ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > getVisibilityImpact > should handle array values in conditions 45ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > edge cases > should handle properties with both show and hide conditions 48ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > edge cases > should handle non-array values in display conditions 44ms
✓ tests/unit/services/property-dependencies.test.ts > PropertyDependencies > edge cases > should handle deeply nested property references 45ms
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P0: Node Type Format Bug Fix > should create workflow with webhook node using FULL node type format 109ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P1: Base n8n Nodes > should create workflow with HTTP Request node 101ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P1: Base n8n Nodes > should create workflow with langchain agent node 105ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P1: Base n8n Nodes > should create complex multi-node workflow 105ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P2: Advanced Workflow Features > should create workflow with complex connections and branching 115ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P2: Advanced Workflow Features > should create workflow with custom settings 103ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P2: Advanced Workflow Features > should create workflow with n8n expressions 101ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
× tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > P2: Advanced Workflow Features > should create workflow with error handling configuration 101ms
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
→ expected false to be true // Object.is equality
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Error Scenarios > should reject workflow with invalid node type (MCP validation) 34ms
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Error Scenarios > should reject workflow with missing required node parameters (MCP validation) 34ms
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Error Scenarios > should reject workflow with duplicate node names (MCP validation) 29ms
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Error Scenarios > should reject workflow with invalid connection references (MCP validation) 33ms
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Edge Cases > should reject single-node non-webhook workflow (MCP validation) 32ms
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Edge Cases > should reject single-node non-trigger workflow (MCP validation) 32ms
✓ tests/integration/n8n-api/workflows/create-workflow.test.ts > Integration: handleCreateWorkflow > Edge Cases > should reject single-node workflow without settings (MCP validation) 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > saveNode > should save single node successfully 31ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > saveNode > should update existing nodes 34ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > saveNode > should handle nodes with complex properties 34ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > saveNode > should handle very large nodes 34ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNode > should retrieve node by type 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNode > should return null for non-existent node 30ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNode > should handle special characters in node types 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getAllNodes > should return empty array when no nodes 42ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getAllNodes > should return all nodes with limit 47ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getAllNodes > should return all nodes without limit 35ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getAllNodes > should handle very large result sets efficiently 61ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNodesByPackage > should filter nodes by package 34ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNodesByPackage > should return empty array for non-existent package 31ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNodesByCategory > should filter nodes by category 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should search by node type 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should search by display name 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should search by description 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should handle OR mode (default) 31ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should handle AND mode 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should handle FUZZY mode 34ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should handle case-insensitive search 34ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should return empty array for no matches 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodes > should respect limit parameter 30ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getAITools > should return only AI tool nodes 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > getNodeCount > should return correct node count 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodeProperties > should find properties by name 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodeProperties > should find nested properties 32ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > searchNodeProperties > should return empty array for non-existent node 30ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > Transaction handling > should handle errors gracefully 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > Transaction handling > should handle concurrent saves 33ms
✓ tests/integration/database/node-repository.test.ts > NodeRepository Integration Tests > Performance characteristics > should handle bulk operations efficiently 52ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > JSON-RPC Error Codes > should handle invalid request (parse error) 120ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > JSON-RPC Error Codes > should handle method not found 112ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > JSON-RPC Error Codes > should handle invalid params 108ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > JSON-RPC Error Codes > should handle internal errors gracefully 153ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Node Discovery Errors > should handle invalid category filter 107ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Node Discovery Errors > should handle invalid search mode 108ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Node Discovery Errors > should handle empty search query 119ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Node Discovery Errors > should handle non-existent node types 110ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Validation Errors > should handle invalid validation profile 109ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Validation Errors > should handle malformed workflow structure 111ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Validation Errors > should handle circular workflow references 109ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Documentation Errors > should handle non-existent documentation topics 110ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Tool-Specific Errors > Documentation Errors > should handle invalid depth parameter 117ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Large Payload Handling > should handle large node info requests 121ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Large Payload Handling > should handle large workflow validation 120ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Large Payload Handling > should handle many concurrent requests 124ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Invalid JSON Handling > should handle invalid JSON in tool parameters 116ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Invalid JSON Handling > should handle malformed workflow JSON 156ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Timeout Scenarios > should handle rapid sequential requests 358ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Timeout Scenarios > should handle long-running operations 111ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Memory Pressure > should handle multiple large responses 111ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Memory Pressure > should handle workflow with many nodes 110ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Error Recovery > should continue working after errors 110ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Error Recovery > should handle mixed success and failure 121ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Edge Cases > should handle empty responses gracefully 106ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Edge Cases > should handle special characters in parameters 107ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Edge Cases > should handle unicode in parameters 108ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Edge Cases > should handle null and undefined gracefully 133ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Error Message Quality > should provide helpful error messages 111ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Error Message Quality > should indicate missing required parameters 107ms
✓ tests/integration/mcp-protocol/error-handling.test.ts > MCP Error Handling > Error Message Quality > should provide context for validation errors 112ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > validate_workflow tool - Error Output Configuration > should detect incorrect error output configuration via MCP 123ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > validate_workflow tool - Error Output Configuration > should validate correct error output configuration via MCP 117ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > validate_workflow tool - Error Output Configuration > should detect onError and connection mismatches via MCP 113ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > validate_workflow tool - Error Output Configuration > should handle large workflows with complex error patterns via MCP 135ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > validate_workflow tool - Error Output Configuration > should handle edge cases gracefully via MCP 109ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > validate_workflow tool - Error Output Configuration > should validate with different validation profiles via MCP 109ms
✓ tests/integration/mcp-protocol/workflow-error-validation.test.ts > MCP Workflow Error Output Validation Integration > Error Message Format Consistency > should format error messages consistently across different scenarios 111ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > getNodeTypes > should return node types registry 32ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > getNodeTypes > should retrieve webhook node 30ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > getNodeTypes > should retrieve httpRequest node 33ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > getNodeTypes > should retrieve slack node 33ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > node execution > should execute webhook node 32ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > node execution > should execute httpRequest node 33ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > mockNodeBehavior > should override node execution behavior 30ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > mockNodeBehavior > should override node description 32ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > registerMockNode > should register custom node 32ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > conditional nodes > should execute if node with two outputs 32ms
✓ tests/unit/__mocks__/n8n-nodes-base.test.ts > n8n-nodes-base mock > conditional nodes > should execute switch node with multiple outputs 32ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Invalid Operations > should detect invalid operation "listFiles" for Google Drive 36ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Invalid Operations > should provide suggestions for typos in operations 31ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Invalid Operations > should list valid operations for the resource 33ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Invalid Resources > should detect plural resource "files" and suggest singular 34ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Invalid Resources > should suggest similar resources for typos 33ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Invalid Resources > should list valid resources when no match found 33ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Combined Resource and Operation Validation > should validate both resource and operation together 31ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Slack Node Validation > should suggest "send" instead of "sendMessage" 34ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Slack Node Validation > should suggest singular "channel" instead of "channels" 34ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Valid Configurations > should accept valid Google Drive configuration 36ms
✓ tests/unit/services/enhanced-config-validator-operations.test.ts > EnhancedConfigValidator - Operation and Resource Validation > Valid Configurations > should accept valid Slack configuration 37ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Querying Examples Directly > should fetch top 2 examples for webhook node 32ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Querying Examples Directly > should fetch top 3 examples with metadata for HTTP request node 38ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Example Data Structure Validation > should have valid JSON in parameters_json 37ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Example Data Structure Validation > should have valid JSON in use_cases 36ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Example Data Structure Validation > should have credentials_json when has_credentials is 1 35ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Ranked View Functionality > should return only top 5 ranked configs per node type from view 32ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Performance with Real-World Data Volume > should query specific node type examples quickly 42ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Performance with Real-World Data Volume > should filter by complexity efficiently 48ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Edge Cases > should handle node types with no configs 39ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Edge Cases > should handle very long parameters_json 63ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Edge Cases > should handle special characters in parameters 42ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Data Integrity > should maintain referential integrity with templates table 41ms
✓ tests/integration/mcp/template-examples-e2e.test.ts > Template Examples E2E Integration > Data Integrity > should cascade delete configs when template is deleted 42ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Tool Structure Validation > should have all required properties for each tool 35ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Tool Structure Validation > should have unique tool names 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Tool Structure Validation > should have valid JSON Schema for all inputSchemas 39ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > tools_documentation > should exist 39ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > tools_documentation > should have correct schema 34ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > tools_documentation > should have helpful description 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > list_nodes > should exist 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > list_nodes > should have correct schema properties 30ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > list_nodes > should have correct defaults 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > list_nodes > should have proper enum values 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > get_node_info > should exist 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > get_node_info > should have nodeType as required parameter 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > get_node_info > should mention performance implications in description 31ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > search_nodes > should exist 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > search_nodes > should have query as required parameter 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > search_nodes > should have mode enum with correct values 38ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > search_nodes > should have limit with default value 38ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > validate_workflow > should exist 31ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > validate_workflow > should have workflow as required parameter 34ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > validate_workflow > should have options with correct validation settings 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > validate_workflow > should have correct profile enum values 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > get_templates_for_task > should exist 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > get_templates_for_task > should have task as required parameter 31ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Individual Tool Validation > get_templates_for_task > should have correct task enum values 35ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Tool Description Quality > should have concise descriptions that fit in one line 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Tool Description Quality > should include examples or key information in descriptions 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Schema Consistency > should use consistent parameter naming 31ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Schema Consistency > should have consistent limit parameter defaults 30ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Tool Categories Coverage > should have tools for all major categories 34ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Parameter Validation > should have proper type definitions for all parameters 34ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Parameter Validation > should mark required parameters correctly 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Edge Cases > should handle tools with no parameters 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > Edge Cases > should have array parameters defined correctly 36ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > list_templates > should exist and be properly defined 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > list_templates > should have correct parameters 36ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > list_templates > should have no required parameters 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > get_template (enhanced) > should exist and support mode parameter 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > get_template (enhanced) > should have mode parameter with correct values 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > get_template (enhanced) > should require templateId parameter 29ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should exist in the tools array 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have proper description 34ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have correct input schema structure 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have category parameter with proper schema 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have complexity parameter with enum values 29ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have time-based parameters with numeric constraints 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have service and audience parameters 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have pagination parameters 35ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should include all expected properties 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > search_templates_by_metadata > should have appropriate additionalProperties setting 29ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > list_node_templates > should support limit parameter 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > list_node_templates > should support offset parameter 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > search_templates > should support limit parameter 34ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > search_templates > should support offset parameter 33ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > get_templates_for_task > should support limit parameter 38ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > get_templates_for_task > should support offset parameter 41ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > search_templates_by_metadata > should support limit parameter 32ms
✓ tests/unit/mcp/tools.test.ts > n8nDocumentationToolsFinal > New Template Tools > Enhanced pagination support > search_templates_by_metadata > should support offset parameter 32ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > includeExamples parameter > should not include examples when includeExamples is false 37ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > includeExamples parameter > should not include examples when includeExamples is undefined 35ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > includeExamples parameter > should include examples when includeExamples is true 34ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > includeExamples parameter > should handle nodes without examples gracefully 33ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > includeExamples parameter > should limit examples to top 2 per node 32ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > example data structure > should return examples with correct structure when present 34ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > backward compatibility > should maintain backward compatibility when includeExamples not specified 34ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > performance considerations > should not significantly impact performance when includeExamples is false 33ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > error handling > should continue to work even if example fetch fails 34ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > search_nodes with includeExamples > error handling > should handle malformed parameters_json gracefully 34ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > searchNodesLIKE with includeExamples > should support includeExamples in LIKE search 35ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > searchNodesLIKE with includeExamples > should not include examples when includeExamples is false 33ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > searchNodesFTS with includeExamples > should support includeExamples in FTS search 34ms
✓ tests/unit/mcp/search-nodes-examples.test.ts > searchNodesFTS with includeExamples > should pass options to example fetching logic 34ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should extract operations from array format 34ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should extract operations from object format grouped by resource 34ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should extract operations from properties with operation field 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should filter operations by resource when specified 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should return empty array for non-existent node 32ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should handle nodes without operations 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeOperations > should handle malformed operations JSON gracefully 30ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeResources > should extract resources from properties 34ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeResources > should return empty array for node without resources 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeResources > should return empty array for non-existent node 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getNodeResources > should handle multiple resource properties 32ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getOperationsForResource > should return operations for specific resource 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getOperationsForResource > should handle array format for resource display options 30ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getOperationsForResource > should return empty array for non-existent node 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getOperationsForResource > should handle string format for single resource 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getAllOperations > should collect operations from all nodes 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getAllOperations > should handle empty node list 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getAllResources > should collect resources from all nodes 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > getAllResources > should handle empty node list 32ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > edge cases and error handling > should handle null or undefined properties gracefully 30ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > edge cases and error handling > should handle complex nested operation properties 33ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > edge cases and error handling > should handle operations with mixed data types 32ms
✓ tests/unit/database/node-repository-operations.test.ts > NodeRepository - Operations and Resources > edge cases and error handling > should handle very deeply nested properties 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should generate preview for empty execution 30ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should generate preview with accurate item counts 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should extract data structure from nodes 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should estimate data size 34ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should detect error status in nodes 34ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should recommend full mode for small datasets 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should recommend filtered mode for large datasets 31ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Preview Mode > should recommend summary mode for moderate datasets 41ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should filter by node names 42ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should handle non-existent node names gracefully 36ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should limit items to 0 (structure only) 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should limit items to 2 (default) 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should limit items to custom value 30ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should not truncate when itemsLimit is -1 (unlimited) 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should not truncate when items are less than limit 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should include input data when requested 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Filtering > should not include input data by default 34ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Modes > should handle preview mode 32ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Modes > should handle summary mode 30ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Modes > should handle filtered mode 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Modes > should handle full mode 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Edge Cases > should handle execution with no data 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Edge Cases > should handle execution with error 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Edge Cases > should handle empty node data arrays 32ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Edge Cases > should handle nested data structures 30ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Edge Cases > should calculate duration correctly 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Edge Cases > should handle execution without stop time 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - processExecution > should return original execution when no options provided 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - processExecution > should process when mode is specified 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - processExecution > should process when filtering options are provided 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Summary Statistics > should calculate hasMoreData correctly 30ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Summary Statistics > should set hasMoreData to false when all data is included 33ms
✓ tests/unit/services/execution-processor.test.ts > ExecutionProcessor - Summary Statistics > should count total items correctly across multiple nodes 33ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > saveNode > should save a node with proper JSON serialization 35ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > saveNode > should handle nodes without optional fields 31ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > getNode > should retrieve and deserialize a node correctly 32ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > getNode > should return null for non-existent nodes 33ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > getNode > should handle invalid JSON gracefully 35ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > getAITools > should retrieve all AI tools sorted by display name 34ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > getAITools > should return empty array when no AI tools exist 33ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > safeJsonParse > should parse valid JSON 34ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > safeJsonParse > should return default value for invalid JSON 32ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > safeJsonParse > should handle empty strings 34ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > safeJsonParse > should handle null and undefined 33ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > Edge Cases > should handle very large JSON properties 34ms
✓ tests/unit/database/node-repository-core.test.ts > NodeRepository - Core Functionality > Edge Cases > should handle boolean conversion for integer fields 34ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://app.n8n.cloud 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://tenant1.n8n.cloud 48ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://my-company.n8n.cloud 50ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://n8n.example.com 52ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://automation.company.com 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: http://localhost:5678 52ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://localhost:8443 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: http://127.0.0.1:5678 71ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://192.168.1.100:8080 56ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://10.0.0.1:3000 50ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: http://n8n.internal.company.com 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Real-world URL patterns > should accept realistic n8n URL: https://workflow.enterprise.local 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Security validation > should reject potentially malicious URL: javascript:alert("xss") 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Security validation > should reject potentially malicious URL: vbscript:msgbox("xss") 52ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Security validation > should reject potentially malicious URL: data:text/html,<script>alert("xss")</script> 48ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Security validation > should reject potentially malicious URL: file:///etc/passwd 48ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Security validation > should reject potentially malicious URL: ldap://attacker.com/cn=admin 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Security validation > should reject potentially malicious URL: ftp://malicious.com 52ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key validation > should reject invalid API key: "" 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key validation > should reject invalid API key: "placeholder" 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key validation > should reject invalid API key: "YOUR_API_KEY" 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key validation > should reject invalid API key: "example" 50ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key validation > should reject invalid API key: "your_api_key_here" 57ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key validation > should accept valid API keys 53ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Edge cases and error handling > should handle partial instance context 50ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Edge cases and error handling > should handle completely empty context 48ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Edge cases and error handling > should handle numerical values gracefully 49ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Edge cases and error handling > should reject invalid numerical values 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > Edge cases and error handling > should reject invalid retry values 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Environment Variable Handling > should handle ENABLE_MULTI_TENANT flag correctly 48ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Environment Variable Handling > should handle N8N_API_URL and N8N_API_KEY environment variables 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Header Processing Simulation > should process multi-tenant headers correctly 50ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Header Processing Simulation > should handle missing headers gracefully 46ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Header Processing Simulation > should handle malformed headers 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Configuration Priority Logic > should implement correct priority logic for tool inclusion 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Session Management Concepts > should generate consistent identifiers for same configuration 51ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Session Management Concepts > should generate different identifiers for different configurations 48ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Session Management Concepts > should handle session isolation concepts 47ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Error Scenarios and Recovery > should handle validation errors gracefully 49ms
✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > Error Scenarios and Recovery > should provide specific error messages 48ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > validateWithMode > should validate config with operation awareness 50ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > validateWithMode > should extract operation context from config 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > validateWithMode > should filter properties based on operation context 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > validateWithMode > should handle minimal validation mode 63ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > validation profiles > should apply strict profile with all checks 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > validation profiles > should apply runtime profile focusing on critical errors 50ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > enhanced validation features > should provide examples for common errors 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > enhanced validation features > should suggest next steps for incomplete configurations 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > deduplicateErrors > should remove duplicate errors for the same property and type 46ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > deduplicateErrors > should prefer errors with fix information over those without 46ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > deduplicateErrors > should handle empty error arrays 50ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > applyProfileFilters - strict profile > should add suggestions for error-free configurations in strict mode 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > applyProfileFilters - strict profile > should enforce error handling for external service nodes in strict mode 46ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > applyProfileFilters - strict profile > should keep all errors, warnings, and suggestions in strict mode 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > enforceErrorHandlingForProfile > should add error handling warning for external service nodes 51ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > enforceErrorHandlingForProfile > should not add warning for non-error-prone nodes 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > enforceErrorHandlingForProfile > should not match httpRequest due to case sensitivity bug 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > enforceErrorHandlingForProfile > should only enforce for strict profile 46ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > addErrorHandlingSuggestions > should add network error handling suggestions when URL errors exist 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > addErrorHandlingSuggestions > should add webhook-specific suggestions 56ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > addErrorHandlingSuggestions > should detect webhook from error messages 48ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > addErrorHandlingSuggestions > should not add duplicate suggestions 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > filterPropertiesByOperation - real implementation > should filter properties based on operation context matching 67ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > filterPropertiesByOperation - real implementation > should handle properties without displayOptions in operation mode 64ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > isPropertyRelevantToOperation > should handle action field in operation context 50ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > isPropertyRelevantToOperation > should return false when action does not match 46ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > isPropertyRelevantToOperation > should handle arrays in displayOptions 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > operation-specific enhancements > should enhance MongoDB validation 46ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > operation-specific enhancements > should enhance MySQL validation 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > operation-specific enhancements > should enhance Postgres validation 52ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > generateNextSteps > should generate steps for different error types 48ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > generateNextSteps > should suggest addressing warnings when no errors exist 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > minimal validation mode edge cases > should only validate visible required properties in minimal mode 47ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > complex operation contexts > should handle all operation context fields (resource, operation, action, mode) 50ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > complex operation contexts > should validate Google Sheets append operation with range warning 48ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > complex operation contexts > should enhance Slack message send validation 57ms
✓ tests/unit/services/enhanced-config-validator.test.ts > EnhancedConfigValidator > profile-specific edge cases > should filter internal warnings in ai-friendly profile 52ms