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")
 | 
						|
	}
 | 
						|
}
 |