Skip to content

Commit f4c3a82

Browse files
committed
More tests
1 parent 3740fc1 commit f4c3a82

24 files changed

+1033
-190
lines changed

Elasticsearch.sln

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "scripts", "build\scripts\sc
5656
EndProject
5757
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.ClusterLauncher", "tests\Tests.ClusterLauncher\Tests.ClusterLauncher.csproj", "{F6162603-D134-4121-8106-2BA4DAD7350B}"
5858
EndProject
59+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elasticsearch.Net.VirtualizedCluster", "src\Elasticsearch.Net.VirtualizedCluster\Elasticsearch.Net.VirtualizedCluster.csproj", "{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}"
60+
EndProject
5961
Global
6062
GlobalSection(SolutionConfigurationPlatforms) = preSolution
6163
Debug|Any CPU = Debug|Any CPU
@@ -222,6 +224,18 @@ Global
222224
{F6162603-D134-4121-8106-2BA4DAD7350B}.Release|x64.Build.0 = Release|Any CPU
223225
{F6162603-D134-4121-8106-2BA4DAD7350B}.Release|x86.ActiveCfg = Release|Any CPU
224226
{F6162603-D134-4121-8106-2BA4DAD7350B}.Release|x86.Build.0 = Release|Any CPU
227+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
228+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
229+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Debug|x64.ActiveCfg = Debug|Any CPU
230+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Debug|x64.Build.0 = Debug|Any CPU
231+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Debug|x86.ActiveCfg = Debug|Any CPU
232+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Debug|x86.Build.0 = Debug|Any CPU
233+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
234+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Release|Any CPU.Build.0 = Release|Any CPU
235+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Release|x64.ActiveCfg = Release|Any CPU
236+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Release|x64.Build.0 = Release|Any CPU
237+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Release|x86.ActiveCfg = Release|Any CPU
238+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F}.Release|x86.Build.0 = Release|Any CPU
225239
EndGlobalSection
226240
GlobalSection(SolutionProperties) = preSolution
227241
HideSolutionNode = FALSE
@@ -240,6 +254,7 @@ Global
240254
{11362CEE-B4B3-4EFE-A9A1-A6CDEEFCEA10} = {D455EC79-E1E0-4509-B297-0DA3AED8DFF7}
241255
{68D1BFDC-F447-4D2C-AF81-537807636610} = {1FE49D14-216A-41EE-A177-E42BFF53E0DC}
242256
{F6162603-D134-4121-8106-2BA4DAD7350B} = {362B2776-4B29-46AB-B237-56776B5372B6}
257+
{DFF12151-BB2A-479D-97C6-F4FF6815AA7F} = {D455EC79-E1E0-4509-B297-0DA3AED8DFF7}
243258
EndGlobalSection
244259
GlobalSection(ExtensibilityGlobals) = postSolution
245260
SolutionGuid = {CE74F821-B001-4C69-A58D-CF81F8B0B632}

src/Elastic.Clients.Elasticsearch/Client/ElasticClient-BulkAll.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Elastic.Clients.Elasticsearch;
1111

1212
public partial interface IElasticClient
1313
{
14-
HelpersNamespace Helpers { get; }
14+
//HelpersNamespace Helpers { get; }
1515

1616
BulkAllObservable<T> BulkAll<T>(IEnumerable<T> documents, Action<BulkAllRequestDescriptor<T>> configure, CancellationToken cancellationToken = default);
1717

@@ -20,7 +20,7 @@ public partial interface IElasticClient
2020

2121
public partial class ElasticClient
2222
{
23-
public HelpersNamespace Helpers { get; private set; }
23+
//public HelpersNamespace Helpers { get; private set; }
2424

2525
public BulkAllObservable<T> BulkAll<T>(IEnumerable<T> documents, Action<BulkAllRequestDescriptor<T>> configure, CancellationToken cancellationToken = default)
2626
{
@@ -33,19 +33,19 @@ public BulkAllObservable<T> BulkAll<T>(IBulkAllRequest<T> request, CancellationT
3333
new(this, request, cancellationToken);
3434
}
3535

36-
public class HelpersNamespace : NamespacedClientProxy
37-
{
38-
private readonly ElasticClient _client;
36+
//public class HelpersNamespace : NamespacedClientProxy
37+
//{
38+
// private readonly ElasticClient _client;
3939

40-
internal HelpersNamespace(ElasticClient client) : base(client) => _client = client;
40+
// internal HelpersNamespace(ElasticClient client) : base(client) => _client = client;
4141

42-
public BulkAllObservable<T> BulkAllObservable<T>(IEnumerable<T> documents, Action<BulkAllRequestDescriptor<T>> configure, CancellationToken cancellationToken = default)
43-
{
44-
var descriptor = new BulkAllRequestDescriptor<T>(documents);
45-
configure?.Invoke(descriptor);
46-
return BulkAllObservable<T>(descriptor, cancellationToken);
47-
}
42+
// public BulkAllObservable<T> BulkAllObservable<T>(IEnumerable<T> documents, Action<BulkAllRequestDescriptor<T>> configure, CancellationToken cancellationToken = default)
43+
// {
44+
// var descriptor = new BulkAllRequestDescriptor<T>(documents);
45+
// configure?.Invoke(descriptor);
46+
// return BulkAllObservable<T>(descriptor, cancellationToken);
47+
// }
4848

49-
public BulkAllObservable<T> BulkAllObservable<T>(IBulkAllRequest<T> request, CancellationToken cancellationToken = default) =>
50-
new(_client, request, cancellationToken);
51-
}
49+
// public BulkAllObservable<T> BulkAllObservable<T>(IBulkAllRequest<T> request, CancellationToken cancellationToken = default) =>
50+
// new(_client, request, cancellationToken);
51+
//}

src/Elastic.Clients.Elasticsearch/Common/Response/ResponseBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ internal set
3737
// TODO: Had to make this public to allow STJ to deserialise it - Can we avoid this?
3838
// Collides with a property on ClusterHealthResponse
3939
[JsonPropertyName("status")]
40-
internal int? StatusCode
40+
public int? StatusCode
4141
{
4242
get => _statusCode;
4343
set

src/Elastic.Clients.Elasticsearch/FutureGenerated/FutureGenerated.cs

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -752,12 +752,18 @@ public partial class BulkRequest : IStreamSerializable
752752

753753
public void Serialize(Stream stream, IElasticsearchClientSettings settings, SerializationFormatting formatting = SerializationFormatting.None)
754754
{
755+
if (Operations is null)
756+
return;
757+
755758
var operations = (IStreamSerializable)Operations;
756759
operations.Serialize(stream, settings, formatting);
757760
}
758761

759762
public Task SerializeAsync(Stream stream, IElasticsearchClientSettings settings, SerializationFormatting formatting = SerializationFormatting.None)
760763
{
764+
if (Operations is null)
765+
return Task.CompletedTask;
766+
761767
var operations = (IStreamSerializable)Operations;
762768
return operations.SerializeAsync(stream, settings, formatting);
763769
}
@@ -767,6 +773,8 @@ public abstract partial class BulkResponseItemBase
767773
{
768774
public abstract string Operation { get; }
769775

776+
//public GetResponse<TDocument> GetResponse<TDocument>() where TDocument : class => Get?.AsUsingRequestResponseSerializer<GetResponse<TDocument>>();
777+
770778
public bool IsValid
771779
{
772780
get
@@ -874,14 +882,20 @@ public BulkRequestDescriptor Delete(Action<BulkDeleteOperationDescriptor> config
874882
return this;
875883
}
876884

877-
public BulkRequestDescriptor CreateMany<TSource>(IEnumerable<TSource> documents, Action<BulkCreateOperationDescriptor<TSource>> bulkIndexSelector = null) =>
878-
AddOperations(documents, bulkIndexSelector, o => new BulkCreateOperationDescriptor<TSource>(o));
885+
[Obsolete("Prefer the overload without a generic argument.")]
886+
public BulkRequestDescriptor Delete<TSource>(Action<BulkDeleteOperationDescriptor> configure) => Delete(configure);
887+
888+
public BulkRequestDescriptor CreateMany<TSource>(IEnumerable<TSource> documents, Action<BulkCreateOperationDescriptor<TSource>> bulkCreateSelector = null) =>
889+
AddOperations(documents, bulkCreateSelector, o => new BulkCreateOperationDescriptor<TSource>(o));
879890

880891
public BulkRequestDescriptor IndexMany<TSource>(IEnumerable<TSource> documents, Action<BulkIndexOperationDescriptor<TSource>> bulkIndexSelector = null) =>
881892
AddOperations(documents, bulkIndexSelector, o => new BulkIndexOperationDescriptor<TSource>(o));
882893

883-
public BulkRequestDescriptor DeleteMany<TSource>(IEnumerable<string> ids, Action<BulkDeleteOperationDescriptor> bulkIndexSelector = null) =>
884-
AddOperations(ids, bulkIndexSelector, id => new BulkDeleteOperationDescriptor(id));
894+
public BulkRequestDescriptor UpdateMany<TSource>(IEnumerable<TSource> objects, Action<BulkUpdateOperationDescriptor<TSource, TSource>> bulkIndexSelector = null) =>
895+
AddOperations(objects, bulkIndexSelector, o => new BulkUpdateOperationDescriptor<TSource, TSource>().IdFrom(o));
896+
897+
public BulkRequestDescriptor DeleteMany<TSource>(IEnumerable<string> ids, Action<BulkDeleteOperationDescriptor> bulkDeleteSelector = null) =>
898+
AddOperations(ids, bulkDeleteSelector, id => new BulkDeleteOperationDescriptor(id));
885899

886900
public void Serialize(Stream stream, IElasticsearchClientSettings settings, SerializationFormatting formatting = SerializationFormatting.None)
887901
{
@@ -897,8 +911,8 @@ public Task SerializeAsync(Stream stream, IElasticsearchClientSettings settings,
897911

898912
private BulkRequestDescriptor AddOperations<TSource, TDescriptor>(
899913
IEnumerable<TSource> objects,
900-
Action<TDescriptor> bulkIndexSelector,
901-
Func<TSource, TDescriptor> defaultSelector
914+
Action<TDescriptor> configureDescriptor,
915+
Func<TSource, TDescriptor> createDescriptor
902916
) where TDescriptor : IBulkOperation
903917
{
904918
if (@objects == null)
@@ -909,11 +923,11 @@ Func<TSource, TDescriptor> defaultSelector
909923

910924
foreach (var o in objectsList)
911925
{
912-
var descriptor = defaultSelector(o);
926+
var descriptor = createDescriptor(o);
913927

914-
if (bulkIndexSelector is not null)
928+
if (configureDescriptor is not null)
915929
{
916-
bulkIndexSelector(descriptor);
930+
configureDescriptor(descriptor);
917931
}
918932

919933
operations.Add(descriptor);

src/Elastic.Clients.Elasticsearch/Types/Bulk/BulkUpdateOperation.cs

Lines changed: 0 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -107,143 +107,3 @@ public static class BulkUpdateOperation
107107

108108
public static BulkUpdateOperationWithScript WithScript(Id id, IndexName index, ScriptBase script) => new(id, index, script);
109109
}
110-
111-
public sealed class BulkUpdateOperationDescriptor<TDocument, TPartialDocument> : BulkOperationDescriptorBase<BulkUpdateOperationDescriptor<TDocument, TPartialDocument>>
112-
{
113-
private static byte _newline => (byte)'\n';
114-
115-
private TPartialDocument _document;
116-
private Action<InlineScriptDescriptor> _scriptAction;
117-
118-
protected override string Operation => "update";
119-
120-
public BulkUpdateOperationDescriptor<TDocument, TPartialDocument> Doc(TPartialDocument document) => Assign(document, (a, v) => a._document = v);
121-
122-
public BulkUpdateOperationDescriptor<TDocument, TPartialDocument> Script(Action<InlineScriptDescriptor> configure) => Assign(configure, (a, v) => a._scriptAction = v);
123-
124-
protected override object GetBody()
125-
{
126-
if (_scriptAction is not null)
127-
return null;
128-
129-
return new BulkUpdateBody<TDocument, TPartialDocument>
130-
{
131-
PartialUpdate = _document,
132-
//Script = Script,
133-
//Upsert = Upsert,
134-
//DocAsUpsert = DocAsUpsert,
135-
//ScriptedUpsert = ScriptedUpsert,
136-
//IfPrimaryTerm = IfPrimaryTerm,
137-
//IfSequenceNumber = IfSequenceNumber,
138-
//Source = Source
139-
};
140-
}
141-
142-
protected override void Serialize(Stream stream, IElasticsearchClientSettings settings, SerializationFormatting formatting)
143-
{
144-
var requestResponseSerializer = settings.RequestResponseSerializer;
145-
146-
var writer = new Utf8JsonWriter(stream);
147-
148-
writer.WriteStartObject();
149-
writer.WritePropertyName(Operation);
150-
151-
JsonSerializerOptions options = null;
152-
153-
if (requestResponseSerializer is DefaultHighLevelSerializer dhls)
154-
options = dhls.Options;
155-
156-
JsonSerializer.Serialize<BulkUpdateOperationDescriptor<TDocument, TPartialDocument>>(writer, this, options);
157-
158-
writer.WriteEndObject();
159-
writer.Flush();
160-
161-
stream.WriteByte(_newline);
162-
163-
var body = GetBody();
164-
165-
if (body is not null)
166-
{
167-
settings.RequestResponseSerializer.Serialize(body, stream, formatting);
168-
}
169-
else
170-
{
171-
writer = new Utf8JsonWriter(stream);
172-
writer.WriteStartObject();
173-
174-
if (_scriptAction is not null)
175-
{
176-
writer.WritePropertyName("script");
177-
JsonSerializer.Serialize(writer, new InlineScriptDescriptor(_scriptAction), options);
178-
}
179-
180-
writer.WriteEndObject();
181-
writer.Flush();
182-
}
183-
}
184-
185-
protected override async Task SerializeAsync(Stream stream, IElasticsearchClientSettings settings, SerializationFormatting formatting, CancellationToken cancellationToken = default)
186-
{
187-
var requestResponseSerializer = settings.RequestResponseSerializer;
188-
189-
var writer = new Utf8JsonWriter(stream);
190-
191-
writer.WriteStartObject();
192-
writer.WritePropertyName(Operation);
193-
194-
JsonSerializerOptions options = null;
195-
196-
if (requestResponseSerializer is DefaultHighLevelSerializer dhls)
197-
options = dhls.Options;
198-
199-
JsonSerializer.Serialize<BulkUpdateOperationDescriptor<TDocument, TPartialDocument>>(writer, this, options);
200-
201-
writer.WriteEndObject();
202-
await writer.FlushAsync(cancellationToken).ConfigureAwait(false);
203-
204-
stream.WriteByte(_newline);
205-
206-
var body = GetBody();
207-
208-
if (body is not null)
209-
{
210-
await settings.RequestResponseSerializer.SerializeAsync(body, stream, formatting, cancellationToken).ConfigureAwait(false);
211-
}
212-
else
213-
{
214-
writer = new Utf8JsonWriter(stream);
215-
writer.WriteStartObject();
216-
217-
if (_scriptAction is not null)
218-
{
219-
writer.WritePropertyName("script");
220-
JsonSerializer.Serialize(writer, new InlineScriptDescriptor(_scriptAction), options);
221-
}
222-
223-
writer.WriteEndObject();
224-
await writer.FlushAsync(cancellationToken).ConfigureAwait(false);
225-
}
226-
}
227-
228-
protected override void SerializeInternal(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
229-
{
230-
// TODO
231-
}
232-
233-
//protected override Id GetIdForOperation(Inferrer inferrer) =>
234-
// Id ?? new Id(new[] { _document, Upsert }.FirstOrDefault(o => o != null));
235-
236-
//protected override Routing GetRoutingForOperation(Inferrer inferrer)
237-
//{
238-
// if (Routing != null)
239-
// return Routing;
240-
241-
// if (IdFrom != null)
242-
// return new Routing(IdFrom);
243-
244-
// if (Upsert != null)
245-
// return new Routing(Upsert);
246-
247-
// return null;
248-
//}
249-
}

0 commit comments

Comments
 (0)