mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 22:25:24 +00:00
59 lines
2.0 KiB
TypeScript
59 lines
2.0 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { resolveProxmoxImportAuth } from "../../src/backend/proxmox-import-auth.js";
|
|
|
|
// The frontend carries its own copy of this decision in
|
|
// plugins/proxmox/frontend/proxmox-import-auth.ts. The two drifting apart is
|
|
// what produced the reported bug, so both are held to the same matrix.
|
|
describe("resolveProxmoxImportAuth", () => {
|
|
it("uses the default credential for key auth when one is configured", () => {
|
|
expect(resolveProxmoxImportAuth("key", 7)).toEqual({
|
|
authType: "credential",
|
|
credentialId: 7,
|
|
overrideCredentialUsername: 0,
|
|
});
|
|
});
|
|
|
|
it("uses the default credential for password auth when one is configured", () => {
|
|
expect(resolveProxmoxImportAuth("password", 7)).toEqual({
|
|
authType: "credential",
|
|
credentialId: 7,
|
|
overrideCredentialUsername: 0,
|
|
});
|
|
});
|
|
|
|
it("falls back to none when a secret-backed default has no credential", () => {
|
|
for (const authType of ["password", "key", "credential"]) {
|
|
expect(resolveProxmoxImportAuth(authType, null)).toEqual({
|
|
authType: "none",
|
|
credentialId: null,
|
|
overrideCredentialUsername: 0,
|
|
});
|
|
}
|
|
});
|
|
|
|
it("uses the credential when no default auth type is configured", () => {
|
|
expect(resolveProxmoxImportAuth(undefined, 42)).toEqual({
|
|
authType: "credential",
|
|
credentialId: 42,
|
|
overrideCredentialUsername: 0,
|
|
});
|
|
expect(resolveProxmoxImportAuth(undefined, null)).toEqual({
|
|
authType: "none",
|
|
credentialId: null,
|
|
overrideCredentialUsername: 0,
|
|
});
|
|
});
|
|
|
|
it("keeps secretless auth types, with or without a credential", () => {
|
|
for (const authType of ["none", "agent", "opkssh", "tailscale", "vault"]) {
|
|
for (const credentialId of [null, 7]) {
|
|
expect(resolveProxmoxImportAuth(authType, credentialId)).toEqual({
|
|
authType,
|
|
credentialId: null,
|
|
overrideCredentialUsername: 0,
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|