1
1
using System ;
2
+ using System . Collections . Generic ;
2
3
using System . Linq ;
3
4
using Elasticsearch . Net ;
4
5
using FluentAssertions ;
6
+ using FluentAssertions . Common ;
5
7
using Nest ;
6
8
using Tests . Framework ;
7
9
using Tests . Framework . Integration ;
@@ -46,6 +48,7 @@ protected override void ExpectResponse(IPercolateResponse response)
46
48
response . Matches . Count ( ) . Should ( ) . BeGreaterThan ( 0 ) ;
47
49
var match = response . Matches . First ( ) ;
48
50
match . Id . Should ( ) . Be ( PercolatorId ) ;
51
+ match . Score . Should ( ) . Be ( 1 ) ;
49
52
}
50
53
51
54
private static readonly string PercolatorId = RandomString ( ) ;
@@ -54,17 +57,28 @@ protected override void OnBeforeCall(IElasticClient client)
54
57
{
55
58
var register = this . Client . RegisterPercolator < Project > ( PercolatorId , r => r
56
59
. Index ( this . Index )
57
- . Query ( q => q . MatchAll ( ) )
60
+ . Query ( q => q . MatchAll ( ) )
58
61
) ;
62
+
63
+ this . Client . Refresh ( this . Index ) ;
59
64
}
60
65
61
66
protected override Func < PercolateDescriptor < Project > , IPercolateRequest < Project > > Fluent => c => c
62
67
. Index ( this . Index )
63
- . Document ( Project . Instance ) ;
68
+ . Document ( Project . Instance )
69
+ . Query ( q => q . MatchAll ( ) )
70
+ . Size ( 10 )
71
+ . Sort ( s => s . Descending ( SortSpecialField . Score ) )
72
+ . TrackScores ( )
73
+ ;
64
74
65
75
protected override PercolateRequest < Project > Initializer => new PercolateRequest < Project > ( Index , Type < Project > ( ) )
66
76
{
67
- Document = Project . Instance
77
+ Document = Project . Instance ,
78
+ Query = new QueryContainer ( new MatchAllQuery ( ) ) ,
79
+ Size = 10 ,
80
+ Sort = new List < ISort > { new SortField { Field = "_score" , Order = SortOrder . Descending } } ,
81
+ TrackScores = true
68
82
} ;
69
83
}
70
84
@@ -74,21 +88,21 @@ public class PercolateExistingDocApiTests : ApiTestBase<IPercolateResponse, IPer
74
88
public PercolateExistingDocApiTests ( ReadOnlyCluster cluster , EndpointUsage usage ) : base ( cluster , usage ) { }
75
89
76
90
protected override LazyResponses ClientUsage ( ) => Calls (
77
- fluent : ( c , f ) => c . Percolate < Project > ( p => p . Id ( _percId ) ) ,
78
- fluentAsync : ( c , f ) => c . PercolateAsync < Project > ( p => p . Id ( _percId ) ) ,
91
+ fluent : ( c , f ) => c . Percolate < Project > ( p => p . Id ( _percolateId ) ) ,
92
+ fluentAsync : ( c , f ) => c . PercolateAsync < Project > ( p => p . Id ( _percolateId ) ) ,
79
93
request : ( c , r ) => c . Percolate ( r ) ,
80
94
requestAsync : ( c , r ) => c . PercolateAsync ( r )
81
95
) ;
82
96
83
- private string _percId = Project . Instance . Name ;
97
+ private readonly string _percolateId = Project . Instance . Name ;
84
98
85
99
protected override HttpMethod HttpMethod => HttpMethod . POST ;
86
- protected override string UrlPath => $ "project/project/{ _percId } /_percolate";
100
+ protected override string UrlPath => $ "project/project/{ _percolateId } /_percolate";
87
101
88
102
protected override bool SupportsDeserialization => false ;
89
103
90
104
protected override Func < PercolateDescriptor < Project > , IPercolateRequest < Project > > Fluent => null ;
91
105
92
- protected override PercolateRequest < Project > Initializer => new PercolateRequest < Project > ( _percId ) ;
106
+ protected override PercolateRequest < Project > Initializer => new PercolateRequest < Project > ( _percolateId ) ;
93
107
}
94
108
}
0 commit comments