41 lines
1.0 KiB
Go
41 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestValidatorComparisonsAreCaseInsensitive(t *testing.T) {
|
|
auth_email_file, err := ioutil.TempFile("", "test_auth_emails_")
|
|
if err != nil {
|
|
t.Fatal("failed to create temp file: " + err.Error())
|
|
}
|
|
defer os.Remove(auth_email_file.Name())
|
|
|
|
auth_email_file.WriteString(
|
|
strings.Join([]string{"Foo.Bar@Example.Com"}, "\n"))
|
|
err = auth_email_file.Close()
|
|
if err != nil {
|
|
t.Fatal("failed to close temp file " + auth_email_file.Name() +
|
|
": " + err.Error())
|
|
}
|
|
|
|
domains := []string{"Frobozz.Com"}
|
|
validator := NewValidator(domains, auth_email_file.Name())
|
|
|
|
if !validator("foo.bar@example.com") {
|
|
t.Error("loaded email addresses are not lower-cased")
|
|
}
|
|
if !validator("Foo.Bar@Example.Com") {
|
|
t.Error("validated email addresses are not lower-cased")
|
|
}
|
|
if !validator("foo.bar@frobozz.com") {
|
|
t.Error("loaded domains are not lower-cased")
|
|
}
|
|
if !validator("foo.bar@Frobozz.Com") {
|
|
t.Error("validated domains are not lower-cased")
|
|
}
|
|
}
|