Removed Name from user, only use ID

This commit is contained in:
2017-08-08 22:27:32 +02:00
parent 411a95685e
commit d8e1c2453b
4 changed files with 19 additions and 36 deletions
+2 -3
View File
@@ -3,8 +3,7 @@ package auth
type Authenticator interface { type Authenticator interface {
ID() string ID() string
Name() string Name() string
Exists(username string) bool
Find(userid string) *User Find(userid string) *User
Login(username, password string) (*User, error) Login(userid, password string) (*User, error)
Register(username, password string, data map[string]string) (*User, error) Register(userid, password string, data map[string]string) (*User, error)
} }
+14 -29
View File
@@ -4,8 +4,6 @@ import (
"errors" "errors"
"strings" "strings"
"testing" "testing"
"git.aiterp.net/gisle/wrouter/generate"
) )
var ErrExists = errors.New("auth: user exists") var ErrExists = errors.New("auth: user exists")
@@ -24,17 +22,6 @@ func (ta *testAuther) ID() string {
func (ta *testAuther) Name() string { func (ta *testAuther) Name() string {
return ta.FullName return ta.FullName
} }
func (ta *testAuther) Exists(username string) bool {
for _, user := range ta.users {
if user.Name == username {
return true
}
}
return false
}
func (ta *testAuther) Find(userid string) *User { func (ta *testAuther) Find(userid string) *User {
for _, user := range ta.users { for _, user := range ta.users {
if user.ID == userid { if user.ID == userid {
@@ -45,9 +32,9 @@ func (ta *testAuther) Find(userid string) *User {
return nil return nil
} }
func (ta *testAuther) Login(username, password string) (*User, error) { func (ta *testAuther) Login(userid, password string) (*User, error) {
for _, user := range ta.users { for _, user := range ta.users {
if user.Name == username && password == ta.passwords[user.ID] { if user.ID == userid && password == ta.passwords[user.ID] {
return user, nil return user, nil
} }
} }
@@ -55,8 +42,8 @@ func (ta *testAuther) Login(username, password string) (*User, error) {
return nil, ErrLogin return nil, ErrLogin
} }
func (ta *testAuther) Register(username, password string, data map[string]string) (*User, error) { func (ta *testAuther) Register(userid, password string, data map[string]string) (*User, error) {
if ta.Exists(username) { if ta.Find(userid) != nil {
return nil, ErrExists return nil, ErrExists
} }
@@ -64,15 +51,13 @@ func (ta *testAuther) Register(username, password string, data map[string]string
ta.passwords = make(map[string]string) ta.passwords = make(map[string]string)
} }
id := generate.ID() user := NewUser(ta, userid, "member", data)
ta.passwords[id] = password
user := NewUser(ta, id, username, "member", data)
ta.users = append(ta.users, user) ta.users = append(ta.users, user)
ta.passwords[userid] = password
return user, nil return user, nil
} }
func TestList(t *testing.T) { func TestAuthenticator(t *testing.T) {
ta1 := testAuther{FullName: "Auth1"} ta1 := testAuther{FullName: "Auth1"}
ta2 := testAuther{FullName: "Auth2"} ta2 := testAuther{FullName: "Auth2"}
Register(&ta1) Register(&ta1)
@@ -105,33 +90,33 @@ func TestList(t *testing.T) {
t.Run("Register", func(t *testing.T) { t.Run("Register", func(t *testing.T) {
user, err := ta1.Register("Test", "CakesAndStuff", nil) user, err := ta1.Register("Test", "CakesAndStuff", nil)
if err != nil || user.Name != "Test" { if err != nil || user.ID != "Test" {
t.Logf("err = %v; name = \"%s\"", err, user.Name) t.Logf("err = %v; name = \"%s\"", err, user.ID)
t.Fail() t.Fail()
} }
if !ta1.Exists("Test") { if ta1.Find("Test") == nil {
t.Log("Registered user does not exist") t.Log("Registered user does not exist")
t.Fail() t.Fail()
} }
user2, err := ta1.Register("Test", "CakesAndStuff", nil) user2, err := ta1.Register("Test", "CakesAndStuff", nil)
if err == nil || user2 != nil { if err == nil || user2 != nil {
t.Logf("err = %s; name = \"%s\"", err, user2.Name) t.Logf("err = %s; name = \"%s\"", err, user2.ID)
t.Fail() t.Fail()
} }
}) })
t.Run("Login", func(t *testing.T) { t.Run("Login", func(t *testing.T) {
user, err := ta1.Login("Test", "CakesAndStuff") user, err := ta1.Login("Test", "CakesAndStuff")
if err != nil || user.Name != "Test" { if err != nil || user.ID != "Test" {
t.Logf("err = %v; name = \"%s\"", err, user.Name) t.Logf("err = %v; user = %+v", err, user)
t.Fail() t.Fail()
} }
user2, err := ta1.Login("Test", "WrongPassword") user2, err := ta1.Login("Test", "WrongPassword")
if err == nil || user2 != nil { if err == nil || user2 != nil {
t.Logf("err = %v; name = \"%s\"", err, user.Name) t.Logf("err = %v; user = %+v", err, user2)
t.Fail() t.Fail()
} }
}) })
+1 -1
View File
@@ -5,7 +5,7 @@ import "testing"
func TestSession(t *testing.T) { func TestSession(t *testing.T) {
auther := testAuther{FullName: "Test"} auther := testAuther{FullName: "Test"}
user := NewUser(&auther, "Tester", "Tester", "member", nil) user := NewUser(&auther, "Tester", "member", nil)
sessions := []*Session{OpenSession(user), OpenSession(user), OpenSession(user)} sessions := []*Session{OpenSession(user), OpenSession(user), OpenSession(user)}
ids := []string{sessions[0].ID, sessions[1].ID, sessions[2].ID} ids := []string{sessions[0].ID, sessions[1].ID, sessions[2].ID}
+2 -3
View File
@@ -2,7 +2,6 @@ package auth
type User struct { type User struct {
ID string ID string
Name string
Level string Level string
Data map[string]string Data map[string]string
@@ -26,6 +25,6 @@ func (user *User) LoggedOut() bool {
} }
// NewUser creates a new User object // NewUser creates a new User object
func NewUser(method Authenticator, id, name, level string, data map[string]string) *User { func NewUser(method Authenticator, id, level string, data map[string]string) *User {
return &User{id, name, level, data, method, false} return &User{id, level, data, method, false}
} }