package tests import "github.com/navidrome/navidrome/model" type MockedUserPropsRepo struct { model.UserPropsRepository UserID string data map[string]string err error } func (p *MockedUserPropsRepo) init() { if p.data == nil { p.data = make(map[string]string) } } func (p *MockedUserPropsRepo) Put(key string, value string) error { if p.err != nil { return p.err } p.init() p.data[p.UserID+"_"+key] = value return nil } func (p *MockedUserPropsRepo) Get(key string) (string, error) { if p.err != nil { return "", p.err } p.init() if v, ok := p.data[p.UserID+"_"+key]; ok { return v, nil } return "", model.ErrNotFound } func (p *MockedUserPropsRepo) Delete(key string) error { if p.err != nil { return p.err } p.init() if _, ok := p.data[p.UserID+"_"+key]; ok { delete(p.data, p.UserID+"_"+key) return nil } return model.ErrNotFound } func (p *MockedUserPropsRepo) DefaultGet(key string, defaultValue string) (string, error) { if p.err != nil { return "", p.err } p.init() v, err := p.Get(p.UserID + "_" + key) if err != nil { return defaultValue, nil } return v, nil }