34 lines
686 B
Go
34 lines
686 B
Go
package store
|
|
|
|
import "testing"
|
|
|
|
func TestNormalizeUsername(t *testing.T) {
|
|
if got := NormalizeUsername(" Alice_1 "); got != "alice_1" {
|
|
t.Fatalf("got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestPostgresDSNDefaultsSSLMode(t *testing.T) {
|
|
in := "postgresql://user:pass@db.example.com:5432/postgres"
|
|
out, err := postgresDSN(in)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if !containsAny(out, "sslmode=verify-full") {
|
|
t.Fatalf("missing default sslmode: %s", out)
|
|
}
|
|
}
|
|
|
|
func containsAny(s string, parts ...string) bool {
|
|
for _, p := range parts {
|
|
if len(p) > 0 && (len(s) >= len(p)) {
|
|
for i := 0; i+len(p) <= len(s); i++ {
|
|
if s[i:i+len(p)] == p {
|
|
return true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return false
|
|
}
|