/ src / daemon.test.ts
daemon.test.ts
 1  import { describe, expect, it } from 'vitest';
 2  
 3  import { getResponseCorsHeaders } from './daemon.js';
 4  
 5  describe('getResponseCorsHeaders', () => {
 6    it('allows the Browser Bridge extension origin to read /ping', () => {
 7      expect(getResponseCorsHeaders('/ping', 'chrome-extension://abc123')).toEqual({
 8        'Access-Control-Allow-Origin': 'chrome-extension://abc123',
 9        Vary: 'Origin',
10      });
11    });
12  
13    it('does not add CORS headers for ordinary web origins', () => {
14      expect(getResponseCorsHeaders('/ping', 'https://example.com')).toBeUndefined();
15    });
16  
17    it('does not add CORS headers when origin is absent', () => {
18      expect(getResponseCorsHeaders('/ping')).toBeUndefined();
19    });
20  
21    it('does not add CORS headers for command endpoints even from the extension origin', () => {
22      expect(getResponseCorsHeaders('/command', 'chrome-extension://abc123')).toBeUndefined();
23    });
24  });