Skip to content

Commit 0c4ee32

Browse files
committed
Fix #279 throw ArgumentNullException if bulkdescriptor has no operations defined on it
1 parent 236a531 commit 0c4ee32

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/Nest.Tests.Integration/Core/Bulk/BulkTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public void Bulk()
1818
{
1919
var result = this._client.Bulk(b => b
2020
.Index<ElasticSearchProject>(i => i.Object(new ElasticSearchProject {Id = 2}))
21-
.Create<ElasticSearchProject>(i => i.Object(new ElasticSearchProject { Id = 123123 }))
2221
.Delete<ElasticSearchProject>(i => i.Object(new ElasticSearchProject { Id = 4 }))
22+
.Create<ElasticSearchProject>(i => i.Object(new ElasticSearchProject { Id = 123123 }))
2323

2424
);
2525
result.Should().NotBeNull();

src/Nest/ElasticClient-Bulk.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public IBulkResponse Bulk(Func<BulkDescriptor, BulkDescriptor> bulkSelector)
2323
public IBulkResponse Bulk(BulkDescriptor bulkDescriptor)
2424
{
2525
bulkDescriptor.ThrowIfNull("bulkDescriptor");
26+
bulkDescriptor._Operations.ThrowIfEmpty("Bulk descriptor does not define any operations");
2627
var sb = new StringBuilder();
2728

2829
foreach (var operation in bulkDescriptor._Operations)
@@ -120,7 +121,7 @@ private string GenerateBulkDeleteCommand<T>(IEnumerable<BulkParameters<T>> @obje
120121

121122
private string GenerateBulkCommand<T>(IEnumerable<T> objects, string command) where T : class
122123
{
123-
objects.ThrowIfNull("objects");
124+
objects.ThrowIfEmpty("objects");
124125

125126
var index = this.IndexNameResolver.GetIndexForType<T>();
126127
if (string.IsNullOrEmpty(index))
@@ -130,7 +131,7 @@ private string GenerateBulkCommand<T>(IEnumerable<T> objects, string command) wh
130131
}
131132
private string GenerateBulkCommand<T>(IEnumerable<BulkParameters<T>> objects, string command) where T : class
132133
{
133-
objects.ThrowIfNull("objects");
134+
objects.ThrowIfEmpty("objects");
134135

135136
var index = this.IndexNameResolver.GetIndexForType<T>();
136137
if (string.IsNullOrEmpty(index))

0 commit comments

Comments
 (0)