github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/querier/queryrange/queryrangebase/step_align_test.go (about) 1 package queryrangebase 2 3 import ( 4 "context" 5 "strconv" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestStepAlign(t *testing.T) { 12 for i, tc := range []struct { 13 input, expected *PrometheusRequest 14 }{ 15 { 16 input: &PrometheusRequest{ 17 Start: 0, 18 End: 100, 19 Step: 10, 20 }, 21 expected: &PrometheusRequest{ 22 Start: 0, 23 End: 100, 24 Step: 10, 25 }, 26 }, 27 28 { 29 input: &PrometheusRequest{ 30 Start: 2, 31 End: 102, 32 Step: 10, 33 }, 34 expected: &PrometheusRequest{ 35 Start: 0, 36 End: 100, 37 Step: 10, 38 }, 39 }, 40 } { 41 t.Run(strconv.Itoa(i), func(t *testing.T) { 42 var result *PrometheusRequest 43 s := stepAlign{ 44 next: HandlerFunc(func(_ context.Context, req Request) (Response, error) { 45 result = req.(*PrometheusRequest) 46 return nil, nil 47 }), 48 } 49 _, err := s.Do(context.Background(), tc.input) 50 require.NoError(t, err) 51 require.Equal(t, tc.expected, result) 52 }) 53 } 54 }