github.com/weaviate/weaviate@v1.24.6/usecases/traverser/traverser_aggregate_params_hash_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 traverser
    13  
    14  // TODO: do we still need this? there is no more spark support with 0.20.x
    15  // func Test_ParamsHashing(t *testing.T) {
    16  // 	params := func() AggregateParams {
    17  // 		return AggregateParams{
    18  // 			Analytics: filters.AnalyticsProps{UseAnalyticsEngine: true},
    19  // 			ClassName: schema.ClassName("MyBestClass"),
    20  // 			Filters:   nil,
    21  // 			Kind:      kind.Thing,
    22  // 			Properties: []AggregateProperty{
    23  // 				AggregateProperty{
    24  // 					Name:        schema.PropertyName("bestprop"),
    25  // 					Aggregators: []Aggregator{CountAggregator},
    26  // 				},
    27  // 			},
    28  // 		}
    29  // 	}
    30  // 	hash := func() string { return "a71e85e0741fccd63b33281b26270d43" }
    31  
    32  // 	t.Run("it generates a hash", func(t *testing.T) {
    33  // 		p := params()
    34  // 		h, err := p.AnalyticsHash()
    35  // 		require.Nil(t, err)
    36  // 		assert.Equal(t, h, hash())
    37  // 	})
    38  
    39  // 	t.Run("it generates the same hash if analytical props are changed", func(t *testing.T) {
    40  // 		p := params()
    41  // 		p.Analytics.ForceRecalculate = true
    42  // 		h, err := p.AnalyticsHash()
    43  // 		require.Nil(t, err)
    44  // 		assert.Equal(t, hash(), h)
    45  // 	})
    46  
    47  // 	t.Run("it generates a different hash if a prop is changed", func(t *testing.T) {
    48  // 		p := params()
    49  // 		p.Properties[0].Aggregators[0] = MaximumAggregator
    50  // 		h, err := p.AnalyticsHash()
    51  // 		require.Nil(t, err)
    52  // 		assert.NotEqual(t, hash(), h)
    53  // 	})
    54  
    55  // 	t.Run("it generates a different hash if where filter is added", func(t *testing.T) {
    56  // 		p := params()
    57  // 		p.Filters = &filters.LocalFilter{Root: &filters.Clause{Value: &filters.Value{Value: "foo"}}}
    58  // 		h, err := p.AnalyticsHash()
    59  // 		require.Nil(t, err)
    60  // 		assert.NotEqual(t, hash(), h)
    61  // 	})
    62  // }