mirror of
https://github.com/emersion/go-msgauth
synced 2026-07-05 00:08:45 +00:00
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package msgauth
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
var parseTests = []msgauthTest{
|
|
{
|
|
value: "",
|
|
identifier: "",
|
|
results: nil,
|
|
},
|
|
{
|
|
value: "example.com 1; none",
|
|
identifier: "example.com",
|
|
results: nil,
|
|
},
|
|
{
|
|
value: "example.com; \r\n" +
|
|
" \t spf=pass smtp.mailfrom=example.net",
|
|
identifier: "example.com",
|
|
results: []Result{
|
|
&SPFResult{Value: ResultPass, From: "example.net"},
|
|
},
|
|
},
|
|
{
|
|
value: "example.com;" +
|
|
" auth=pass (cram-md5) smtp.auth=sender@example.com;",
|
|
identifier: "example.com",
|
|
results: []Result{
|
|
&AuthResult{Value: ResultPass, Auth: "sender@example.com"},
|
|
},
|
|
},
|
|
}
|
|
|
|
func TestParse(t *testing.T) {
|
|
for _, test := range append(msgauthTests, parseTests...) {
|
|
identifier, results, err := Parse(test.value)
|
|
if err != nil {
|
|
t.Errorf("Expected no error when parsing header, got: %v", err)
|
|
} else if test.identifier != identifier {
|
|
t.Errorf("Expected identifier to be %q, but got %q", test.identifier, identifier)
|
|
} else if len(test.results) != len(results) {
|
|
t.Errorf("Expected number of results to be %v, but got %v", len(test.results), len(results))
|
|
} else {
|
|
for i := 0; i < len(results); i++ {
|
|
if !reflect.DeepEqual(test.results[i], results[i]) {
|
|
t.Errorf("Expected result to be \n%v\n but got \n%v", test.results[i], results[i])
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|