72 lines
2.1 KiB
Go
72 lines
2.1 KiB
Go
package database
|
|
|
|
import (
|
|
"github.com/gotify/server/model"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func (s *DatabaseSuite) TestPluginConf() {
|
|
plugin := model.PluginConf{
|
|
ModulePath: "github.com/gotify/example-plugin",
|
|
Token: "Pabc",
|
|
UserID: 1,
|
|
Enabled: true,
|
|
Config: nil,
|
|
ApplicationID: 2,
|
|
}
|
|
|
|
assert.Nil(s.T(), s.db.CreatePluginConf(&plugin))
|
|
|
|
assert.Equal(s.T(), uint(1), plugin.ID)
|
|
pluginConf, err := s.db.GetPluginConfByUserAndPath(1, "github.com/gotify/example-plugin")
|
|
require.NoError(s.T(), err)
|
|
assert.Equal(s.T(), "Pabc", pluginConf.Token)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByToken("Pabc")
|
|
require.NoError(s.T(), err)
|
|
assert.Equal(s.T(), true, pluginConf.Enabled)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByApplicationID(2)
|
|
require.NoError(s.T(), err)
|
|
assert.Equal(s.T(), "Pabc", pluginConf.Token)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByID(1)
|
|
require.NoError(s.T(), err)
|
|
assert.Equal(s.T(), "github.com/gotify/example-plugin", pluginConf.ModulePath)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByToken("Pnotexist")
|
|
require.NoError(s.T(), err)
|
|
assert.Nil(s.T(), pluginConf)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByID(12)
|
|
require.NoError(s.T(), err)
|
|
assert.Nil(s.T(), pluginConf)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByUserAndPath(1, "not/exist")
|
|
require.NoError(s.T(), err)
|
|
assert.Nil(s.T(), pluginConf)
|
|
|
|
pluginConf, err = s.db.GetPluginConfByApplicationID(99)
|
|
require.NoError(s.T(), err)
|
|
assert.Nil(s.T(), pluginConf)
|
|
|
|
pluginConfs, err := s.db.GetPluginConfByUser(1)
|
|
require.NoError(s.T(), err)
|
|
assert.Len(s.T(), pluginConfs, 1)
|
|
|
|
pluginConfs, err = s.db.GetPluginConfByUser(0)
|
|
require.NoError(s.T(), err)
|
|
assert.Len(s.T(), pluginConfs, 0)
|
|
|
|
testConf := `{"test_config_key":"hello"}`
|
|
plugin.Enabled = false
|
|
plugin.Config = []byte(testConf)
|
|
assert.Nil(s.T(), s.db.UpdatePluginConf(&plugin))
|
|
pluginConf, err = s.db.GetPluginConfByToken("Pabc")
|
|
require.NoError(s.T(), err)
|
|
assert.Equal(s.T(), false, pluginConf.Enabled)
|
|
assert.Equal(s.T(), testConf, string(pluginConf.Config))
|
|
|
|
}
|