Ctrl K
ComunidadGuías…

cli/sessionstore/sessionstore_darwin_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
//go:build darwin

package sessionstore_test

import (
	"encoding/base64"
	"os/exec"
	"testing"
)

const (
	execPathKeychain = "/usr/bin/security"
	fixedUsername    = "coder-login-credentials"
)

func readRawKeychainCredential(t *testing.T, service string) []byte {
	t.Helper()

	out, err := exec.Command(
		execPathKeychain,
		"find-generic-password",
		"-s", service,
		"-wa", fixedUsername).CombinedOutput()
	if err != nil {
		t.Fatal(err)
	}

	dst := make([]byte, base64.StdEncoding.DecodedLen(len(out)))
	n, err := base64.StdEncoding.Decode(dst, out)
	if err != nil {
		t.Fatal(err)
	}
	return dst[:n]
}