33 lines
863 B
Go
33 lines
863 B
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestValidateRepositoryName(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tests := []struct {
|
|
name string
|
|
value string
|
|
ok bool
|
|
}{
|
|
{name: "simple", value: "windows-firewall", ok: true},
|
|
{name: "dots and underscores", value: "MSFT.Server_2022", ok: true},
|
|
{name: "space", value: "Server Windows Firewall", ok: false},
|
|
{name: "umlaut", value: "server-härtung", ok: false},
|
|
{name: "leading hyphen", value: "-server", ok: false},
|
|
{name: "too long", value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ok: false},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
err := validateRepositoryName("test", tt.value)
|
|
if tt.ok && err != nil {
|
|
t.Fatalf("expected valid name, got %v", err)
|
|
}
|
|
if !tt.ok && err == nil {
|
|
t.Fatalf("expected invalid name")
|
|
}
|
|
})
|
|
}
|
|
}
|