mirror of https://github.com/milvus-io/milvus.git
improve code coverage for datanode
improve code coverage for collection_replica_test.go Signed-off-by: yudong.cai <yudong.cai@zilliz.com>pull/4973/head^2
parent
dc7db73251
commit
a2041abab4
|
@ -129,12 +129,18 @@ func TestReplica_Segment(t *testing.T) {
|
|||
|
||||
err = replica.setIsFlushed(0)
|
||||
assert.NoError(t, err)
|
||||
err = replica.setStartPosition(0, &internalpb.MsgPosition{})
|
||||
assert.NoError(t, err)
|
||||
err = replica.setEndPosition(0, &internalpb.MsgPosition{})
|
||||
assert.NoError(t, err)
|
||||
update, err = replica.getSegmentStatisticsUpdates(0)
|
||||
assert.NoError(t, err)
|
||||
assert.Nil(t, update.StartPosition)
|
||||
assert.NotNil(t, update.EndPosition)
|
||||
|
||||
err = replica.removeSegment(0)
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, replica.hasSegment(0))
|
||||
})
|
||||
|
||||
t.Run("Test errors", func(t *testing.T) {
|
||||
|
@ -145,6 +151,17 @@ func TestReplica_Segment(t *testing.T) {
|
|||
assert.Error(t, err)
|
||||
assert.Nil(t, seg)
|
||||
|
||||
err = replica.setIsFlushed(0)
|
||||
assert.Error(t, err)
|
||||
err = replica.setStartPosition(0, &internalpb.MsgPosition{})
|
||||
assert.Error(t, err)
|
||||
err = replica.setStartPosition(0, nil)
|
||||
assert.Error(t, err)
|
||||
err = replica.setEndPosition(0, &internalpb.MsgPosition{})
|
||||
assert.Error(t, err)
|
||||
err = replica.setEndPosition(0, nil)
|
||||
assert.Error(t, err)
|
||||
|
||||
err = replica.updateStatistics(0, 0)
|
||||
assert.Error(t, err)
|
||||
|
||||
|
|
|
@ -130,7 +130,6 @@ func (node *DataNode) Init() error {
|
|||
default:
|
||||
return fmt.Errorf("Invalid key: %v", kv.Key)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
replica := newReplica()
|
||||
|
@ -140,11 +139,9 @@ func (node *DataNode) Init() error {
|
|||
chanSize := 100
|
||||
flushChan := make(chan *flushMsg, chanSize)
|
||||
node.flushChan = flushChan
|
||||
|
||||
node.dataSyncService = newDataSyncService(node.ctx, flushChan, replica, alloc, node.msFactory)
|
||||
node.dataSyncService.init()
|
||||
node.metaService = newMetaService(node.ctx, replica, node.masterService)
|
||||
|
||||
node.replica = replica
|
||||
|
||||
return nil
|
||||
|
@ -167,7 +164,6 @@ func (node *DataNode) WatchDmChannels(ctx context.Context, in *datapb.WatchDmCha
|
|||
}
|
||||
|
||||
switch {
|
||||
|
||||
case node.State.Load() != internalpb.StateCode_Initializing:
|
||||
status.Reason = fmt.Sprintf("DataNode %d not initializing!", node.NodeID)
|
||||
return status, errors.New(status.GetReason())
|
||||
|
|
|
@ -7,46 +7,63 @@ import (
|
|||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
const (
|
||||
collectionID0 = UniqueID(0)
|
||||
collectionID1 = UniqueID(1)
|
||||
collectionName0 = "collection_0"
|
||||
collectionName1 = "collection_1"
|
||||
)
|
||||
|
||||
func TestMetaService_All(t *testing.T) {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
replica := newReplica()
|
||||
mFactory := &MasterServiceFactory{}
|
||||
mFactory.setCollectionID(0)
|
||||
mFactory.setCollectionName("a-collection")
|
||||
metaService := newMetaService(ctx, replica, mFactory)
|
||||
mFactory.setCollectionID(collectionID0)
|
||||
mFactory.setCollectionName(collectionName0)
|
||||
ms := newMetaService(ctx, replica, mFactory)
|
||||
|
||||
t.Run("Test getCollectionNames", func(t *testing.T) {
|
||||
names, err := metaService.getCollectionNames(ctx)
|
||||
names, err := ms.getCollectionNames(ctx)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, 1, len(names))
|
||||
assert.Equal(t, "a-collection", names[0])
|
||||
assert.Equal(t, collectionName0, names[0])
|
||||
})
|
||||
|
||||
t.Run("Test createCollection", func(t *testing.T) {
|
||||
hasColletion := metaService.replica.hasCollection(0)
|
||||
hasColletion := ms.replica.hasCollection(collectionID0)
|
||||
assert.False(t, hasColletion)
|
||||
|
||||
err := metaService.createCollection(ctx, "a-collection")
|
||||
err := ms.createCollection(ctx, collectionName0)
|
||||
assert.NoError(t, err)
|
||||
hasColletion = metaService.replica.hasCollection(0)
|
||||
hasColletion = ms.replica.hasCollection(collectionID0)
|
||||
assert.True(t, hasColletion)
|
||||
})
|
||||
|
||||
t.Run("Test loadCollections", func(t *testing.T) {
|
||||
hasColletion := metaService.replica.hasCollection(1)
|
||||
hasColletion := ms.replica.hasCollection(collectionID1)
|
||||
assert.False(t, hasColletion)
|
||||
|
||||
mFactory.setCollectionID(1)
|
||||
mFactory.setCollectionName("a-collection-1")
|
||||
err := metaService.loadCollections(ctx)
|
||||
mFactory.setCollectionName(collectionName1)
|
||||
err := ms.loadCollections(ctx)
|
||||
assert.NoError(t, err)
|
||||
|
||||
hasColletion = metaService.replica.hasCollection(1)
|
||||
hasColletion = ms.replica.hasCollection(collectionID0)
|
||||
assert.True(t, hasColletion)
|
||||
hasColletion = metaService.replica.hasCollection(0)
|
||||
hasColletion = ms.replica.hasCollection(collectionID1)
|
||||
assert.True(t, hasColletion)
|
||||
})
|
||||
|
||||
t.Run("Test Init", func(t *testing.T) {
|
||||
ms1 := newMetaService(ctx, replica, mFactory)
|
||||
ms1.init()
|
||||
})
|
||||
|
||||
t.Run("Test printCollectionStruct", func(t *testing.T) {
|
||||
mf := &MetaFactory{}
|
||||
collectionMeta := mf.CollectionMetaFactory(collectionID0, collectionName0)
|
||||
printCollectionStruct(collectionMeta)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -114,4 +114,8 @@ func TestParamTable_DataNode(t *testing.T) {
|
|||
log.Println("MinioBucketName:", name)
|
||||
})
|
||||
|
||||
t.Run("Test sliceIndex", func(t *testing.T) {
|
||||
idx := Params.sliceIndex()
|
||||
log.Println("sliceIndex:", idx)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue