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