Skip to content

Commit 4dd0073

Browse files
author
Christoph Bühler
committed
refactor(crd casting): remove the custom method to cast CRDs.
This removes the custom method for the transition from V1CustomResourceDefinition to V1Beta1CustomResourceDefinition. This is provided by an AutoMapper implementation of the k8s package.
1 parent 8c38085 commit 4dd0073

File tree

5 files changed

+22
-112
lines changed

5 files changed

+22
-112
lines changed

src/KubeOps/Operator/Commands/Generators/CrdGenerator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public async Task<int> OnExecuteAsync(CommandLineApplication app)
6868
foreach (var crd in crds)
6969
{
7070
var output = UseOldCrds
71-
? _serializer.Serialize(crd.Convert(), Format)
71+
? _serializer.Serialize((V1beta1CustomResourceDefinition)crd, Format)
7272
: _serializer.Serialize(crd, Format);
7373

7474
if (!string.IsNullOrWhiteSpace(OutputPath))

src/KubeOps/Operator/Commands/Management/Install.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
using System.Linq;
33
using System.Net;
44
using System.Threading.Tasks;
5+
using k8s.Models;
56
using KubeOps.Operator.Client;
67
using KubeOps.Operator.Commands.Generators;
7-
using KubeOps.Operator.Entities;
8-
using KubeOps.Operator.Entities.Extensions;
98
using McMaster.Extensions.CommandLineUtils;
109
using Microsoft.Rest;
1110

@@ -46,7 +45,7 @@ await app.Out.WriteLineAsync(
4645
}
4746
catch (HttpOperationException e) when (e.Response.StatusCode == HttpStatusCode.NotFound)
4847
{
49-
await _client.Save(crd.Convert());
48+
await _client.Save((V1beta1CustomResourceDefinition)crd);
5049
}
5150
}
5251
catch (HttpOperationException e)

src/KubeOps/Operator/Commands/Management/Uninstall.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
using System.Linq;
33
using System.Net;
44
using System.Threading.Tasks;
5+
using k8s.Models;
56
using KubeOps.Operator.Client;
67
using KubeOps.Operator.Commands.Generators;
7-
using KubeOps.Operator.Entities.Extensions;
88
using McMaster.Extensions.CommandLineUtils;
99
using Microsoft.Rest;
1010

@@ -54,7 +54,7 @@ await app.Out.WriteLineAsync(
5454
}
5555
catch (HttpOperationException e) when (e.Response.StatusCode == HttpStatusCode.NotFound)
5656
{
57-
await _client.Delete(crd.Convert());
57+
await _client.Delete((V1beta1CustomResourceDefinition)crd);
5858
}
5959
}
6060
catch (HttpOperationException e)

src/KubeOps/Operator/Entities/Extensions/V1CustomResourceDefinitionExtensions.cs

Lines changed: 0 additions & 89 deletions
This file was deleted.

tests/KubeOps.Test/Operator/Entities/V1CustomResourceDefinitionConvert.Test.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class V1CustomResourceDefinitionConvertTest
1515
[Fact]
1616
public void Should_Correctly_Translate_CRD()
1717
{
18-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
18+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
1919
var ced = CustomEntityDefinitionExtensions.CreateResourceDefinition(_testSpecEntity);
2020

2121
crd.Kind.Should().Be(V1CustomResourceDefinition.KubeKind);
@@ -30,14 +30,14 @@ public void Should_Correctly_Translate_CRD()
3030
[Fact]
3131
public void Should_Add_Status_SubResource_If_Present()
3232
{
33-
var crd = EntityToCrdExtensions.CreateCrd(_testStatusEntity).Convert();
33+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testStatusEntity);
3434
crd.Spec.Subresources.Status.Should().NotBeNull();
3535
}
3636

3737
[Fact]
3838
public void Should_Not_Add_Status_SubResource_If_Absent()
3939
{
40-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
40+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
4141
crd.Spec.Subresources?.Status?.Should().BeNull();
4242
}
4343

@@ -52,7 +52,7 @@ public void Should_Not_Add_Status_SubResource_If_Absent()
5252
[InlineData("Enum", "string", null)]
5353
public void Should_Set_The_Correct_Type_And_Format_For_Types(string fieldName, string typeName, string? format)
5454
{
55-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
55+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
5656

5757
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
5858
specProperties.Type.Should().Be("object");
@@ -71,7 +71,7 @@ public void Should_Set_The_Correct_Type_And_Format_For_Types(string fieldName, s
7171
[Fact]
7272
public void Should_Set_The_Correct_Array_Type()
7373
{
74-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
74+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
7575
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
7676

7777
var normalField = specProperties.Properties["stringArray"];
@@ -88,7 +88,7 @@ public void Should_Set_The_Correct_Array_Type()
8888
[Fact]
8989
public void Should_Set_Description_On_Class()
9090
{
91-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
91+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
9292

9393
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
9494
specProperties.Description.Should().NotBe("");
@@ -97,7 +97,7 @@ public void Should_Set_Description_On_Class()
9797
[Fact]
9898
public void Should_Set_Description()
9999
{
100-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
100+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
101101

102102
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
103103
var field = specProperties.Properties["description"];
@@ -108,7 +108,7 @@ public void Should_Set_Description()
108108
[Fact]
109109
public void Should_Set_ExternalDocs()
110110
{
111-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
111+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
112112

113113
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
114114
var field = specProperties.Properties["externalDocs"];
@@ -119,7 +119,7 @@ public void Should_Set_ExternalDocs()
119119
[Fact]
120120
public void Should_Set_ExternalDocs_Description()
121121
{
122-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
122+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
123123

124124
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
125125
var field = specProperties.Properties["externalDocsWithDescription"];
@@ -130,7 +130,7 @@ public void Should_Set_ExternalDocs_Description()
130130
[Fact]
131131
public void Should_Set_Item_Information()
132132
{
133-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
133+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
134134

135135
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
136136
var field = specProperties.Properties["items"];
@@ -144,7 +144,7 @@ public void Should_Set_Item_Information()
144144
[Fact]
145145
public void Should_Set_Length_Information()
146146
{
147-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
147+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
148148

149149
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
150150
var field = specProperties.Properties["length"];
@@ -156,7 +156,7 @@ public void Should_Set_Length_Information()
156156
[Fact]
157157
public void Should_Set_MultipleOf()
158158
{
159-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
159+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
160160

161161
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
162162
var field = specProperties.Properties["multipleOf"];
@@ -167,7 +167,7 @@ public void Should_Set_MultipleOf()
167167
[Fact]
168168
public void Should_Set_Pattern()
169169
{
170-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
170+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
171171

172172
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
173173
var field = specProperties.Properties["pattern"];
@@ -178,7 +178,7 @@ public void Should_Set_Pattern()
178178
[Fact]
179179
public void Should_Set_RangeMinimum()
180180
{
181-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
181+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
182182

183183
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
184184
var field = specProperties.Properties["rangeMinimum"];
@@ -190,7 +190,7 @@ public void Should_Set_RangeMinimum()
190190
[Fact]
191191
public void Should_Set_RangeMaximum()
192192
{
193-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
193+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
194194

195195
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
196196
var field = specProperties.Properties["rangeMaximum"];
@@ -202,7 +202,7 @@ public void Should_Set_RangeMaximum()
202202
[Fact]
203203
public void Should_Set_Required()
204204
{
205-
var crd = EntityToCrdExtensions.CreateCrd(_testSpecEntity).Convert();
205+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testSpecEntity);
206206

207207
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
208208
specProperties.Required.Should().Contain("required");
@@ -211,7 +211,7 @@ public void Should_Set_Required()
211211
[Fact]
212212
public void Should_Set_Required_Null_If_No_Required()
213213
{
214-
var crd = EntityToCrdExtensions.CreateCrd(_testStatusEntity).Convert();
214+
var crd = (V1beta1CustomResourceDefinition)EntityToCrdExtensions.CreateCrd(_testStatusEntity);
215215

216216
var specProperties = crd.Spec.Validation.OpenAPIV3Schema.Properties["spec"];
217217
specProperties.Required.Should().BeNull();

0 commit comments

Comments
 (0)