// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package metricsutil import ( "testing" "time" ) func TestTTLBucket_Lookup(t *testing.T) { testCases := []struct { Input time.Duration Expected string }{ {30 * time.Second, "1m"}, {0 * time.Second, "1m"}, {2 * time.Hour, "2h"}, {2*time.Hour - time.Second, "2h"}, {2*time.Hour + time.Second, "1d"}, {30 * 24 * time.Hour, "30d"}, {31 * 24 * time.Hour, "+Inf"}, } for _, tc := range testCases { bucket := TTLBucket(tc.Input) if bucket != tc.Expected { t.Errorf("Expected %q, got %q for duration %v.", tc.Expected, bucket, tc.Input) } } }