| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package asset
- import (
- "errors"
- "testing"
- "time"
- "github.com/opencost/opencost/core/pkg/autocomplete"
- coreasset "github.com/opencost/opencost/core/pkg/autocomplete/asset"
- "github.com/opencost/opencost/core/pkg/opencost"
- )
- func TestNormalizeAssetAutocompleteRequest(t *testing.T) {
- start := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
- end := start.Add(24 * time.Hour)
- req := &autocomplete.Request{
- TenantID: "t1",
- Field: "assettype",
- Search: " x ",
- Limit: 0,
- Window: opencost.NewClosedWindow(start, end),
- }
- opts := autocomplete.NormalizeOptions{RequireTenantID: true, WindowValidator: coreasset.ValidateWindow}
- field, err := autocomplete.NormalizeRequest(req, coreasset.ValidateField, opts)
- if err != nil {
- t.Fatalf("unexpected error: %v", err)
- }
- if field != "type" || req.Search != "x" || req.Limit != autocomplete.DefaultResultLimit {
- t.Fatalf("unexpected normalized request: field=%s search=%q limit=%d", field, req.Search, req.Limit)
- }
- _, err = autocomplete.NormalizeRequest(&autocomplete.Request{
- TenantID: "t1",
- Field: "cluster",
- Limit: autocomplete.MaxResultLimit + 1,
- Window: opencost.NewClosedWindow(start, end),
- }, coreasset.ValidateField, opts)
- if err == nil || !autocomplete.IsBadRequest(err) {
- t.Fatalf("expected bad request, got %v", err)
- }
- if !errors.Is(err, autocomplete.ErrBadRequest) {
- t.Fatalf("expected ErrBadRequest")
- }
- }
|