fix: resolve TypeScript errors and enhance test script

- Fix TypeScript errors in session management tests
  - Add null checks for sessionInfo.sessions access
  - Use type assertion for delete operator on process.env
  - Ensure proper cleanup of NODE_ENV in tests
- Enhance test-n8n-integration.sh script
  - Add Docker installation check and auto-install for multiple OS
  - Implement n8n API key flow for management tools
  - Fix misleading Bearer token instruction
  - Add colored output for better UX
  - Check for optional jq installation

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2025-08-01 08:54:24 +02:00
parent 916825634b
commit 6264bcff33
2 changed files with 188 additions and 7 deletions

View File

@@ -518,12 +518,18 @@ describe('HTTP Server Session Management', () => {
});
it('should allow default token when NODE_ENV is not set', () => {
delete process.env.NODE_ENV;
const originalNodeEnv = process.env.NODE_ENV;
delete (process.env as any).NODE_ENV;
process.env.AUTH_TOKEN = 'REPLACE_THIS_AUTH_TOKEN_32_CHARS_MIN_abcdefgh';
expect(() => {
new SingleSessionHTTPServer();
}).not.toThrow();
// Restore original value
if (originalNodeEnv !== undefined) {
process.env.NODE_ENV = originalNodeEnv;
}
});
});
@@ -1037,11 +1043,12 @@ describe('HTTP Server Session Management', () => {
expect(sessionInfo.sessions).toHaveProperty('sessionIds');
expect(typeof sessionInfo.active).toBe('boolean');
expect(typeof sessionInfo.sessions.total).toBe('number');
expect(typeof sessionInfo.sessions.active).toBe('number');
expect(typeof sessionInfo.sessions.expired).toBe('number');
expect(sessionInfo.sessions.max).toBe(100);
expect(Array.isArray(sessionInfo.sessions.sessionIds)).toBe(true);
expect(sessionInfo.sessions).toBeDefined();
expect(typeof sessionInfo.sessions!.total).toBe('number');
expect(typeof sessionInfo.sessions!.active).toBe('number');
expect(typeof sessionInfo.sessions!.expired).toBe('number');
expect(sessionInfo.sessions!.max).toBe(100);
expect(Array.isArray(sessionInfo.sessions!.sessionIds)).toBe(true);
});
it('should show legacy SSE session when present', async () => {