milvus/internal/util/componentutil/component_service_test.go
Zhen Ye f65261215b
fix: streaming node health check panic (#36336)
issue: #36335

Signed-off-by: chyezh <chyezh@outlook.com>
2024-09-19 17:11:12 +08:00

42 lines
1.3 KiB
Go

package componentutil
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
"github.com/milvus-io/milvus-proto/go-api/v2/milvuspb"
)
func TestComponentStateService(t *testing.T) {
ctx := context.Background()
s := NewComponentStateService("role")
resp, err := s.GetComponentStates(ctx, &milvuspb.GetComponentStatesRequest{})
assert.NoError(t, err)
assert.Equal(t, commonpb.StateCode_Initializing, resp.State.StateCode)
s.OnInitialized(1)
resp, err = s.GetComponentStates(ctx, &milvuspb.GetComponentStatesRequest{})
assert.NoError(t, err)
assert.Equal(t, commonpb.StateCode_Healthy, resp.State.StateCode)
assert.Equal(t, "role", resp.State.Role)
assert.Equal(t, int64(1), resp.State.NodeID)
s.OnAbnormal()
resp, err = s.GetComponentStates(ctx, &milvuspb.GetComponentStatesRequest{})
assert.NoError(t, err)
assert.Equal(t, commonpb.StateCode_Abnormal, resp.State.StateCode)
s.OnHealthy()
resp, err = s.GetComponentStates(ctx, &milvuspb.GetComponentStatesRequest{})
assert.NoError(t, err)
assert.Equal(t, commonpb.StateCode_Healthy, resp.State.StateCode)
s.OnStopping()
resp, err = s.GetComponentStates(ctx, &milvuspb.GetComponentStatesRequest{})
assert.NoError(t, err)
assert.Equal(t, commonpb.StateCode_Stopping, resp.State.StateCode)
}