Skip to content

Commit c087c00

Browse files
committed
Add API test for setting next cron time
1 parent a72a2cd commit c087c00

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

test/api_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,3 +275,31 @@ func TestAPIResetNextCronTime(t *testing.T) {
275275
assert.Greater(t, time.Now().Add(3*time.Second), *g2.NextCronTime)
276276
assert.NotEqual(t, g.NextCronTime, g2.NextCronTime)
277277
}
278+
279+
func TestAPISetNextCronTime(t *testing.T) {
280+
saga := genSaga(dtmimp.GetFuncName(), false, false)
281+
saga.Submit()
282+
waitTransProcessed(saga.Gid)
283+
assert.Equal(t, []string{StatusPrepared, StatusSucceed, StatusPrepared, StatusSucceed}, getBranchesStatus(saga.Gid))
284+
assert.Equal(t, StatusSucceed, getTransStatus(saga.Gid))
285+
gid := saga.Gid
286+
287+
s := registry.GetStore()
288+
g := s.FindTransGlobalStore(saga.Gid)
289+
290+
nextCronTime := time.Now().Add(30 * time.Second).UTC()
291+
// set
292+
resp, err := dtmcli.GetRestyClient().R().SetBody(map[string]string{
293+
"gid": saga.Gid,
294+
"next_cron_time": nextCronTime.Format(time.RFC3339),
295+
}).Post(dtmutil.DefaultHTTPServer + "/setNextCronTime")
296+
assert.Nil(t, err)
297+
assert.Equal(t, http.StatusOK, resp.StatusCode())
298+
299+
// after set assert
300+
g2 := s.FindTransGlobalStore(gid)
301+
assert.NotNil(t, g2)
302+
assert.Equal(t, gid, g2.Gid)
303+
assert.Equal(t, nextCronTime.Truncate(time.Second).UTC(), g2.NextCronTime.Truncate(time.Second).UTC())
304+
assert.NotEqual(t, g.NextCronTime, g2.NextCronTime)
305+
}

0 commit comments

Comments
 (0)