@@ -29,6 +29,7 @@ type PluginSuite struct {
2929 suite.Suite
3030 db * testdb.Database
3131 a * PluginAPI
32+ u * UserAPI
3233 ctx * gin.Context
3334 recorder * httptest.ResponseRecorder
3435 manager * plugin.Manager
@@ -39,19 +40,20 @@ func (s *PluginSuite) BeforeTest(suiteName, testName string) {
3940 mode .Set (mode .TestDev )
4041 s .db = testdb .NewDB (s .T ())
4142 s .resetRecorder ()
42- manager , err := plugin .NewManager (s .db , "" , nil , s )
43+ manager , err := plugin .NewManager (s .db . GormDatabase , "" , nil , s )
4344 assert .Nil (s .T (), err )
4445 s .manager = manager
4546 withURL (s .ctx , "http" , "example.com" )
4647 s .a = & PluginAPI {DB : s .db , Manager : manager , Notifier : s }
48+ s .u = & UserAPI {DB : s .db .GormDatabase , UserChangeNotifier : & UserChangeNotifier {}}
4749
4850 mockPluginCompat := new (mock.Plugin )
4951 assert .Nil (s .T (), s .manager .LoadPlugin (mockPluginCompat ))
5052
51- s .db .User ( 1 )
52- assert .Nil (s .T (), s .manager .InitializeForUserID (1 ))
53- s .db .User ( 2 )
54- assert .Nil (s .T (), s .manager .InitializeForUserID (2 ))
53+ s .db .NewUserWithNameAdmin ( 1 , "user1" , true )
54+ assert .Nil (s .T (), s .manager .InitializeForUserID (s . db . GormDatabase , 1 ))
55+ s .db .NewUserWithNameAdmin ( 2 , "user2" , true )
56+ assert .Nil (s .T (), s .manager .InitializeForUserID (s . db . GormDatabase , 2 ))
5557
5658 s .db .CreatePluginConf (& model.PluginConf {
5759 UserID : 1 ,
@@ -97,6 +99,31 @@ func (s *PluginSuite) Test_GetPlugins() {
9799 assert .False (s .T (), pluginConfs [0 ].Enabled , "Plugins should be disabled by default" )
98100}
99101
102+ func (s * PluginSuite ) Test_DeleteUser () {
103+ test .WithUser (s .ctx , 1 )
104+
105+ s .ctx .Request = httptest .NewRequest ("POST" , "/plugin/1/enable" , nil )
106+ s .ctx .Params = gin.Params {{Key : "id" , Value : "1" }}
107+ s .a .EnablePlugin (s .ctx )
108+
109+ assert .Equal (s .T (), 200 , s .recorder .Code )
110+
111+ if pluginConf , err := s .db .GetPluginConfByUserAndPath (1 , mock .ModulePath ); assert .NoError (s .T (), err ) {
112+ assert .True (s .T (), pluginConf .Enabled )
113+ }
114+ s .resetRecorder ()
115+
116+ s .ctx .Request = httptest .NewRequest ("DELETE" , "/user/1" , nil )
117+ s .ctx .Params = gin.Params {{Key : "id" , Value : "1" }}
118+ s .u .DeleteUserByID (s .ctx )
119+
120+ assert .Equal (s .T (), 200 , s .recorder .Code )
121+
122+ user , err := s .db .GetUserByID (1 )
123+ assert .NoError (s .T (), err )
124+ assert .Nil (s .T (), user )
125+ }
126+
100127func (s * PluginSuite ) Test_EnableDisablePlugin () {
101128 {
102129 test .WithUser (s .ctx , 1 )
@@ -161,7 +188,7 @@ func (s *PluginSuite) Test_EnableDisablePlugin() {
161188
162189func (s * PluginSuite ) Test_EnableDisablePlugin_EnableReturnsError_expect500 () {
163190 s .db .User (16 )
164- assert .Nil (s .T (), s .manager .InitializeForUserID (16 ))
191+ assert .Nil (s .T (), s .manager .InitializeForUserID (s . db . GormDatabase , 16 ))
165192 mock .ReturnErrorOnEnableForUser (16 , errors .New ("test error" ))
166193 conf , err := s .db .GetPluginConfByUserAndPath (16 , mock .ModulePath )
167194 assert .NoError (s .T (), err )
@@ -183,7 +210,7 @@ func (s *PluginSuite) Test_EnableDisablePlugin_EnableReturnsError_expect500() {
183210
184211func (s * PluginSuite ) Test_EnableDisablePlugin_DisableReturnsError_expect500 () {
185212 s .db .User (17 )
186- assert .Nil (s .T (), s .manager .InitializeForUserID (17 ))
213+ assert .Nil (s .T (), s .manager .InitializeForUserID (s . db . GormDatabase , 17 ))
187214 mock .ReturnErrorOnDisableForUser (17 , errors .New ("test error" ))
188215 conf , err := s .db .GetPluginConfByUserAndPath (17 , mock .ModulePath )
189216 assert .NoError (s .T (), err )
@@ -291,7 +318,7 @@ func (s *PluginSuite) Test_GetDisplay() {
291318 assert .NoError (s .T (), err )
292319 inst , err := s .manager .Instance (conf .ID )
293320 assert .Nil (s .T (), err )
294- mockInst := inst .(* mock.PluginInstance )
321+ mockInst := inst .Instance (). (* mock.PluginInstance )
295322
296323 mockInst .DisplayString = "test string"
297324
@@ -312,7 +339,7 @@ func (s *PluginSuite) Test_GetDisplay_NotImplemented_expectEmptyString() {
312339 assert .NoError (s .T (), err )
313340 inst , err := s .manager .Instance (conf .ID )
314341 assert .Nil (s .T (), err )
315- mockInst := inst .(* mock.PluginInstance )
342+ mockInst := inst .Instance (). (* mock.PluginInstance )
316343
317344 mockInst .SetCapability (compat .Displayer , false )
318345 defer mockInst .SetCapability (compat .Displayer , true )
@@ -334,7 +361,7 @@ func (s *PluginSuite) Test_GetDisplay_incorrectUser_expectNotFound() {
334361 assert .NoError (s .T (), err )
335362 inst , err := s .manager .Instance (conf .ID )
336363 assert .Nil (s .T (), err )
337- mockInst := inst .(* mock.PluginInstance )
364+ mockInst := inst .Instance (). (* mock.PluginInstance )
338365
339366 mockInst .DisplayString = "test string"
340367
@@ -380,7 +407,7 @@ func (s *PluginSuite) Test_GetConfig() {
380407 assert .NoError (s .T (), err )
381408 inst , err := s .manager .Instance (conf .ID )
382409 assert .Nil (s .T (), err )
383- mockInst := inst .(* mock.PluginInstance )
410+ mockInst := inst .Instance (). (* mock.PluginInstance )
384411
385412 assert .Equal (s .T (), mockInst .DefaultConfig (), mockInst .Config , "Initial config should be default config" )
386413 {
@@ -402,7 +429,7 @@ func (s *PluginSuite) Test_GetConfg_notImplemeted_expect400() {
402429 assert .NoError (s .T (), err )
403430 inst , err := s .manager .Instance (conf .ID )
404431 assert .Nil (s .T (), err )
405- mockInst := inst .(* mock.PluginInstance )
432+ mockInst := inst .Instance (). (* mock.PluginInstance )
406433
407434 mockInst .SetCapability (compat .Configurer , false )
408435 defer mockInst .SetCapability (compat .Configurer , true )
@@ -464,7 +491,7 @@ func (s *PluginSuite) Test_UpdateConfig() {
464491 assert .NoError (s .T (), err )
465492 inst , err := s .manager .Instance (conf .ID )
466493 assert .Nil (s .T (), err )
467- mockInst := inst .(* mock.PluginInstance )
494+ mockInst := inst .Instance (). (* mock.PluginInstance )
468495
469496 newConfig := & mock.PluginConfig {
470497 TestKey : "test__new__config" ,
@@ -499,7 +526,7 @@ func (s *PluginSuite) Test_UpdateConfig_invalidConfig_expect400() {
499526 assert .NoError (s .T (), err )
500527 inst , err := s .manager .Instance (conf .ID )
501528 assert .Nil (s .T (), err )
502- mockInst := inst .(* mock.PluginInstance )
529+ mockInst := inst .Instance (). (* mock.PluginInstance )
503530 origConfig := mockInst .Config
504531
505532 newConfig := & mock.PluginConfig {
@@ -536,7 +563,7 @@ func (s *PluginSuite) Test_UpdateConfig_malformedYAML_expect400() {
536563 assert .NoError (s .T (), err )
537564 inst , err := s .manager .Instance (conf .ID )
538565 assert .Nil (s .T (), err )
539- mockInst := inst .(* mock.PluginInstance )
566+ mockInst := inst .Instance (). (* mock.PluginInstance )
540567 origConfig := mockInst .Config
541568
542569 newConfigYAML := []byte (`--- "rg e""` )
@@ -568,7 +595,7 @@ func (s *PluginSuite) Test_UpdateConfig_ioError_expect500() {
568595 assert .NoError (s .T (), err )
569596 inst , err := s .manager .Instance (conf .ID )
570597 assert .Nil (s .T (), err )
571- mockInst := inst .(* mock.PluginInstance )
598+ mockInst := inst .Instance (). (* mock.PluginInstance )
572599 origConfig := mockInst .Config
573600
574601 {
@@ -598,7 +625,7 @@ func (s *PluginSuite) Test_UpdateConfig_notImplemented_expect400() {
598625 assert .NoError (s .T (), err )
599626 inst , err := s .manager .Instance (conf .ID )
600627 assert .Nil (s .T (), err )
601- mockInst := inst .(* mock.PluginInstance )
628+ mockInst := inst .Instance (). (* mock.PluginInstance )
602629
603630 newConfig := & mock.PluginConfig {
604631 TestKey : "test__new__config" ,
@@ -626,7 +653,7 @@ func (s *PluginSuite) Test_UpdateConfig_incorrectUser_expectNotFound() {
626653 assert .NoError (s .T (), err )
627654 inst , err := s .manager .Instance (conf .ID )
628655 assert .Nil (s .T (), err )
629- mockInst := inst .(* mock.PluginInstance )
656+ mockInst := inst .Instance (). (* mock.PluginInstance )
630657 origConfig := mockInst .Config
631658
632659 newConfig := & mock.PluginConfig {
0 commit comments