mirror of
https://git.sr.ht/~phw/scotty
synced 2025-07-01 07:41:57 +02:00
Use config.ServiceConfig across API
This commit is contained in:
parent
091b3c2f49
commit
9c363cc06d
27 changed files with 137 additions and 99 deletions
|
@ -34,28 +34,32 @@ import (
|
|||
"go.uploadedlobster.com/scotty/internal/backends/scrobblerlog"
|
||||
"go.uploadedlobster.com/scotty/internal/backends/spotify"
|
||||
"go.uploadedlobster.com/scotty/internal/backends/subsonic"
|
||||
"go.uploadedlobster.com/scotty/internal/config"
|
||||
"go.uploadedlobster.com/scotty/internal/models"
|
||||
)
|
||||
|
||||
func TestResolveBackend(t *testing.T) {
|
||||
config := viper.New()
|
||||
config.Set("backend", "dump")
|
||||
backend, err := backends.ResolveBackend[models.ListensImport](config)
|
||||
c := viper.New()
|
||||
c.Set("backend", "dump")
|
||||
service := config.NewServiceConfig("test", c)
|
||||
backend, err := backends.ResolveBackend[models.ListensImport](&service)
|
||||
assert.NoError(t, err)
|
||||
assert.IsType(t, &dump.DumpBackend{}, backend)
|
||||
}
|
||||
|
||||
func TestResolveBackendUnknown(t *testing.T) {
|
||||
config := viper.New()
|
||||
config.Set("backend", "foo")
|
||||
_, err := backends.ResolveBackend[models.ListensImport](config)
|
||||
assert.EqualError(t, err, "unknown backend foo")
|
||||
c := viper.New()
|
||||
c.Set("backend", "foo")
|
||||
service := config.NewServiceConfig("test", c)
|
||||
_, err := backends.ResolveBackend[models.ListensImport](&service)
|
||||
assert.EqualError(t, err, "unknown backend \"foo\"")
|
||||
}
|
||||
|
||||
func TestResolveBackendInvalidInterface(t *testing.T) {
|
||||
config := viper.New()
|
||||
config.Set("backend", "dump")
|
||||
_, err := backends.ResolveBackend[models.ListensExport](config)
|
||||
c := viper.New()
|
||||
c.Set("backend", "dump")
|
||||
service := config.NewServiceConfig("test", c)
|
||||
_, err := backends.ResolveBackend[models.ListensExport](&service)
|
||||
assert.EqualError(t, err, "backend dump does not implement ListensExport")
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue