69 lines
1.8 KiB
Go
69 lines
1.8 KiB
Go
|
|
package simpleauth
|
||
|
|
|
||
|
|
import (
|
||
|
|
"strings"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestNewPassword(t *testing.T) {
|
||
|
|
ThePassword := "ASimplePassword*23"
|
||
|
|
password, err := NewPassword([]byte(ThePassword))
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("error: %v\n", err)
|
||
|
|
}
|
||
|
|
if !password.Matches([]byte(ThePassword)) {
|
||
|
|
t.Fatalf("error: '%s' != '%+v'\n", ThePassword, password)
|
||
|
|
}
|
||
|
|
|
||
|
|
ThePassword = "notcomplexenough"
|
||
|
|
password, err = NewPassword([]byte(ThePassword))
|
||
|
|
if err == nil {
|
||
|
|
t.Fatalf("got nil error...\n")
|
||
|
|
} else if password != nil {
|
||
|
|
t.Fatalf("wanted nil Password; got %s %s\n", password.Hash, password.Salt)
|
||
|
|
}
|
||
|
|
|
||
|
|
ThePassword = "NOTCOMPLEXENOUGH"
|
||
|
|
password, err = NewPassword([]byte(ThePassword))
|
||
|
|
if err == nil {
|
||
|
|
t.Fatalf("got nil error...\n")
|
||
|
|
} else if password != nil {
|
||
|
|
t.Fatalf("wanted nil Password; got %s %s\n", password.Hash, password.Salt)
|
||
|
|
}
|
||
|
|
|
||
|
|
ThePassword = ""
|
||
|
|
password, err = NewPassword([]byte(ThePassword))
|
||
|
|
if err == nil {
|
||
|
|
t.Fatalf("got nil error...\n")
|
||
|
|
} else if password != nil {
|
||
|
|
t.Fatalf("wanted nil Password; got %s %s\n", password.Hash, password.Salt)
|
||
|
|
}
|
||
|
|
|
||
|
|
ThePassword = strings.Repeat("hello", 256)
|
||
|
|
password, err = NewPassword([]byte(ThePassword))
|
||
|
|
if err == nil {
|
||
|
|
t.Fatalf("got nil error...\n")
|
||
|
|
} else if password != nil {
|
||
|
|
t.Fatalf("wanted nil Password; got %s %s\n", password.Hash, password.Salt)
|
||
|
|
}
|
||
|
|
|
||
|
|
ThePassword = "*sdbksldKdf"
|
||
|
|
password, err = NewPassword([]byte(ThePassword))
|
||
|
|
if err == nil {
|
||
|
|
t.Fatalf("got nil error...\n")
|
||
|
|
} else if password != nil {
|
||
|
|
t.Fatalf("wanted nil Password; got %s %s\n", password.Hash, password.Salt)
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestPasswordStringMethod(t *testing.T) {
|
||
|
|
password, err := NewPassword([]byte("*123ABcd"))
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("error: %v\n", err)
|
||
|
|
}
|
||
|
|
if got := password.String(); !strings.Contains(got, "cowardly refusal") {
|
||
|
|
t.Fatalf("error: got '%s' instead of 'cowardly refusal' message\n", got)
|
||
|
|
}
|
||
|
|
}
|