@@ -1518,6 +1518,40 @@ func TestQuerier_DetectedLabels(t *testing.T) {
1518
1518
}
1519
1519
})
1520
1520
1521
+ t .Run ("label is not present when the values are nil" , func (t * testing.T ) {
1522
+ ingesterClient := newQuerierClientMock ()
1523
+ storeClient := newStoreMock ()
1524
+
1525
+ ingesterClient .On ("GetDetectedLabels" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).
1526
+ Return (& logproto.LabelToValuesResponse {}, nil )
1527
+ storeClient .On ("LabelNamesForMetricName" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).
1528
+ Return ([]string {"storeLabel1" , "pod" }, nil ).
1529
+ On ("LabelValuesForMetricName" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything , "storeLabel1" , mock .Anything ).
1530
+ Return ([]string {"val1" , "val2" }, nil ).
1531
+ On ("LabelValuesForMetricName" , mock .Anything , mock .Anything , mock .Anything , mock .Anything , mock .Anything , "pod" , mock .Anything ).
1532
+ Return (nil , nil )
1533
+
1534
+ querier , err := newQuerier (
1535
+ conf ,
1536
+ mockIngesterClientConfig (),
1537
+ newIngesterClientMockFactory (ingesterClient ),
1538
+ mockReadRingWithOneActiveIngester (),
1539
+ & mockDeleteGettter {},
1540
+ storeClient , limits )
1541
+ require .NoError (t , err )
1542
+
1543
+ resp , err := querier .DetectedLabels (ctx , & request )
1544
+ require .NoError (t , err )
1545
+
1546
+ detectedLabels := resp .DetectedLabels
1547
+ assert .Len (t , detectedLabels , 1 )
1548
+ expectedCardinality := map [string ]uint64 {"storeLabel1" : 2 }
1549
+ for _ , d := range detectedLabels {
1550
+ card := expectedCardinality [d .Label ]
1551
+ assert .Equal (t , d .Cardinality , card , "Expected cardinality mismatch for: " , d .Label )
1552
+ }
1553
+ })
1554
+
1521
1555
t .Run ("returns a response when store data is empty" , func (t * testing.T ) {
1522
1556
ingesterResponse := logproto.LabelToValuesResponse {Labels : map [string ]* logproto.UniqueLabelValues {
1523
1557
"cluster" : {Values : []string {"ingester" }},
0 commit comments