MCPcopy Create free account
hub / github.com/cortexproject/cortex / TestPush_EmptyLabels

Function TestPush_EmptyLabels

pkg/distributor/distributor_test.go:977–1038  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

975}
976
977func TestPush_EmptyLabels(t *testing.T) {
978 t.Parallel()
979
980 var limits validation.Limits
981 flagext.DefaultValues(&limits)
982
983 limits.IngestionRate = math.MaxFloat64
984
985 dists, _, _, _ := prepare(t, prepConfig{
986 numDistributors: 1,
987 numIngesters: 3,
988 happyIngesters: 3,
989 })
990
991 ctx := user.InjectOrgID(context.Background(), "user")
992
993 d := dists[0]
994 ts := time.Now().UnixMilli()
995
996 tests := []struct {
997 desc string
998 request *cortexpb.WriteRequest
999 isErr bool
1000 }{
1001 {
1002 desc: "1 series, a series has empty labels",
1003 request: &cortexpb.WriteRequest{
1004 Timeseries: []cortexpb.PreallocTimeseries{
1005 makeWriteRequestTimeseries(
1006 []cortexpb.LabelAdapter{}, ts, 3, false),
1007 },
1008 },
1009 isErr: true,
1010 },
1011 {
1012 desc: "2 series, one series has empty labels",
1013 request: &cortexpb.WriteRequest{
1014 Timeseries: []cortexpb.PreallocTimeseries{
1015 makeWriteRequestTimeseries(
1016 []cortexpb.LabelAdapter{}, ts, 3, false),
1017 makeWriteRequestTimeseries(
1018 []cortexpb.LabelAdapter{
1019 {Name: model.MetricNameLabel, Value: "foo"},
1020 {Name: "bar", Value: "baz"},
1021 }, ts, 3, false),
1022 },
1023 },
1024 isErr: true,
1025 },
1026 }
1027
1028 for _, test := range tests {
1029 t.Run(test.desc, func(t *testing.T) {
1030 _, err := d.Push(ctx, test.request)
1031 require.Error(t, err)
1032 s, ok := status.FromError(err)
1033 require.True(t, ok)
1034 require.Equal(t, codes.Code(400), s.Code())

Callers

nothing calls this directly

Calls 8

DefaultValuesFunction · 0.92
MessageMethod · 0.80
prepareFunction · 0.70
RunMethod · 0.65
PushMethod · 0.65
EqualMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected