From f4572d661ca41d6ab8ff2f107030a59fca9bbf6e Mon Sep 17 00:00:00 2001 From: Steve Gordon Date: Mon, 23 Jan 2023 14:43:08 +0000 Subject: [PATCH] Apply transforms from code-gen to fix index template (#7171) --- .../Core/UrlParameters/Name/Name.cs | 2 +- .../SimulateIndexTemplateRequest.g.cs | 10 ++-- .../Types/IndexManagement/IndexTemplate.g.cs | 4 +- .../GetTemplateResponseSerializationTests.cs | 49 +++++++++++++++++++ 4 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 tests/Tests/IndexManagement/TemplateManagement/GetTemplateResponseSerializationTests.cs diff --git a/src/Elastic.Clients.Elasticsearch/Core/UrlParameters/Name/Name.cs b/src/Elastic.Clients.Elasticsearch/Core/UrlParameters/Name/Name.cs index 5c0cc9279c9..906d3e34c38 100644 --- a/src/Elastic.Clients.Elasticsearch/Core/UrlParameters/Name/Name.cs +++ b/src/Elastic.Clients.Elasticsearch/Core/UrlParameters/Name/Name.cs @@ -26,7 +26,7 @@ public sealed class Name : IEquatable, IUrlParameter string IUrlParameter.GetString(ITransportConfiguration? settings) => Value; - public override string ToString() => DebugDisplay; + public override string ToString() => Value; public static implicit operator Name(string name) => name.IsNullOrEmpty() ? null : new Name(name); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Api/IndexManagement/SimulateIndexTemplateRequest.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Api/IndexManagement/SimulateIndexTemplateRequest.g.cs index 9c4a62a8347..c9378d6fdd7 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Api/IndexManagement/SimulateIndexTemplateRequest.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Api/IndexManagement/SimulateIndexTemplateRequest.g.cs @@ -61,7 +61,7 @@ public SimulateIndexTemplateRequest(Elastic.Clients.Elasticsearch.Name name) : b [JsonInclude] [JsonPropertyName("composed_of")] - public ICollection? ComposedOf { get; set; } + public ICollection? ComposedOf { get; set; } [JsonInclude] [JsonPropertyName("template")] @@ -116,7 +116,7 @@ public SimulateIndexTemplateRequestDescriptor Name(Elastic.Clients.El private bool? AllowAutoCreateValue { get; set; } - private ICollection? ComposedOfValue { get; set; } + private ICollection? ComposedOfValue { get; set; } private Elastic.Clients.Elasticsearch.IndexManagement.DataStreamVisibility? DataStreamValue { get; set; } @@ -166,7 +166,7 @@ public SimulateIndexTemplateRequestDescriptor AllowAutoCreate(bool? a return Self; } - public SimulateIndexTemplateRequestDescriptor ComposedOf(ICollection? composedOf) + public SimulateIndexTemplateRequestDescriptor ComposedOf(ICollection? composedOf) { ComposedOfValue = composedOf; return Self; @@ -321,7 +321,7 @@ public SimulateIndexTemplateRequestDescriptor Name(Elastic.Clients.Elasticsearch private bool? AllowAutoCreateValue { get; set; } - private ICollection? ComposedOfValue { get; set; } + private ICollection? ComposedOfValue { get; set; } private Elastic.Clients.Elasticsearch.IndexManagement.DataStreamVisibility? DataStreamValue { get; set; } @@ -371,7 +371,7 @@ public SimulateIndexTemplateRequestDescriptor AllowAutoCreate(bool? allowAutoCre return Self; } - public SimulateIndexTemplateRequestDescriptor ComposedOf(ICollection? composedOf) + public SimulateIndexTemplateRequestDescriptor ComposedOf(ICollection? composedOf) { ComposedOfValue = composedOf; return Self; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexTemplate.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexTemplate.g.cs index e046b8476be..55aff52c3e6 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexTemplate.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/IndexTemplate.g.cs @@ -37,7 +37,7 @@ public sealed partial class IndexTemplate [JsonInclude] [JsonPropertyName("composed_of")] - public IReadOnlyCollection ComposedOf { get; init; } + public IReadOnlyCollection ComposedOf { get; init; } [JsonInclude] [JsonPropertyName("data_stream")] @@ -45,7 +45,7 @@ public sealed partial class IndexTemplate [JsonInclude] [JsonPropertyName("index_patterns")] - public Elastic.Clients.Elasticsearch.Names IndexPatterns { get; init; } + public IReadOnlyCollection IndexPatterns { get; init; } [JsonInclude] [JsonPropertyName("priority")] diff --git a/tests/Tests/IndexManagement/TemplateManagement/GetTemplateResponseSerializationTests.cs b/tests/Tests/IndexManagement/TemplateManagement/GetTemplateResponseSerializationTests.cs new file mode 100644 index 00000000000..a1e1ac4e86e --- /dev/null +++ b/tests/Tests/IndexManagement/TemplateManagement/GetTemplateResponseSerializationTests.cs @@ -0,0 +1,49 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information. + +using System.Linq; +using Elastic.Clients.Elasticsearch.IndexManagement; +using Tests.Serialization; + +namespace Tests.IndexManagement.TemplateManagement; + +public class GetTemplateResponseSerializationTests : SerializerTestBase +{ + private const string ResponseJson = @"{ + ""index_templates"": [ + { + ""name"": ""template_1"", + ""index_template"": { + ""index_patterns"": [ + ""te*"" + ], + ""template"": { + ""settings"": { + ""index"": { + ""number_of_shards"": ""2"" + } + } + }, + ""composed_of"": [], + ""priority"": 1 + } + } + ] +}"; + + [U] + public void GetIndexTemplateResponse_DeserializesCorrectly_WhenIndexPatternsAreIncluded() + { + var response = DeserializeJsonString(ResponseJson); + + response.IndexTemplates.Should().HaveCount(1); + + var template = response.IndexTemplates.First(); + + template.Name.Should().Be("template_1"); + template.IndexTemplate.IndexPatterns.Should().HaveCount(1); + + template.IndexTemplate.IndexPatterns.First().Should().Be("te*"); + } +}