Files
mesh-catalog/modules/gitea/internal/forgeaccount/user_test.go
T

34 lines
1.0 KiB
Go

package forgeaccount
import "testing"
func TestForgeUserOfAMachineAccountIsTheNodesAgent(t *testing.T) {
if got := ForgeUser("g14", "machine"); got != "agent-g14" {
t.Fatalf("ForgeUser = %q", got)
}
if got := ForgeUser("g14", "other"); got != "" {
t.Fatalf("a kind not built yet has no forge user, got %q", got)
}
}
func TestRemoveKeysTitledTakesOnlyTheMeshKeysOfThatTitle(t *testing.T) {
f := &keyForge{keys: map[string][]heldKey{"agent-g14": {
{ID: 1, Title: "mesh:g14.nox", Key: keyA},
{ID: 2, Title: "mesh:g14.other", Key: keyB},
{ID: 3, Title: "by hand", Key: "ssh-ed25519 CCCC"},
}}, next: 3}
a := keyAccounts(t, f)
if err := a.RemoveKeysTitled(t.Context(), "agent-g14", "mesh:g14.nox"); err != nil {
t.Fatal(err)
}
if got := f.keys["agent-g14"]; len(got) != 2 || got[0].ID != 2 || got[1].ID != 3 {
t.Fatalf("held = %v", got)
}
if err := a.RemoveKeysTitled(t.Context(), "agent-g14", "by hand"); err != nil {
t.Fatal(err)
}
if len(f.keys["agent-g14"]) != 2 {
t.Fatal("a key that is not the mesh's was removed")
}
}