package reportv1

import (
	"context"
	"testing"
	"time"
)

func TestReportBoundsReuseQueryOwner(t *testing.T) {
	ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(time.Second))
	defer cancel()
	request := Request{ReportID: "report-1", CanonicalFilters: []byte(`{}`), Limit: 1, Offset: MaxOffset}
	if err := ValidateRequest(ctx, request); err != nil {
		t.Fatalf("ValidateRequest() error = %v", err)
	}
	request.Offset++
	if ValidateRequest(ctx, request) == nil {
		t.Fatal("offset above the existing query bound was accepted")
	}
	request.Offset = 0
	request.ReportID = "report\n1"
	if ValidateRequest(ctx, request) == nil {
		t.Fatal("report identifier with control bytes was accepted")
	}
}
