Ctrl K
ComunidadGuías…

internal/server/mask_test.go

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

Archivo original ↗Preguntar a KiBot
package restapi

import (
	"strings"
	"testing"
)

// TestMaskAPIKey_HidesLengthAndCharacters makes sure that the mask does not
// show the key length or characters from the key, but shows that a key is set.
func TestMaskAPIKey_HidesLengthAndCharacters(t *testing.T) {
	short := maskAPIKey("sk-ABCDEFGHIJKLMNOP")
	long := maskAPIKey("sk-ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")

	if short == "" || long == "" {
		t.Fatalf("a set key must produce a non-empty mask")
	}
	if short != long {
		t.Errorf("mask shows key length: %q vs %q", short, long)
	}
	if strings.ContainsAny(short, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") {
		t.Errorf("mask shows key characters: %q", short)
	}
	if !isRedacted(short) {
		t.Errorf("mask must be detectable as redacted on resubmit: %q", short)
	}
	if isRedacted("sk-ab*cd") || isRedacted("http://host/*") {
		t.Errorf("a value that contains '*' but is not the mask must not be redacted")
	}
	if maskAPIKey("") != "" {
		t.Errorf("an unset key must mask to empty string")
	}
}