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

Function TestLimiter_FormatError

pkg/ingester/limiter_test.go:636–672  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

634}
635
636func TestLimiter_FormatError(t *testing.T) {
637 // Mock the ring
638 ring := &ringCountMock{}
639 ring.On("HealthyInstancesCount").Return(3)
640 ring.On("ZonesCount").Return(1)
641
642 // Mock limits
643 limits := validation.NewOverrides(validation.Limits{
644 MaxGlobalSeriesPerUser: 100,
645 MaxGlobalNativeHistogramSeriesPerUser: 100,
646 MaxGlobalSeriesPerMetric: 20,
647 MaxGlobalMetricsWithMetadataPerUser: 10,
648 MaxGlobalMetadataPerMetric: 3,
649 }, nil)
650
651 limiter := NewLimiter(limits, ring, util.ShardingStrategyDefault, true, 3, false, "please contact administrator to raise it")
652 lbls := labels.FromStrings(labels.MetricName, "testMetric")
653
654 actual := limiter.FormatError("user-1", errMaxSeriesPerUserLimitExceeded, lbls)
655 assert.EqualError(t, actual, "per-user series limit of 100 exceeded, please contact administrator to raise it (local limit: 0 global limit: 100 actual local limit: 100)")
656
657 actual = limiter.FormatError("user-1", errMaxNativeHistogramSeriesPerUserLimitExceeded, lbls)
658 assert.EqualError(t, actual, "per-user native histogram series limit of 100 exceeded, please contact administrator to raise it (local limit: 0 global limit: 100 actual local limit: 100)")
659
660 actual = limiter.FormatError("user-1", errMaxSeriesPerMetricLimitExceeded, lbls)
661 assert.EqualError(t, actual, "per-metric series limit of 20 exceeded for metric testMetric, please contact administrator to raise it (local limit: 0 global limit: 20 actual local limit: 20)")
662
663 actual = limiter.FormatError("user-1", errMaxMetadataPerUserLimitExceeded, lbls)
664 assert.EqualError(t, actual, "per-user metric metadata limit of 10 exceeded, please contact administrator to raise it (local limit: 0 global limit: 10 actual local limit: 10)")
665
666 actual = limiter.FormatError("user-1", errMaxMetadataPerMetricLimitExceeded, lbls)
667 assert.EqualError(t, actual, "per-metric metadata limit of 3 exceeded for metric testMetric, please contact administrator to raise it (local limit: 0 global limit: 3 actual local limit: 3)")
668
669 input := errors.New("unknown error")
670 actual = limiter.FormatError("user-1", input, lbls)
671 assert.Equal(t, input, actual)
672}
673
674func TestLimiter_minNonZero(t *testing.T) {
675 t.Parallel()

Callers

nothing calls this directly

Calls 4

FormatErrorMethod · 0.95
NewOverridesFunction · 0.92
NewLimiterFunction · 0.85
EqualMethod · 0.65

Tested by

no test coverage detected