@@ -19,6 +19,7 @@ import (
19
19
"time"
20
20
21
21
. "github.com/pingcap/check"
22
+ "github.com/pingcap/failpoint"
22
23
"github.com/pingcap/kvproto/pkg/metapb"
23
24
"github.com/tikv/pd/server"
24
25
_ "github.com/tikv/pd/server/schedulers"
@@ -56,16 +57,27 @@ func (s *testScheduleSuite) TestOriginAPI(c *C) {
56
57
body , err := json .Marshal (input )
57
58
c .Assert (err , IsNil )
58
59
c .Assert (postJSON (testDialClient , addURL , body ), IsNil )
60
+ rc := s .svr .GetRaftCluster ()
61
+ c .Assert (rc .GetSchedulers (), HasLen , 1 )
62
+ resp := make (map [string ]interface {})
63
+ listURL := fmt .Sprintf ("%s%s%s/%s/list" , s .svr .GetAddr (), apiPrefix , server .SchedulerConfigHandlerPath , "evict-leader-scheduler" )
64
+ c .Assert (readJSON (testDialClient , listURL , & resp ), IsNil )
65
+ c .Assert (resp ["store-id-ranges" ], HasLen , 1 )
59
66
input1 := make (map [string ]interface {})
60
67
input1 ["name" ] = "evict-leader-scheduler"
61
68
input1 ["store_id" ] = 2
62
69
body , err = json .Marshal (input1 )
63
70
c .Assert (err , IsNil )
71
+ c .Assert (failpoint .Enable ("github.com/tikv/pd/server/schedulers/persistFail" , "return(true)" ), IsNil )
72
+ c .Assert (postJSON (testDialClient , addURL , body ), NotNil )
73
+ c .Assert (rc .GetSchedulers (), HasLen , 1 )
74
+ resp = make (map [string ]interface {})
75
+ c .Assert (readJSON (testDialClient , listURL , & resp ), IsNil )
76
+ c .Assert (resp ["store-id-ranges" ], HasLen , 1 )
77
+ c .Assert (failpoint .Disable ("github.com/tikv/pd/server/schedulers/persistFail" ), IsNil )
64
78
c .Assert (postJSON (testDialClient , addURL , body ), IsNil )
65
- rc := s .svr .GetRaftCluster ()
66
79
c .Assert (rc .GetSchedulers (), HasLen , 1 )
67
- resp := make (map [string ]interface {})
68
- listURL := fmt .Sprintf ("%s%s%s/%s/list" , s .svr .GetAddr (), apiPrefix , server .SchedulerConfigHandlerPath , "evict-leader-scheduler" )
80
+ resp = make (map [string ]interface {})
69
81
c .Assert (readJSON (testDialClient , listURL , & resp ), IsNil )
70
82
c .Assert (resp ["store-id-ranges" ], HasLen , 2 )
71
83
deleteURL := fmt .Sprintf ("%s/%s" , s .urlPrefix , "evict-leader-scheduler-1" )
@@ -76,8 +88,14 @@ func (s *testScheduleSuite) TestOriginAPI(c *C) {
76
88
c .Assert (readJSON (testDialClient , listURL , & resp1 ), IsNil )
77
89
c .Assert (resp1 ["store-id-ranges" ], HasLen , 1 )
78
90
deleteURL = fmt .Sprintf ("%s/%s" , s .urlPrefix , "evict-leader-scheduler-2" )
91
+ c .Assert (failpoint .Enable ("github.com/tikv/pd/server/config/persistFail" , "return(true)" ), IsNil )
79
92
res , err := doDelete (testDialClient , deleteURL )
80
93
c .Assert (err , IsNil )
94
+ c .Assert (res .StatusCode , Equals , 500 )
95
+ c .Assert (rc .GetSchedulers (), HasLen , 1 )
96
+ c .Assert (failpoint .Disable ("github.com/tikv/pd/server/config/persistFail" ), IsNil )
97
+ res , err = doDelete (testDialClient , deleteURL )
98
+ c .Assert (err , IsNil )
81
99
c .Assert (res .StatusCode , Equals , 200 )
82
100
c .Assert (rc .GetSchedulers (), HasLen , 0 )
83
101
resp2 := make (map [string ]interface {})
0 commit comments