diff options
Diffstat (limited to 'pkg/components/auth/mock_test.go')
-rw-r--r-- | pkg/components/auth/mock_test.go | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/pkg/components/auth/mock_test.go b/pkg/components/auth/mock_test.go deleted file mode 100644 index 885f643..0000000 --- a/pkg/components/auth/mock_test.go +++ /dev/null @@ -1,121 +0,0 @@ -//go:build unit - -package auth - -import ( - "context" - "errors" - - "git.sr.ht/~gabrielgio/img/pkg/database/repository" -) - -type ( - User struct { - ID uint - Username string - Name string - Password []byte - IsAdmin bool - Path string - } - - Users map[uint]*User - - UserRepository struct { - icount uint - users Users - } -) - -var _ repository.UserRepository = &UserRepository{} -var _ repository.AuthRepository = &UserRepository{} - -func NewUserRepository() *UserRepository { - return &UserRepository{ - users: make(map[uint]*User), - } -} - -func (u *User) ToModel() *repository.User { - return &repository.User{ - ID: u.ID, - Username: u.Username, - Name: u.Name, - IsAdmin: u.IsAdmin, - Path: u.Path, - } -} - -func (u Users) ToModels() []*repository.User { - users := make([]*repository.User, 0, len(u)) - for _, i := range u { - users = append(users, i.ToModel()) - } - return users -} - -func (u *UserRepository) Get(ctx context.Context, id uint) (*repository.User, error) { - if user, ok := u.users[id]; ok { - return user.ToModel(), nil - } - - return nil, errors.New("Not Found") -} - -func (u *UserRepository) List(_ context.Context) ([]*repository.User, error) { - return u.users.ToModels(), nil -} - -func (u *UserRepository) Create(_ context.Context, createUser *repository.CreateUser) (uint, error) { - id := u.furtherID() - u.users[id] = &User{ - ID: id, - Name: createUser.Name, - Username: createUser.Username, - Path: createUser.Path, - Password: createUser.Password, - } - return id, nil -} - -func (u *UserRepository) Update(_ context.Context, id uint, updateUser *repository.UpdateUser) error { - user, ok := u.users[id] - if !ok { - return errors.New("Invalid ID") - } - - user.Name = updateUser.Name - user.Username = updateUser.Username - if updateUser.Password != "" { - user.Password = []byte(updateUser.Password) - } - - return nil -} - -func (u *UserRepository) Any(_ context.Context) (bool, error) { - return len(u.users) > 0, nil -} - -func (u *UserRepository) GetIDByUsername(ctx context.Context, username string) (uint, error) { - for id, u := range u.users { - if u.Username == username { - return id, nil - } - } - - return 0, errors.New("Not Found") -} - -func (u *UserRepository) GetPassword(ctx context.Context, id uint) ([]byte, error) { - if user, ok := u.users[id]; ok { - return []byte(user.Password), nil - } - - return nil, errors.New("Not Found") -} - -func (u *UserRepository) furtherID() uint { - u.icount++ - return u.icount -} |