Skip to content

Commit 75e6921

Browse files
committed
Add version to PutTemplateRequest
Closes #2880
1 parent b018a97 commit 75e6921

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

src/Nest/Indices/IndexSettings/IndexTemplates/PutIndexTemplate/PutIndexTemplateRequest.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4+
using Newtonsoft.Json;
45

56
namespace Nest
67
{
78
public partial interface IPutIndexTemplateRequest : ITemplateMapping
89
{
10+
[JsonProperty("version")]
11+
int? Version { get; set; }
912
}
1013

1114
public partial class PutIndexTemplateRequest
@@ -14,6 +17,8 @@ public partial class PutIndexTemplateRequest
1417

1518
public int? Order { get; set; }
1619

20+
public int? Version { get; set; }
21+
1722
public IIndexSettings Settings { get; set; }
1823

1924
public IMappings Mappings { get; set; }
@@ -26,17 +31,22 @@ public partial class PutIndexTemplateDescriptor
2631
{
2732
int? ITemplateMapping.Order { get; set; }
2833

34+
int? IPutIndexTemplateRequest.Version { get; set; }
35+
2936
IIndexSettings ITemplateMapping.Settings { get; set; }
3037

3138
IMappings ITemplateMapping.Mappings { get; set; }
3239

3340
IAliases ITemplateMapping.Aliases { get; set; }
3441

35-
IReadOnlyCollection<string> ITemplateMapping.IndexPatterns {get;set;}
42+
IReadOnlyCollection<string> ITemplateMapping.IndexPatterns { get; set; }
3643

3744
public PutIndexTemplateDescriptor Order(int order) => Assign(a => a.Order = order);
3845

46+
public PutIndexTemplateDescriptor Version(int version) => Assign(a => a.Version = version);
47+
3948
public PutIndexTemplateDescriptor IndexPatterns(params string[] patterns)=> Assign(a => a.IndexPatterns = patterns);
49+
4050
public PutIndexTemplateDescriptor IndexPatterns(IEnumerable<string> patterns)=> Assign(a => a.IndexPatterns = patterns?.ToArray());
4151

4252
public PutIndexTemplateDescriptor Settings(Func<IndexSettingsDescriptor, IPromise<IIndexSettings>> settingsSelector) =>

src/Tests/Indices/IndexSettings/IndexTemplates/PutIndexTemplate/PutIndexTemplateApiTests.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using Elasticsearch.Net;
4+
using FluentAssertions;
45
using Nest;
56
using Tests.Framework;
67
using Tests.Framework.Integration;
@@ -10,7 +11,7 @@
1011
namespace Tests.Indices.IndexSettings.IndexTemplates.PutIndexTemplate
1112
{
1213
public class PutIndexTemplateApiTests
13-
: ApiTestBase<WritableCluster, IPutIndexTemplateResponse, IPutIndexTemplateRequest, PutIndexTemplateDescriptor, PutIndexTemplateRequest>
14+
: ApiIntegrationTestBase<WritableCluster, IPutIndexTemplateResponse, IPutIndexTemplateRequest, PutIndexTemplateDescriptor, PutIndexTemplateRequest>
1415
{
1516
public PutIndexTemplateApiTests(WritableCluster cluster, EndpointUsage usage) : base(cluster, usage)
1617
{
@@ -24,14 +25,15 @@ protected override LazyResponses ClientUsage() => Calls(
2425
);
2526

2627
protected override HttpMethod HttpMethod => HttpMethod.PUT;
27-
2828
protected override string UrlPath => $"/_template/{CallIsolatedValue}?create=false";
29-
3029
protected override bool SupportsDeserialization => false;
30+
protected override int ExpectStatusCode => 200;
31+
protected override bool ExpectIsValid => true;
3132

3233
protected override object ExpectJson { get; } = new
3334
{
3435
order = 1,
36+
version = 2,
3537
index_patterns = new [] {"nestx-*" },
3638
settings = new Dictionary<string, object> { { "index.number_of_shards", 1 } },
3739
mappings = new
@@ -61,6 +63,7 @@ protected override LazyResponses ClientUsage() => Calls(
6163

6264
protected override Func<PutIndexTemplateDescriptor, IPutIndexTemplateRequest> Fluent => d => d
6365
.Order(1)
66+
.Version(2)
6467
.IndexPatterns("nestx-*")
6568
.Create(false)
6669
.Settings(p=>p.NumberOfShards(1))
@@ -80,9 +83,12 @@ protected override LazyResponses ClientUsage() => Calls(
8083
)
8184
);
8285

86+
87+
8388
protected override PutIndexTemplateRequest Initializer => new PutIndexTemplateRequest(CallIsolatedValue)
8489
{
8590
Order = 1,
91+
Version = 2,
8692
IndexPatterns = new[] { "nestx-*" },
8793
Create = false,
8894
Settings = new Nest.IndexSettings
@@ -110,5 +116,11 @@ protected override LazyResponses ClientUsage() => Calls(
110116
}
111117
}
112118
};
119+
120+
protected override void ExpectResponse(IPutIndexTemplateResponse response)
121+
{
122+
response.ShouldBeValid();
123+
response.Acknowledged.Should().BeTrue();
124+
}
113125
}
114126
}

0 commit comments

Comments
 (0)