Skip to content

Commit ff01713

Browse files
committed
FieldsUsageTests is flakey because it does not filter for only Project objects
1 parent 2f3680a commit ff01713

File tree

5 files changed

+21
-0
lines changed

5 files changed

+21
-0
lines changed

src/Tests/Tests.Domain/CommitActivity.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ namespace Tests.Domain
1111
{
1212
public class CommitActivity
1313
{
14+
public static string TypeName = "commit";
15+
public string Type => TypeName;
16+
1417
private string _projectName;
1518
public JoinField Join { get; set; }
1619
public string Id { get; set; }

src/Tests/Tests.Domain/Project.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ namespace Tests.Domain
1313
{
1414
public class Project
1515
{
16+
public static string TypeName = "project";
17+
public string Type => TypeName;
1618
public JoinField Join => JoinField.Root<Project>();
1719
public string Name { get; set; }
1820
public string Description { get; set; }
@@ -116,6 +118,7 @@ public class Project
116118
location = new { lat = Instance.Location.Lat, lon = Instance.Location.Lon },
117119
sourceOnly = new { notWrittenByDefaultSerializer = "written" }
118120
};
121+
119122
}
120123

121124
//the first applies when using internal source serializer the latter when using JsonNetSourceSerializer

src/Tests/Tests/Search/Request/FieldsUsageTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ public FieldsUsageTests(ReadOnlyCluster cluster, EndpointUsage usage) : base(clu
2727

2828
protected override object ExpectJson => new
2929
{
30+
query = ProjectFilterExpectedJson,
3031
stored_fields = new[] { "name", "startedOn", "numberOfCommits", "numberOfContributors", "dateString" }
3132
};
3233

3334
protected override Func<SearchDescriptor<Project>, ISearchRequest> Fluent => s => s
35+
.Query(q => ProjectFilter)
3436
.StoredFields(fs => fs
3537
.Field(p => p.Name)
3638
.Field(p => p.StartedOn)
@@ -42,6 +44,7 @@ public FieldsUsageTests(ReadOnlyCluster cluster, EndpointUsage usage) : base(clu
4244
protected override SearchRequest<Project> Initializer =>
4345
new SearchRequest<Project>
4446
{
47+
Query = ProjectFilter,
4548
StoredFields = Fields<Project>(
4649
p => p.Name,
4750
p => p.StartedOn,
@@ -56,6 +59,7 @@ [I] protected Task FieldsAreReturned() => this.AssertOnAllResponses(r =>
5659
r.Fields.Count().Should().BeGreaterThan(0);
5760
foreach (var fieldValues in r.Fields)
5861
{
62+
fieldValues.Should().NotBeNull("FieldValues on hits is null");
5963
fieldValues.Count().Should().Be(5);
6064
var name = fieldValues.Value<string>(Field<Project>(p => p.Name));
6165
name.Should().NotBeNullOrWhiteSpace();

src/Tests/Tests/Search/Request/SuggestUsageTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public SuggestUsageTests(ReadOnlyCluster cluster, EndpointUsage usage) : base(cl
2626
protected override object ExpectJson =>
2727
new
2828
{
29+
query = ProjectFilterExpectedJson,
2930
suggest = new Dictionary<string, object>{
3031
{ "my-completion-suggest", new {
3132
completion = new {
@@ -91,6 +92,7 @@ public SuggestUsageTests(ReadOnlyCluster cluster, EndpointUsage usage) : base(cl
9192
};
9293

9394
protected override Func<SearchDescriptor<Project>, ISearchRequest> Fluent => s => s
95+
.Query(q => ProjectFilter)
9496
.Suggest(ss => ss
9597
.Term("my-term-suggest", t => t
9698
.MaxEdits(1)
@@ -148,6 +150,7 @@ public SuggestUsageTests(ReadOnlyCluster cluster, EndpointUsage usage) : base(cl
148150
protected override SearchRequest<Project> Initializer =>
149151
new SearchRequest<Project>
150152
{
153+
Query = ProjectFilter,
151154
Suggest = new SuggestContainer
152155
{
153156
{ "my-term-suggest", new SuggestBucket

src/Tests/Tests/Search/SearchUsageTestBase.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,13 @@ protected override LazyResponses ClientUsage() => Calls(
2424
protected override HttpMethod HttpMethod => HttpMethod.POST;
2525
protected override string UrlPath => "/project/doc/_search";
2626

27+
protected TermQuery ProjectFilter = new TermQuery
28+
{
29+
Field = Infer.Field<Project>(p => p.Name),
30+
Value = Project.TypeName
31+
};
32+
33+
protected object ProjectFilterExpectedJson = new {term = new {field = "name", value = Project.TypeName}};
34+
2735
}
2836
}

0 commit comments

Comments
 (0)