MCPcopy
hub / github.com/gotify/server / SetupSuite

Method SetupSuite

plugin/manager_test.go:50–86  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

48}
49
50func (s *ManagerSuite) SetupSuite() {
51 s.tmpDir = test.NewTmpDir("gotify_managersuite")
52
53 test.WithWd(path.Join(test.GetProjectDir(), "./plugin/example/echo"), func(origWd string) {
54 exec.Command("go", "get", "-d").Run()
55 goBuildFlags := []string{"build", "-buildmode=plugin", "-o=" + s.tmpDir.Path("echo.so")}
56
57 goBuildFlags = append(goBuildFlags, extraGoBuildFlags...)
58
59 cmd := exec.Command("go", goBuildFlags...)
60 cmd.Stderr = os.Stderr
61 assert.Nil(s.T(), cmd.Run())
62 })
63
64 s.db = testdb.NewDBWithDefaultUser(s.T())
65 s.makeDanglingPluginConf(1)
66
67 e := gin.New()
68 manager, err := NewManager(s.db.GormDatabase, s.tmpDir.Path(), e.Group("/plugin/:id/custom/"), s)
69 s.e = e
70 assert.Nil(s.T(), err)
71
72 p := new(mock.Plugin)
73 assert.Nil(s.T(), manager.LoadPlugin(p))
74 assert.Nil(s.T(), manager.initializeSingleUserPlugin(compat.UserContext{
75 ID: 1,
76 Admin: true,
77 }, p))
78
79 s.manager = manager
80 s.msgReceiver = make(chan MessageWithUserID)
81
82 assert.Contains(s.T(), s.manager.plugins, examplePluginPath)
83 if pluginConf, err := s.db.GetPluginConfByUserAndPath(1, examplePluginPath); assert.NoError(s.T(), err) {
84 assert.NotNil(s.T(), pluginConf)
85 }
86}
87
88func (s *ManagerSuite) TearDownSuite() {
89 assert.Nil(s.T(), s.tmpDir.Clean())

Callers

nothing calls this directly

Calls 10

LoadPluginMethod · 0.95
NewTmpDirFunction · 0.92
WithWdFunction · 0.92
GetProjectDirFunction · 0.92
NewDBWithDefaultUserFunction · 0.92
NewManagerFunction · 0.85
PathMethod · 0.80

Tested by

no test coverage detected