Browse Source

add test case for reset cron time back

alpha
yedf2 3 years ago
parent
commit
a1a63c9e1e
  1. 2
      helper/test-cover.sh
  2. 55
      test/api_test.go
  3. 39
      test/store_test.go

2
helper/test-cover.sh

@ -9,6 +9,8 @@ for store in redis boltdb mysql postgres; do
echo > profile.out echo > profile.out
fi fi
done done
## for local unit test, you may use following command
# SKIP_MONGO=1 TEST_STORE=redis GOARCH=amd64 go test -v -failfast -count=1 -gcflags=all=-l ./...
# go tool cover -html=coverage.txt # go tool cover -html=coverage.txt

55
test/api_test.go

@ -15,6 +15,7 @@ import (
"github.com/dtm-labs/dtm/client/dtmcli" "github.com/dtm-labs/dtm/client/dtmcli"
"github.com/dtm-labs/dtm/client/dtmcli/dtmimp" "github.com/dtm-labs/dtm/client/dtmcli/dtmimp"
"github.com/dtm-labs/dtm/dtmsvr/storage/registry"
"github.com/dtm-labs/dtm/dtmutil" "github.com/dtm-labs/dtm/dtmutil"
"github.com/dtm-labs/dtm/test/busi" "github.com/dtm-labs/dtm/test/busi"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@ -249,30 +250,30 @@ func TestAPIForceStoppedAbnormal(t *testing.T) {
assert.Equal(t, resp.StatusCode(), http.StatusConflict) assert.Equal(t, resp.StatusCode(), http.StatusConflict)
} }
// func TestAPIResetNextCronTime(t *testing.T) { func TestAPIResetNextCronTime(t *testing.T) {
// saga := genSaga(dtmimp.GetFuncName(), false, false) saga := genSaga(dtmimp.GetFuncName(), false, false)
// saga.Submit() saga.Submit()
// waitTransProcessed(saga.Gid) waitTransProcessed(saga.Gid)
// assert.Equal(t, []string{StatusPrepared, StatusSucceed, StatusPrepared, StatusSucceed}, getBranchesStatus(saga.Gid)) assert.Equal(t, []string{StatusPrepared, StatusSucceed, StatusPrepared, StatusSucceed}, getBranchesStatus(saga.Gid))
// assert.Equal(t, StatusSucceed, getTransStatus(saga.Gid)) assert.Equal(t, StatusSucceed, getTransStatus(saga.Gid))
// gid := saga.Gid gid := saga.Gid
// s := registry.GetStore() s := registry.GetStore()
// g := s.FindTransGlobalStore(saga.Gid) g := s.FindTransGlobalStore(saga.Gid)
// // reset // reset
// resp, err := dtmcli.GetRestyClient().R().SetBody(map[string]string{ resp, err := dtmcli.GetRestyClient().R().SetBody(map[string]string{
// "gid": saga.Gid, "gid": saga.Gid,
// }).Post(dtmutil.DefaultHTTPServer + "/resetNextCronTime") }).Post(dtmutil.DefaultHTTPServer + "/resetNextCronTime")
// assert.Nil(t, err) assert.Nil(t, err)
// assert.Equal(t, resp.StatusCode(), http.StatusOK) assert.Equal(t, resp.StatusCode(), http.StatusOK)
// // after reset assert // after reset assert
// g2 := s.FindTransGlobalStore(gid) g2 := s.FindTransGlobalStore(gid)
// assert.NotNil(t, g2) assert.NotNil(t, g2)
// assert.Equal(t, gid, g2.Gid) assert.Equal(t, gid, g2.Gid)
// assert.Greater(t, time.Now().Add(3*time.Second), *g2.NextCronTime) assert.Greater(t, time.Now().Add(3*time.Second), *g2.NextCronTime)
// assert.Equal(t, g2.UpdateTime, g2.NextCronTime) assert.Equal(t, g2.UpdateTime, g2.NextCronTime)
// assert.NotEqual(t, g.UpdateTime, g2.UpdateTime) assert.NotEqual(t, g.UpdateTime, g2.UpdateTime)
// assert.NotEqual(t, g.NextCronTime, g2.NextCronTime) assert.NotEqual(t, g.NextCronTime, g2.NextCronTime)
// } }

39
test/store_test.go

@ -179,22 +179,23 @@ func TestUpdateBranches(t *testing.T) {
} }
} }
// func TestResetTransGlobalCronTime(t *testing.T) { func TestResetTransGlobalCronTime(t *testing.T) {
// gid := dtmimp.GetFuncName() gid := dtmimp.GetFuncName()
// g, _ := initTransGlobal(gid) g, _ := initTransGlobal(gid)
// s := registry.GetStore() s := registry.GetStore()
// g2 := s.FindTransGlobalStore(gid) g2 := s.FindTransGlobalStore(gid)
// assert.NotNil(t, g2) assert.NotNil(t, g2)
// assert.Equal(t, gid, g2.Gid) assert.Equal(t, gid, g2.Gid)
// s.ResetTransGlobalCronTime(g2) s.ResetTransGlobalCronTime(g2)
// g2 = s.FindTransGlobalStore(gid) g2 = s.FindTransGlobalStore(gid)
// assert.NotNil(t, g2) assert.NotNil(t, g2)
// assert.Equal(t, gid, g2.Gid) assert.Equal(t, gid, g2.Gid)
// assert.Greater(t, time.Now().Add(3*time.Second), *g2.NextCronTime) assert.Greater(t, time.Now().Add(3*time.Second), *g2.NextCronTime)
// assert.Equal(t, g2.UpdateTime, g2.NextCronTime) assert.Equal(t, g2.UpdateTime, g2.NextCronTime)
// assert.NotEqual(t, g.UpdateTime, g2.UpdateTime) assert.NotEqual(t, g.UpdateTime, g2.UpdateTime)
// assert.NotEqual(t, g.NextCronTime, g2.NextCronTime) assert.NotEqual(t, g.NextCronTime, g2.NextCronTime)
// } s.ChangeGlobalStatus(g, "succeed", []string{}, true)
}

Loading…
Cancel
Save