public async Task BulkRequest_DescriptorSerialisationTest() { var request = new BulkRequestDescriptor(); request.Index(FixedProject, b => b.Index("project")); request.Index(FixedProject); var serialisedJson = await SerializeAndGetJsonStringAsync(request); var sr = new StringReader(serialisedJson); var count = 0; while (true) { var line = sr.ReadLine(); if (line is not null) { await Verifier.VerifyJson(line).UseMethodName($"{nameof(BulkRequest_DescriptorSerialisationTest)}_{++count}"); } else { break; } } }
public async Task BulkRequestWithCreateOperations_Descriptor_SerializesCorrectly() { var settings = new ElasticsearchClientSettings(); settings.DefaultMappingFor <Inferrable>(m => m.IdProperty(p => p.Name).RoutingProperty(r => r.Name).IndexName("test-index")); var ms = new MemoryStream(); var fluentRequest = new BulkRequestDescriptor(b => b .Index("index-from-request") .Create(Inferrable.Instance) .Create(Inferrable.Instance, i => i .Id("OverriddenId") .Routing("OverriddenRoute") .Index("overridden-index") .Pipeline("my-pipeline") .RequireAlias(false) .Version(1) .VersionType(VersionType.External) .DynamicTemplates(d => d.Add("t1", "v1"))) .Create(NonInferrable.Instance) .Create(NonInferrable.Instance, "configured-index") .Create(NonInferrable.Instance, i => i .Id("ConfiguredId") .Routing("ConfiguredRoute") .Index("configured-index") .IfPrimaryTerm(100) .IfSequenceNumber(10) .Pipeline("my-pipeline") .RequireAlias(false) .DynamicTemplates(d => d.Add("t1", "v1")))); await fluentRequest.SerializeAsync(ms, settings); ms.Position = 0; var reader = new StreamReader(ms); var ndjson = reader.ReadToEnd(); await Verifier.Verify(ndjson, _verifySettings); ms = new MemoryStream(); fluentRequest.Serialize(ms, settings); ms.Position = 0; reader = new StreamReader(ms); ndjson = reader.ReadToEnd(); await Verifier.Verify(ndjson, _verifySettings); }