mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-18 10:33:15 +00:00
54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { resolveServerList, ServerConnection } from "./server"
|
|
|
|
describe("resolveServerList", () => {
|
|
test("lets startup auth_token credentials override a persisted same-url server", () => {
|
|
const list = resolveServerList({
|
|
stored: [{ url: "https://server.example.test" }],
|
|
props: [
|
|
{
|
|
type: "http",
|
|
authToken: true,
|
|
http: {
|
|
url: "https://server.example.test",
|
|
username: "opencode",
|
|
password: "secret",
|
|
},
|
|
},
|
|
],
|
|
})
|
|
|
|
expect(list).toHaveLength(1)
|
|
expect(list[0]?.type).toBe("http")
|
|
expect(list[0]?.http).toEqual({
|
|
url: "https://server.example.test",
|
|
username: "opencode",
|
|
password: "secret",
|
|
})
|
|
expect(list[0]?.type === "http" ? list[0].authToken : false).toBe(true)
|
|
expect(ServerConnection.key(list[0]!) as string).toBe("https://server.example.test")
|
|
})
|
|
|
|
test("keeps persisted credentials when startup has no auth_token", () => {
|
|
const list = resolveServerList({
|
|
stored: [
|
|
{
|
|
url: "https://server.example.test",
|
|
username: "opencode",
|
|
password: "saved",
|
|
},
|
|
],
|
|
props: [{ type: "http", http: { url: "https://server.example.test" } }],
|
|
})
|
|
|
|
expect(list).toHaveLength(1)
|
|
expect(list[0]?.type).toBe("http")
|
|
expect(list[0]?.http).toEqual({
|
|
url: "https://server.example.test",
|
|
username: "opencode",
|
|
password: "saved",
|
|
})
|
|
expect(list[0]?.type === "http" ? list[0].authToken : true).toBeUndefined()
|
|
})
|
|
})
|