Skip to content

Commit 07b2743

Browse files
committed
Ignore pipelined update tests as it's not supported
elastic/elasticsearch#17895
1 parent 1da4cd5 commit 07b2743

File tree

1 file changed

+57
-62
lines changed

1 file changed

+57
-62
lines changed

tests/Foundatio.Repositories.Elasticsearch.Tests/PipelineTests.cs

Lines changed: 57 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Threading.Tasks;
5-
using Foundatio.Logging;
65
using Foundatio.Repositories.Elasticsearch.Tests.Repositories.Configuration.Indexes;
76
using Foundatio.Repositories.Elasticsearch.Tests.Repositories.Configuration.Types;
87
using Foundatio.Repositories.Elasticsearch.Tests.Repositories.Models;
@@ -12,7 +11,6 @@
1211
using Nest;
1312
using Xunit;
1413
using Xunit.Abstractions;
15-
using LogLevel = Foundatio.Logging.LogLevel;
1614

1715
namespace Foundatio.Repositories.Elasticsearch.Tests {
1816
public sealed class PipelineTests : ElasticRepositoryTestBase {
@@ -71,11 +69,35 @@ public async Task JsonPatch() {
7169

7270
employee = await _employeeRepository.GetByIdAsync(employee.Id);
7371
Assert.Equal(EmployeeGenerator.Default.Age, employee.Age);
74-
Assert.Equal("Patched", employee.Name);
72+
Assert.Equal("patched", employee.Name);
7573
Assert.Equal(2, employee.Version);
7674
}
7775

7876
[Fact]
77+
public async Task JsonPatchAll() {
78+
var utcNow = SystemClock.UtcNow;
79+
var employees = new List<Employee> {
80+
EmployeeGenerator.Generate(ObjectId.GenerateNewId(utcNow.AddDays(-1)).ToString(), createdUtc: utcNow.AddDays(-1), companyId: "1", yearsEmployed: 0),
81+
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "1", yearsEmployed: 0),
82+
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "2", yearsEmployed: 0),
83+
};
84+
85+
await _employeeRepository.AddAsync(employees);
86+
87+
await _client.RefreshAsync(Indices.All);
88+
var patch = new PatchDocument(new ReplaceOperation { Path = "name", Value = "Patched" });
89+
await _employeeRepository.PatchAsync(employees.Select(l => l.Id), patch);
90+
91+
await _client.RefreshAsync(Indices.All);
92+
var results = await _employeeRepository.GetAllByCompanyAsync("1");
93+
Assert.Equal(2, results.Documents.Count);
94+
foreach (var document in results.Documents) {
95+
Assert.Equal("1", document.CompanyId);
96+
Assert.Equal("patched", document.Name);
97+
}
98+
}
99+
100+
[Fact (Skip = "Not yet supported: https://github.com/elastic/elasticsearch/issues/17895")]
79101
public async Task PartialPatch() {
80102
var employee = await _employeeRepository.AddAsync(EmployeeGenerator.Default);
81103
await _employeeRepository.PatchAsync(employee.Id, new { name = "Patched" });
@@ -86,7 +108,30 @@ public async Task PartialPatch() {
86108
Assert.Equal(2, employee.Version);
87109
}
88110

89-
[Fact]
111+
[Fact(Skip = "Not yet supported: https://github.com/elastic/elasticsearch/issues/17895")]
112+
public async Task PartialPatchAll() {
113+
var utcNow = SystemClock.UtcNow;
114+
var employees = new List<Employee> {
115+
EmployeeGenerator.Generate(ObjectId.GenerateNewId(utcNow.AddDays(-1)).ToString(), createdUtc: utcNow.AddDays(-1), companyId: "1", yearsEmployed: 0),
116+
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "1", yearsEmployed: 0),
117+
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "2", yearsEmployed: 0),
118+
};
119+
120+
await _employeeRepository.AddAsync(employees);
121+
122+
await _client.RefreshAsync(Indices.All);
123+
await _employeeRepository.PatchAsync(employees.Select(l => l.Id), new { name = "Patched" });
124+
125+
await _client.RefreshAsync(Indices.All);
126+
var results = await _employeeRepository.GetAllByCompanyAsync("1");
127+
Assert.Equal(2, results.Documents.Count);
128+
foreach (var document in results.Documents) {
129+
Assert.Equal("1", document.CompanyId);
130+
Assert.Equal("patched", document.Name);
131+
}
132+
}
133+
134+
[Fact(Skip = "Not yet supported: https://github.com/elastic/elasticsearch/issues/17895")]
90135
public async Task ScriptPatch() {
91136
var employee = await _employeeRepository.AddAsync(EmployeeGenerator.Default);
92137
await _employeeRepository.PatchAsync(employee.Id, "ctx._source.name = 'Patched';");
@@ -97,77 +142,27 @@ public async Task ScriptPatch() {
97142
Assert.Equal(2, employee.Version);
98143
}
99144

100-
[Fact]
145+
[Fact(Skip = "Not yet supported: https://github.com/elastic/elasticsearch/issues/17895")]
101146
public async Task ScriptPatchAll() {
102147
var utcNow = SystemClock.UtcNow;
103-
var logs = new List<Employee> {
104-
EmployeeGenerator.Generate(ObjectId.GenerateNewId(utcNow.AddDays(-1)).ToString(), createdUtc: utcNow.AddDays(-1), companyId: "1"),
105-
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "1"),
106-
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "2"),
148+
var employees = new List<Employee> {
149+
EmployeeGenerator.Generate(ObjectId.GenerateNewId(utcNow.AddDays(-1)).ToString(), createdUtc: utcNow.AddDays(-1), companyId: "1", yearsEmployed: 0),
150+
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "1", yearsEmployed: 0),
151+
EmployeeGenerator.Generate(createdUtc: utcNow, companyId: "2", yearsEmployed: 0),
107152
};
108153

109-
await _employeeRepository.AddAsync(logs, addToCache: true);
110-
Assert.Equal(5, _cache.Count);
111-
Assert.Equal(0, _cache.Hits);
112-
Assert.Equal(0, _cache.Misses);
154+
await _employeeRepository.AddAsync(employees);
113155

114156
await _client.RefreshAsync(Indices.All);
115-
Assert.Equal(3, await _employeeRepository.IncrementYearsEmployeed(logs.Select(l => l.Id).ToArray()));
116-
Assert.Equal(2, _cache.Count);
117-
Assert.Equal(0, _cache.Hits);
118-
Assert.Equal(0, _cache.Misses);
157+
await _employeeRepository.PatchAsync(employees.Select(l => l.Id), "ctx._source.name = 'Patched';");
119158

120159
await _client.RefreshAsync(Indices.All);
121160
var results = await _employeeRepository.GetAllByCompanyAsync("1");
122161
Assert.Equal(2, results.Documents.Count);
123162
foreach (var document in results.Documents) {
124163
Assert.Equal("1", document.CompanyId);
125-
Assert.Equal(1, document.YearsEmployed);
126-
}
127-
128-
await _employeeRepository.SaveAsync(logs, addToCache: true);
129-
await _client.RefreshAsync(Indices.All);
130-
131-
results = await _employeeRepository.GetAllByCompanyAsync("1");
132-
Assert.Equal(2, results.Documents.Count);
133-
foreach (var document in results.Documents) {
134-
Assert.Equal("1", document.CompanyId);
135-
Assert.Equal(0, document.YearsEmployed);
164+
Assert.Equal("patched", document.Name);
136165
}
137166
}
138-
139-
[Fact]
140-
public async Task PatchAllBulk() {
141-
Log.SetLogLevel<EmployeeRepository>(LogLevel.Warning);
142-
const int COUNT = 1000 * 10;
143-
int added = 0;
144-
do {
145-
await _employeeRepository.AddAsync(EmployeeGenerator.GenerateEmployees(1000));
146-
added += 1000;
147-
} while (added < COUNT);
148-
Log.SetLogLevel<EmployeeRepository>(LogLevel.Trace);
149-
150-
await _client.RefreshAsync(Indices.All);
151-
Assert.Equal(COUNT, await _employeeRepository.IncrementYearsEmployeed(new string[0]));
152-
}
153-
154-
[Fact]
155-
public async Task PatchAllBulkConcurrently() {
156-
Log.SetLogLevel<EmployeeRepository>(LogLevel.Warning);
157-
const int COUNT = 1000 * 10;
158-
int added = 0;
159-
do {
160-
await _employeeRepository.AddAsync(EmployeeGenerator.GenerateEmployees(1000));
161-
added += 1000;
162-
} while (added < COUNT);
163-
Log.SetLogLevel<EmployeeRepository>(LogLevel.Trace);
164-
165-
await _client.RefreshAsync(Indices.All);
166-
var tasks = Enumerable.Range(1, 6).Select(async i => {
167-
Assert.Equal(COUNT, await _employeeRepository.IncrementYearsEmployeed(new string[0], i));
168-
});
169-
170-
await Task.WhenAll(tasks);
171-
}
172167
}
173168
}

0 commit comments

Comments
 (0)