50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import { assert, test, vi } from 'vitest'
|
|
|
|
const mocks = vi.hoisted(() => ({
|
|
rpcFetch: vi.fn(async () => new Response(null, { status: 204 })),
|
|
transportFetch: undefined as typeof fetch | undefined,
|
|
}))
|
|
|
|
vi.mock('@connectrpc/connect-web', () => ({
|
|
createConnectTransport: vi.fn((opts: { fetch: typeof fetch }) => {
|
|
mocks.transportFetch = opts.fetch
|
|
return {}
|
|
}),
|
|
}))
|
|
|
|
vi.mock('../../src/envd/http2', () => ({
|
|
createEnvdFetch: vi.fn(() => vi.fn()),
|
|
createEnvdRpcFetch: vi.fn(() => mocks.rpcFetch),
|
|
}))
|
|
|
|
test('does not pass custom connection headers to envd RPC requests', async () => {
|
|
const { ConnectionConfig, Sandbox } = await import('../../src')
|
|
const config = new ConnectionConfig()
|
|
const sandbox = new Sandbox({
|
|
...config,
|
|
sandboxId: 'sbx-test',
|
|
sandboxDomain: 'sandbox.e2b.dev',
|
|
envdVersion: '0.2.4',
|
|
envdAccessToken: 'tok',
|
|
headers: {
|
|
Authorization: 'Bearer user-token',
|
|
'X-Custom': 'secret',
|
|
},
|
|
})
|
|
|
|
assert.equal(sandbox.sandboxId, 'sbx-test')
|
|
assert.ok(mocks.transportFetch)
|
|
await mocks.transportFetch('https://sandbox.e2b.dev/rpc', {
|
|
headers: { 'Connect-Protocol-Version': '1' },
|
|
})
|
|
|
|
const headers = new Headers(mocks.rpcFetch.mock.calls[0][1]?.headers)
|
|
|
|
assert.equal(headers.get('Authorization'), null)
|
|
assert.equal(headers.get('X-Custom'), null)
|
|
assert.equal(headers.get('User-Agent')?.startsWith('e2b-js-sdk/'), true)
|
|
assert.equal(headers.get('E2b-Sandbox-Id'), 'sbx-test')
|
|
assert.equal(headers.get('X-Access-Token'), 'tok')
|
|
assert.equal(headers.get('Connect-Protocol-Version'), '1')
|
|
})
|