sharded-gotify/database/plugin_test.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))
}