@@ -17,6 +17,7 @@ limitations under the License.
17
17
package utils
18
18
19
19
import (
20
+ "github.com/blang/semver"
20
21
"github.com/google/go-cmp/cmp"
21
22
. "github.com/onsi/gomega"
22
23
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -29,7 +30,7 @@ import (
29
30
30
31
func TestKubeVersionToKubeadmAPIGroupVersion (t * testing.T ) {
31
32
type args struct {
32
- k8sVersion string
33
+ version semver. Version
33
34
}
34
35
tests := []struct {
35
36
name string
@@ -40,47 +41,47 @@ func TestKubeVersionToKubeadmAPIGroupVersion(t *testing.T) {
40
41
{
41
42
name : "fails when kubernetes version is too old" ,
42
43
args : args {
43
- k8sVersion : "v1 .12.0" ,
44
+ version : semver . MustParse ( "1 .12.0") ,
44
45
},
45
46
want : schema.GroupVersion {},
46
47
wantErr : true ,
47
48
},
48
49
{
49
50
name : "pass with minimum kubernetes version for kubeadm API v1beta1" ,
50
51
args : args {
51
- k8sVersion : "v1 .13.0" ,
52
+ version : semver . MustParse ( "1 .13.0") ,
52
53
},
53
54
want : v1beta1 .GroupVersion ,
54
55
wantErr : false ,
55
56
},
56
57
{
57
58
name : "pass with kubernetes version for kubeadm API v1beta1" ,
58
59
args : args {
59
- k8sVersion : "v1 .14.99" ,
60
+ version : semver . MustParse ( "1 .14.99") ,
60
61
},
61
62
want : v1beta1 .GroupVersion ,
62
63
wantErr : false ,
63
64
},
64
65
{
65
66
name : "pass with minimum kubernetes version for kubeadm API v1beta2" ,
66
67
args : args {
67
- k8sVersion : "v1 .15.0" ,
68
+ version : semver . MustParse ( "1 .15.0") ,
68
69
},
69
70
want : v1beta2 .GroupVersion ,
70
71
wantErr : false ,
71
72
},
72
73
{
73
74
name : "pass with kubernetes version for kubeadm API v1beta2" ,
74
75
args : args {
75
- k8sVersion : "v1 .20.99" ,
76
+ version : semver . MustParse ( "1 .20.99") ,
76
77
},
77
78
want : v1beta2 .GroupVersion ,
78
79
wantErr : false ,
79
80
},
80
81
{
81
82
name : "pass with future kubernetes version" ,
82
83
args : args {
83
- k8sVersion : "v99 .99.99" ,
84
+ version : semver . MustParse ( "99 .99.99") ,
84
85
},
85
86
want : v1beta2 .GroupVersion ,
86
87
wantErr : false ,
@@ -90,7 +91,7 @@ func TestKubeVersionToKubeadmAPIGroupVersion(t *testing.T) {
90
91
t .Run (tt .name , func (t * testing.T ) {
91
92
g := NewWithT (t )
92
93
93
- got , err := KubeVersionToKubeadmAPIGroupVersion (tt .args .k8sVersion )
94
+ got , err := KubeVersionToKubeadmAPIGroupVersion (tt .args .version )
94
95
if tt .wantErr {
95
96
g .Expect (err ).To (HaveOccurred ())
96
97
return
@@ -103,8 +104,8 @@ func TestKubeVersionToKubeadmAPIGroupVersion(t *testing.T) {
103
104
104
105
func TestMarshalClusterConfigurationForVersion (t * testing.T ) {
105
106
type args struct {
106
- capiObj * bootstrapv1.ClusterConfiguration
107
- k8sVersion string
107
+ capiObj * bootstrapv1.ClusterConfiguration
108
+ version semver. Version
108
109
}
109
110
tests := []struct {
110
111
name string
@@ -115,8 +116,8 @@ func TestMarshalClusterConfigurationForVersion(t *testing.T) {
115
116
{
116
117
name : "Generates a v1beta1 kubeadm configuration" ,
117
118
args : args {
118
- capiObj : & bootstrapv1.ClusterConfiguration {},
119
- k8sVersion : "v1 .14.9" ,
119
+ capiObj : & bootstrapv1.ClusterConfiguration {},
120
+ version : semver . MustParse ( "1 .14.9") ,
120
121
},
121
122
want : "apiServer: {}\n " +
122
123
"apiVersion: kubeadm.k8s.io/v1beta1\n " + "" +
@@ -131,8 +132,8 @@ func TestMarshalClusterConfigurationForVersion(t *testing.T) {
131
132
{
132
133
name : "Generates a v1beta2 kubeadm configuration" ,
133
134
args : args {
134
- capiObj : & bootstrapv1.ClusterConfiguration {},
135
- k8sVersion : "v1 .15.0" ,
135
+ capiObj : & bootstrapv1.ClusterConfiguration {},
136
+ version : semver . MustParse ( "1 .15.0") ,
136
137
},
137
138
want : "apiServer: {}\n " +
138
139
"apiVersion: kubeadm.k8s.io/v1beta2\n " + "" +
@@ -149,7 +150,7 @@ func TestMarshalClusterConfigurationForVersion(t *testing.T) {
149
150
t .Run (tt .name , func (t * testing.T ) {
150
151
g := NewWithT (t )
151
152
152
- got , err := MarshalClusterConfigurationForVersion (tt .args .capiObj , tt .args .k8sVersion )
153
+ got , err := MarshalClusterConfigurationForVersion (tt .args .capiObj , tt .args .version )
153
154
if tt .wantErr {
154
155
g .Expect (err ).To (HaveOccurred ())
155
156
return
@@ -162,8 +163,8 @@ func TestMarshalClusterConfigurationForVersion(t *testing.T) {
162
163
163
164
func TestMarshalClusterStatusForVersion (t * testing.T ) {
164
165
type args struct {
165
- capiObj * bootstrapv1.ClusterStatus
166
- k8sVersion string
166
+ capiObj * bootstrapv1.ClusterStatus
167
+ version semver. Version
167
168
}
168
169
tests := []struct {
169
170
name string
@@ -174,8 +175,8 @@ func TestMarshalClusterStatusForVersion(t *testing.T) {
174
175
{
175
176
name : "Generates a v1beta1 kubeadm status" ,
176
177
args : args {
177
- capiObj : & bootstrapv1.ClusterStatus {},
178
- k8sVersion : "v1 .14.9" ,
178
+ capiObj : & bootstrapv1.ClusterStatus {},
179
+ version : semver . MustParse ( "1 .14.9") ,
179
180
},
180
181
want : "apiEndpoints: null\n " +
181
182
"apiVersion: kubeadm.k8s.io/v1beta1\n " + "" +
@@ -185,8 +186,8 @@ func TestMarshalClusterStatusForVersion(t *testing.T) {
185
186
{
186
187
name : "Generates a v1beta2 kubeadm status" ,
187
188
args : args {
188
- capiObj : & bootstrapv1.ClusterStatus {},
189
- k8sVersion : "v1 .15.0" ,
189
+ capiObj : & bootstrapv1.ClusterStatus {},
190
+ version : semver . MustParse ( "1 .15.0") ,
190
191
},
191
192
want : "apiEndpoints: null\n " +
192
193
"apiVersion: kubeadm.k8s.io/v1beta2\n " + "" +
@@ -198,7 +199,7 @@ func TestMarshalClusterStatusForVersion(t *testing.T) {
198
199
t .Run (tt .name , func (t * testing.T ) {
199
200
g := NewWithT (t )
200
201
201
- got , err := MarshalClusterStatusForVersion (tt .args .capiObj , tt .args .k8sVersion )
202
+ got , err := MarshalClusterStatusForVersion (tt .args .capiObj , tt .args .version )
202
203
if tt .wantErr {
203
204
g .Expect (err ).To (HaveOccurred ())
204
205
return
@@ -211,8 +212,8 @@ func TestMarshalClusterStatusForVersion(t *testing.T) {
211
212
212
213
func TestMarshalInitConfigurationForVersion (t * testing.T ) {
213
214
type args struct {
214
- capiObj * bootstrapv1.InitConfiguration
215
- k8sVersion string
215
+ capiObj * bootstrapv1.InitConfiguration
216
+ version semver. Version
216
217
}
217
218
tests := []struct {
218
219
name string
@@ -223,8 +224,8 @@ func TestMarshalInitConfigurationForVersion(t *testing.T) {
223
224
{
224
225
name : "Generates a v1beta1 kubeadm configuration" ,
225
226
args : args {
226
- capiObj : & bootstrapv1.InitConfiguration {},
227
- k8sVersion : "v1 .14.9" ,
227
+ capiObj : & bootstrapv1.InitConfiguration {},
228
+ version : semver . MustParse ( "1 .14.9") ,
228
229
},
229
230
want : "apiVersion: kubeadm.k8s.io/v1beta1\n " +
230
231
"kind: InitConfiguration\n " +
@@ -237,8 +238,8 @@ func TestMarshalInitConfigurationForVersion(t *testing.T) {
237
238
{
238
239
name : "Generates a v1beta2 kubeadm configuration" ,
239
240
args : args {
240
- capiObj : & bootstrapv1.InitConfiguration {},
241
- k8sVersion : "v1 .15.0" ,
241
+ capiObj : & bootstrapv1.InitConfiguration {},
242
+ version : semver . MustParse ( "1 .15.0") ,
242
243
},
243
244
want : "apiVersion: kubeadm.k8s.io/v1beta2\n " +
244
245
"kind: InitConfiguration\n " +
@@ -251,7 +252,7 @@ func TestMarshalInitConfigurationForVersion(t *testing.T) {
251
252
t .Run (tt .name , func (t * testing.T ) {
252
253
g := NewWithT (t )
253
254
254
- got , err := MarshalInitConfigurationForVersion (tt .args .capiObj , tt .args .k8sVersion )
255
+ got , err := MarshalInitConfigurationForVersion (tt .args .capiObj , tt .args .version )
255
256
if tt .wantErr {
256
257
g .Expect (err ).To (HaveOccurred ())
257
258
return
@@ -264,8 +265,8 @@ func TestMarshalInitConfigurationForVersion(t *testing.T) {
264
265
265
266
func TestMarshalJoinConfigurationForVersion (t * testing.T ) {
266
267
type args struct {
267
- capiObj * bootstrapv1.JoinConfiguration
268
- k8sVersion string
268
+ capiObj * bootstrapv1.JoinConfiguration
269
+ version semver. Version
269
270
}
270
271
tests := []struct {
271
272
name string
@@ -276,8 +277,8 @@ func TestMarshalJoinConfigurationForVersion(t *testing.T) {
276
277
{
277
278
name : "Generates a v1beta1 kubeadm configuration" ,
278
279
args : args {
279
- capiObj : & bootstrapv1.JoinConfiguration {},
280
- k8sVersion : "v1 .14.9" ,
280
+ capiObj : & bootstrapv1.JoinConfiguration {},
281
+ version : semver . MustParse ( "1 .14.9") ,
281
282
},
282
283
want : "apiVersion: kubeadm.k8s.io/v1beta1\n " + "" +
283
284
"discovery: {}\n " +
@@ -288,8 +289,8 @@ func TestMarshalJoinConfigurationForVersion(t *testing.T) {
288
289
{
289
290
name : "Generates a v1beta2 kubeadm configuration" ,
290
291
args : args {
291
- capiObj : & bootstrapv1.JoinConfiguration {},
292
- k8sVersion : "v1 .15.0" ,
292
+ capiObj : & bootstrapv1.JoinConfiguration {},
293
+ version : semver . MustParse ( "1 .15.0") ,
293
294
},
294
295
want : "apiVersion: kubeadm.k8s.io/v1beta2\n " + "" +
295
296
"discovery: {}\n " +
@@ -302,7 +303,7 @@ func TestMarshalJoinConfigurationForVersion(t *testing.T) {
302
303
t .Run (tt .name , func (t * testing.T ) {
303
304
g := NewWithT (t )
304
305
305
- got , err := MarshalJoinConfigurationForVersion (tt .args .capiObj , tt .args .k8sVersion )
306
+ got , err := MarshalJoinConfigurationForVersion (tt .args .capiObj , tt .args .version )
306
307
if tt .wantErr {
307
308
g .Expect (err ).To (HaveOccurred ())
308
309
return
0 commit comments