package tests
import (
"context"
)
type MockPluginManager struct {
EnablePluginFn func(ctx context.Context, id string) error
DisablePluginFn func(ctx context.Context, id string) error
UpdatePluginConfigFn func(ctx context.Context, id, configJSON string) error
ValidatePluginConfigFn func(ctx context.Context, id, configJSON string) error
UpdatePluginUsersFn func(ctx context.Context, id, usersJSON string, allUsers bool) error
UpdatePluginLibrariesFn func(ctx context.Context, id, librariesJSON string, allLibraries, allowWriteAccess bool) error
RescanPluginsFn func(ctx context.Context) error
EnableError error
DisableError error
ConfigError error
ValidateError error
UsersError error
LibrariesError error
RescanError error
EnablePluginCalls []string
DisablePluginCalls []string
UpdatePluginConfigCalls []struct {
ID string
ConfigJSON string
}
ValidatePluginConfigCalls []struct {
ID string
ConfigJSON string
}
UpdatePluginUsersCalls []struct {
ID string
UsersJSON string
AllUsers bool
}
UpdatePluginLibrariesCalls []struct {
ID string
LibrariesJSON string
AllLibraries bool
AllowWriteAccess bool
}
RescanPluginsCalls int
}
func (m *MockPluginManager) EnablePlugin(ctx context.Context, id string) error {
m.EnablePluginCalls = append(m.EnablePluginCalls, id)
if m.EnablePluginFn != nil {
return m.EnablePluginFn(ctx, id)
}
return m.EnableError
}
func (m *MockPluginManager) DisablePlugin(ctx context.Context, id string) error {
m.DisablePluginCalls = append(m.DisablePluginCalls, id)
if m.DisablePluginFn != nil {
return m.DisablePluginFn(ctx, id)
}
return m.DisableError
}
func (m *MockPluginManager) UpdatePluginConfig(ctx context.Context, id, configJSON string) error {
m.UpdatePluginConfigCalls = append(m.UpdatePluginConfigCalls, struct {
ID string
ConfigJSON string
}{ID: id, ConfigJSON: configJSON})
if m.UpdatePluginConfigFn != nil {
return m.UpdatePluginConfigFn(ctx, id, configJSON)
}
return m.ConfigError
}
func (m *MockPluginManager) ValidatePluginConfig(ctx context.Context, id, configJSON string) error {
m.ValidatePluginConfigCalls = append(m.ValidatePluginConfigCalls, struct {
ID string
ConfigJSON string
}{ID: id, ConfigJSON: configJSON})
if m.ValidatePluginConfigFn != nil {
return m.ValidatePluginConfigFn(ctx, id, configJSON)
}
return m.ValidateError
}
func (m *MockPluginManager) UpdatePluginUsers(ctx context.Context, id, usersJSON string, allUsers bool) error {
m.UpdatePluginUsersCalls = append(m.UpdatePluginUsersCalls, struct {
ID string
UsersJSON string
AllUsers bool
}{ID: id, UsersJSON: usersJSON, AllUsers: allUsers})
if m.UpdatePluginUsersFn != nil {
return m.UpdatePluginUsersFn(ctx, id, usersJSON, allUsers)
}
return m.UsersError
}
func (m *MockPluginManager) UpdatePluginLibraries(ctx context.Context, id, librariesJSON string, allLibraries, allowWriteAccess bool) error {
m.UpdatePluginLibrariesCalls = append(m.UpdatePluginLibrariesCalls, struct {
ID string
LibrariesJSON string
AllLibraries bool
AllowWriteAccess bool
}{ID: id, LibrariesJSON: librariesJSON, AllLibraries: allLibraries, AllowWriteAccess: allowWriteAccess})
if m.UpdatePluginLibrariesFn != nil {
return m.UpdatePluginLibrariesFn(ctx, id, librariesJSON, allLibraries, allowWriteAccess)
}
return m.LibrariesError
}
func (m *MockPluginManager) RescanPlugins(ctx context.Context) error {
m.RescanPluginsCalls++
if m.RescanPluginsFn != nil {
return m.RescanPluginsFn(ctx)
}
return m.RescanError
}
func (m *MockPluginManager) UnloadDisabledPlugins(ctx context.Context) {
}