Skip to content

Commit 1fdccf6

Browse files
Fix code-gen for enums with aliases. (#7253) (#7254)
* Update integration jobs version matrix * Add GetDataStream serialization test * Enum codegen now supports aliases for converters Co-authored-by: Steve Gordon <[email protected]>
1 parent be40b2a commit 1fdccf6

File tree

7 files changed

+97
-1
lines changed

7 files changed

+97
-1
lines changed

.github/workflows/integration-jobs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
'8.3.3',
2828
'8.4.3',
2929
'8.5.3',
30-
'8.6.1',
30+
'8.6.2',
3131
'8.7.0-SNAPSHOT',
3232
'latest-8'
3333
]

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs

+8
Original file line numberDiff line numberDiff line change
@@ -53,20 +53,28 @@ public override CalendarInterval Read(ref Utf8JsonReader reader, Type typeToConv
5353
switch (enumString)
5454
{
5555
case "year":
56+
case "1Y":
5657
return CalendarInterval.Year;
5758
case "week":
59+
case "1w":
5860
return CalendarInterval.Week;
5961
case "second":
62+
case "1s":
6063
return CalendarInterval.Second;
6164
case "quarter":
65+
case "1q":
6266
return CalendarInterval.Quarter;
6367
case "month":
68+
case "1M":
6469
return CalendarInterval.Month;
6570
case "minute":
71+
case "1m":
6672
return CalendarInterval.Minute;
6773
case "hour":
74+
case "1h":
6875
return CalendarInterval.Hour;
6976
case "day":
77+
case "1d":
7078
return CalendarInterval.Day;
7179
}
7280

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs

+6
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,10 @@ public override SegmentSortMode Read(ref Utf8JsonReader reader, Type typeToConve
377377
switch (enumString)
378378
{
379379
case "min":
380+
case "MIN":
380381
return SegmentSortMode.Min;
381382
case "max":
383+
case "MAX":
382384
return SegmentSortMode.Max;
383385
}
384386

@@ -419,8 +421,10 @@ public override SegmentSortOrder Read(ref Utf8JsonReader reader, Type typeToConv
419421
switch (enumString)
420422
{
421423
case "desc":
424+
case "DESC":
422425
return SegmentSortOrder.Desc;
423426
case "asc":
427+
case "ASC":
424428
return SegmentSortOrder.Asc;
425429
}
426430

@@ -537,8 +541,10 @@ public override TranslogDurability Read(ref Utf8JsonReader reader, Type typeToCo
537541
switch (enumString)
538542
{
539543
case "request":
544+
case "REQUEST":
540545
return TranslogDurability.Request;
541546
case "async":
547+
case "ASYNC":
542548
return TranslogDurability.Async;
543549
}
544550

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs

+6
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,14 @@ public override GeoOrientation Read(ref Utf8JsonReader reader, Type typeToConver
419419
switch (enumString)
420420
{
421421
case "right":
422+
case "RIGHT":
423+
case "counterclockwise":
424+
case "ccw":
422425
return GeoOrientation.Right;
423426
case "left":
427+
case "LEFT":
428+
case "clockwise":
429+
case "cw":
424430
return GeoOrientation.Left;
425431
}
426432

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs

+3
Original file line numberDiff line numberDiff line change
@@ -470,10 +470,13 @@ public override HealthStatus Read(ref Utf8JsonReader reader, Type typeToConvert,
470470
switch (enumString)
471471
{
472472
case "yellow":
473+
case "YELLOW":
473474
return HealthStatus.Yellow;
474475
case "red":
476+
case "RED":
475477
return HealthStatus.Red;
476478
case "green":
479+
case "GREEN":
477480
return HealthStatus.Green;
478481
}
479482

src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs

+2
Original file line numberDiff line numberDiff line change
@@ -426,8 +426,10 @@ public override Operator Read(ref Utf8JsonReader reader, Type typeToConvert, Jso
426426
switch (enumString)
427427
{
428428
case "or":
429+
case "OR":
429430
return Operator.Or;
430431
case "and":
432+
case "AND":
431433
return Operator.And;
432434
}
433435

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
// Licensed to Elasticsearch B.V under one or more agreements.
2+
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System.Linq;
6+
using Elastic.Clients.Elasticsearch.IndexManagement;
7+
using Tests.Serialization;
8+
9+
namespace Tests.IndexManagement.DataStreamManagement;
10+
11+
public class GetDataStreamSerializationTests : SerializerTestBase
12+
{
13+
[U]
14+
public void GetIndexResponse_IsDeserializedCorrectly()
15+
{
16+
const string json = @"{
17+
""data_streams"": [
18+
{
19+
""name"": ""logs-dev"",
20+
""timestamp_field"": {
21+
""name"": ""@timestamp""
22+
},
23+
""indices"": [
24+
{
25+
""index_name"": "".ds-logs-dev-2023.02.16-000001"",
26+
""index_uuid"": ""xyWXN5T1Rm6_sOCayv7GDA""
27+
}
28+
],
29+
""generation"": 1,
30+
""_meta"": {
31+
""description"": ""default logs template installed by x-pack"",
32+
""managed"": true
33+
},
34+
""status"": ""GREEN"",
35+
""template"": ""logs"",
36+
""ilm_policy"": ""logs"",
37+
""hidden"": false,
38+
""system"": false,
39+
""allow_custom_routing"": false,
40+
""replicated"": false
41+
}
42+
]
43+
}";
44+
45+
var response = DeserializeJsonString<GetDataStreamResponse>(json);
46+
47+
response.DataStreams.Count.Should().Be(1);
48+
49+
var dataStream = response.DataStreams.First();
50+
51+
dataStream.Name.Should().Be("logs-dev");
52+
dataStream.TimestampField.Name.Should().Be("@timestamp");
53+
54+
dataStream.Indices.Count.Should().Be(1);
55+
var indices = dataStream.Indices.First();
56+
indices.IndexName.Should().Be(".ds-logs-dev-2023.02.16-000001");
57+
indices.IndexUuid.Should().Be("xyWXN5T1Rm6_sOCayv7GDA");
58+
59+
dataStream.Generation.Should().Be(1);
60+
dataStream.Meta["description"].Should().Be("default logs template installed by x-pack");
61+
dataStream.Meta["managed"].Should().Be(true);
62+
dataStream.Status.Should().Be(HealthStatus.Green);
63+
dataStream.Template.Should().Be("logs");
64+
dataStream.IlmPolicy.Should().Be("logs");
65+
dataStream.Hidden.Should().Be(false);
66+
dataStream.System.Should().Be(false);
67+
dataStream.AllowCustomRouting.Should().Be(false);
68+
dataStream.Replicated.Should().Be(false);
69+
}
70+
}
71+

0 commit comments

Comments
 (0)