Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/querier/queryrange/queryrangebase/step_align_test.go

55 lines
1.1 KiB

package queryrangebase
import (
"context"
"strconv"
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestStepAlign(t *testing.T) {
for i, tc := range []struct {
input, expected *PrometheusRequest
}{
{
input: &PrometheusRequest{
Start: time.UnixMilli(0),
End: time.UnixMilli(100),
Step: 10,
},
expected: &PrometheusRequest{
Start: time.UnixMilli(0),
End: time.UnixMilli(100),
Step: 10,
},
},
{
input: &PrometheusRequest{
Start: time.UnixMilli(2),
End: time.UnixMilli(102),
Step: 10,
},
expected: &PrometheusRequest{
Start: time.UnixMilli(0),
End: time.UnixMilli(100),
Step: 10,
},
},
} {
t.Run(strconv.Itoa(i), func(t *testing.T) {
var result *PrometheusRequest
s := stepAlign{
next: HandlerFunc(func(_ context.Context, req Request) (Response, error) {
result = req.(*PrometheusRequest)
return nil, nil
}),
}
_, err := s.Do(context.Background(), tc.input)
require.NoError(t, err)
require.Equal(t, tc.expected, result)
})
}
}