Renamed Backend.FromConfig to Backend.InitConfig and added error handling

This commit is contained in:
Philipp Wolfer 2025-04-29 10:03:28 +02:00
parent aad542850a
commit 0f4b04c641
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
21 changed files with 60 additions and 48 deletions

View file

@ -60,7 +60,7 @@ func (b *JSPFBackend) Options() []models.BackendOption {
}}
}
func (b *JSPFBackend) FromConfig(config *config.ServiceConfig) models.Backend {
func (b *JSPFBackend) InitConfig(config *config.ServiceConfig) error {
b.filePath = config.GetString("file-path")
b.append = config.GetBool("append", true)
b.playlist = jspf.Playlist{
@ -75,7 +75,7 @@ func (b *JSPFBackend) FromConfig(config *config.ServiceConfig) models.Backend {
},
},
}
return b
return nil
}
func (b *JSPFBackend) StartImport() error {

View file

@ -26,13 +26,14 @@ import (
"go.uploadedlobster.com/scotty/internal/config"
)
func TestFromConfig(t *testing.T) {
func TestInitConfig(t *testing.T) {
c := viper.New()
c.Set("file-path", "/foo/bar.jspf")
c.Set("title", "My Playlist")
c.Set("username", "outsidecontext")
c.Set("identifier", "http://example.com/playlist1")
service := config.NewServiceConfig("test", c)
backend := (&jspf.JSPFBackend{}).FromConfig(&service)
assert.IsType(t, &jspf.JSPFBackend{}, backend)
backend := jspf.JSPFBackend{}
err := backend.InitConfig(&service)
assert.NoError(t, err)
}