hysteria/extras/auth/password_test.go
2023-08-06 12:11:46 -07:00

65 lines
1.1 KiB
Go

package auth
import (
"net"
"testing"
)
func TestPasswordAuthenticator(t *testing.T) {
type fields struct {
Password string
}
type args struct {
addr net.Addr
auth string
tx uint64
}
tests := []struct {
name string
fields fields
args args
wantOk bool
wantId string
}{
{
name: "correct",
fields: fields{
Password: "yes,yes",
},
args: args{
addr: nil,
auth: "yes,yes",
tx: 0,
},
wantOk: true,
wantId: "user",
},
{
name: "incorrect",
fields: fields{
Password: "something_somehow",
},
args: args{
addr: nil,
auth: "random",
tx: 0,
},
wantOk: false,
wantId: "",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
a := &PasswordAuthenticator{
Password: tt.fields.Password,
}
gotOk, gotId := a.Authenticate(tt.args.addr, tt.args.auth, tt.args.tx)
if gotOk != tt.wantOk {
t.Errorf("Authenticate() gotOk = %v, want %v", gotOk, tt.wantOk)
}
if gotId != tt.wantId {
t.Errorf("Authenticate() gotId = %v, want %v", gotId, tt.wantId)
}
})
}
}