mirror of
https://github.com/wahyd4/loginsrv.git
synced 2026-08-09 04:46:29 +10:00
69 lines
1.4 KiB
Go
69 lines
1.4 KiB
Go
package httpupstream
|
|
|
|
import (
|
|
"net/url"
|
|
"testing"
|
|
"time"
|
|
|
|
. "github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestAuth_UnknownUser(t *testing.T) {
|
|
ts := newTestServer()
|
|
defer ts.Close()
|
|
u, _ := url.Parse(ts.URL)
|
|
|
|
auth, err := NewAuth(u, time.Second, false)
|
|
NoError(t, err)
|
|
|
|
authenticated, err := auth.Authenticate("unknown", "secret")
|
|
NoError(t, err)
|
|
False(t, authenticated)
|
|
}
|
|
|
|
func TestAuth_KnownUser(t *testing.T) {
|
|
ts := newTestServer()
|
|
defer ts.Close()
|
|
u, _ := url.Parse(ts.URL)
|
|
|
|
auth, err := NewAuth(u, time.Second, false)
|
|
NoError(t, err)
|
|
|
|
authenticated, err := auth.Authenticate("bob-bcrypt", "s3krud")
|
|
NoError(t, err)
|
|
False(t, authenticated)
|
|
}
|
|
|
|
func TestAuth_ValidCredentials(t *testing.T) {
|
|
ts := newTestServer()
|
|
defer ts.Close()
|
|
u, _ := url.Parse(ts.URL)
|
|
|
|
auth, err := NewAuth(u, time.Second, false)
|
|
NoError(t, err)
|
|
|
|
authenticated, err := auth.Authenticate("bob-bcrypt", "secret")
|
|
NoError(t, err)
|
|
True(t, authenticated)
|
|
}
|
|
|
|
func TestAuth_InvalidUrl(t *testing.T) {
|
|
invalidUrl := &url.URL{Scheme: "\\\\"}
|
|
|
|
auth, err := NewAuth(invalidUrl, time.Second, false)
|
|
NoError(t, err)
|
|
|
|
_, err = auth.Authenticate("foo", "bar")
|
|
Error(t, err)
|
|
}
|
|
|
|
func TestAuth_InvalidHost(t *testing.T) {
|
|
invalidServer, _ := url.Parse("http://0.0.0.0.0")
|
|
|
|
auth, err := NewAuth(invalidServer, time.Second, false)
|
|
NoError(t, err)
|
|
|
|
_, err = auth.Authenticate("foo", "bar")
|
|
Error(t, err)
|
|
}
|