41 lines
1.4 KiB
Go
41 lines
1.4 KiB
Go
package database
|
|
|
|
import (
|
|
"github.com/gotify/server/model"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
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)
|
|
assert.Equal(s.T(), "Pabc", s.db.GetPluginConfByUserAndPath(1, "github.com/gotify/example-plugin").Token)
|
|
assert.Equal(s.T(), true, s.db.GetPluginConfByToken("Pabc").Enabled)
|
|
assert.Equal(s.T(), "Pabc", s.db.GetPluginConfByApplicationID(2).Token)
|
|
assert.Equal(s.T(), "github.com/gotify/example-plugin", s.db.GetPluginConfByID(1).ModulePath)
|
|
|
|
assert.Nil(s.T(), s.db.GetPluginConfByToken("Pnotexist"))
|
|
assert.Nil(s.T(), s.db.GetPluginConfByID(12))
|
|
assert.Nil(s.T(), s.db.GetPluginConfByUserAndPath(1, "not/exist"))
|
|
assert.Nil(s.T(), s.db.GetPluginConfByApplicationID(99))
|
|
|
|
assert.Len(s.T(), s.db.GetPluginConfByUser(1), 1)
|
|
assert.Len(s.T(), s.db.GetPluginConfByUser(0), 0)
|
|
|
|
testConf := `{"test_config_key":"hello"}`
|
|
plugin.Enabled = false
|
|
plugin.Config = []byte(testConf)
|
|
assert.Nil(s.T(), s.db.UpdatePluginConf(&plugin))
|
|
assert.Equal(s.T(), false, s.db.GetPluginConfByToken("Pabc").Enabled)
|
|
assert.Equal(s.T(), testConf, string(s.db.GetPluginConfByToken("Pabc").Config))
|
|
}
|