github.com/weaviate/weaviate@v1.24.6/adapters/handlers/graphql/local/aggregate/helpers_for_test.go (about)

     1  //                           _       _
     2  // __      _____  __ ___   ___  __ _| |_ ___
     3  // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
     4  //  \ V  V /  __/ (_| |\ V /| | (_| | ||  __/
     5  //   \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
     6  //
     7  //  Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
     8  //
     9  //  CONTACT: hello@weaviate.io
    10  //
    11  
    12  package aggregate
    13  
    14  import (
    15  	"context"
    16  	"fmt"
    17  
    18  	testhelper "github.com/weaviate/weaviate/adapters/handlers/graphql/test/helper"
    19  	"github.com/weaviate/weaviate/entities/aggregation"
    20  	"github.com/weaviate/weaviate/entities/models"
    21  	"github.com/weaviate/weaviate/usecases/config"
    22  )
    23  
    24  type mockRequestsLog struct{}
    25  
    26  func (m *mockRequestsLog) Register(first string, second string) {
    27  }
    28  
    29  type mockResolver struct {
    30  	testhelper.MockResolver
    31  }
    32  
    33  func newMockResolver(cfg config.Config) *mockResolver {
    34  	field, err := Build(&testhelper.CarSchema, cfg, nil)
    35  	if err != nil {
    36  		panic(fmt.Sprintf("could not build graphql test schema: %s", err))
    37  	}
    38  	mockLog := &mockRequestsLog{}
    39  	mocker := &mockResolver{}
    40  	mocker.RootFieldName = "Aggregate"
    41  	mocker.RootField = field
    42  	mocker.RootObject = map[string]interface{}{
    43  		"Resolver":    Resolver(mocker),
    44  		"RequestsLog": mockLog,
    45  		"Config":      cfg,
    46  	}
    47  
    48  	return mocker
    49  }
    50  
    51  func (m *mockResolver) Aggregate(ctx context.Context, principal *models.Principal,
    52  	params *aggregation.Params,
    53  ) (interface{}, error) {
    54  	args := m.Called(params)
    55  	return args.Get(0), args.Error(1)
    56  }