Spaces:
Sleeping
Sleeping
| import { describe, expect, it } from 'vitest' | |
| import { isLocalDashboardHost, shouldRedirectDashboardToHttps } from '@/lib/browser-security' | |
| describe('isLocalDashboardHost', () => { | |
| it('treats localhost variants as local', () => { | |
| expect(isLocalDashboardHost('localhost')).toBe(true) | |
| expect(isLocalDashboardHost('127.0.0.1')).toBe(true) | |
| expect(isLocalDashboardHost('test.local')).toBe(true) | |
| }) | |
| }) | |
| describe('shouldRedirectDashboardToHttps', () => { | |
| it('does not redirect remote HTTP dashboards unless explicitly forced', () => { | |
| expect(shouldRedirectDashboardToHttps({ | |
| protocol: 'http:', | |
| hostname: '192.168.1.20', | |
| forceHttps: false, | |
| })).toBe(false) | |
| }) | |
| it('redirects remote HTTP dashboards only when forceHttps is enabled', () => { | |
| expect(shouldRedirectDashboardToHttps({ | |
| protocol: 'http:', | |
| hostname: 'example.tailnet.ts.net', | |
| forceHttps: true, | |
| })).toBe(true) | |
| }) | |
| it('never redirects localhost', () => { | |
| expect(shouldRedirectDashboardToHttps({ | |
| protocol: 'http:', | |
| hostname: 'localhost', | |
| forceHttps: true, | |
| })).toBe(false) | |
| }) | |
| }) | |