package tests import ( "encoding/base64" "strings" "github.com/navidrome/navidrome/model" ) type mockedUserRepo struct { model.UserRepository data map[string]*model.User } func (u *mockedUserRepo) CountAll(qo ...model.QueryOptions) (int64, error) { return int64(len(u.data)), nil } func (u *mockedUserRepo) Put(usr *model.User) error { if u.data == nil { u.data = make(map[string]*model.User) } if usr.ID == "" { usr.ID = base64.StdEncoding.EncodeToString([]byte(usr.UserName)) } usr.Password = usr.NewPassword u.data[strings.ToLower(usr.UserName)] = usr return nil } func (u *mockedUserRepo) FindByUsername(username string) (*model.User, error) { usr, ok := u.data[strings.ToLower(username)] if !ok { return nil, model.ErrNotFound } return usr, nil } func (u *mockedUserRepo) UpdateLastLoginAt(id string) error { return nil }