Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
Signed-off-by: disksing <i@disksing.com>
  • Loading branch information
disksing authored and ti-chi-bot committed Nov 24, 2021
1 parent b414fcf commit 37639a4
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions server/statistics/store_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Copyright 2021 TiKV Project Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package statistics

import (
"time"

. "github.com/pingcap/check"
"github.com/pingcap/kvproto/pkg/metapb"
"github.com/pingcap/kvproto/pkg/pdpb"
"github.com/tikv/pd/server/core"
)

var _ = Suite(&testStoreSuite{})

type testStoreSuite struct{}

func (s *testStoreSuite) TestFilterUnhealtyStore(c *C) {
stats := NewStoresStats()
cluster := core.NewBasicCluster()
for i := uint64(1); i <= 5; i++ {
cluster.PutStore(core.NewStoreInfo(&metapb.Store{Id: i}, core.SetLastHeartbeatTS(time.Now())))
stats.Observe(i, &pdpb.StoreStats{})
}
c.Assert(stats.GetStoresLoads(), HasLen, 5)

cluster.PutStore(cluster.GetStore(1).Clone(core.SetLastHeartbeatTS(time.Now().Add(-24 * time.Hour))))
cluster.PutStore(cluster.GetStore(2).Clone(core.TombstoneStore()))
cluster.DeleteStore(cluster.GetStore(3))

stats.FilterUnhealthyStore(cluster)
loads := stats.GetStoresLoads()
c.Assert(loads, HasLen, 2)
c.Assert(loads[4], NotNil)
c.Assert(loads[5], NotNil)
}

0 comments on commit 37639a4

Please sign in to comment.