Skip to content

Commit 14a4770

Browse files
fix(api): Use blang/semver instead of golang/x/mod/sermver
1 parent e41f003 commit 14a4770

File tree

7 files changed

+147
-74
lines changed

7 files changed

+147
-74
lines changed

api/go.mod

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ replace github.com/nutanix-cloud-native/cluster-api-runtime-extensions-nutanix/c
1111

1212
require (
1313
github.com/aws/aws-sdk-go v1.55.5
14+
github.com/blang/semver/v4 v4.0.0
1415
github.com/nutanix-cloud-native/cluster-api-runtime-extensions-nutanix/common v0.7.0
1516
github.com/nutanix-cloud-native/prism-go-client v0.5.1
1617
github.com/onsi/gomega v1.34.2
17-
golang.org/x/mod v0.19.0
18+
github.com/stretchr/testify v1.9.0
1819
k8s.io/api v0.30.5
1920
k8s.io/apiextensions-apiserver v0.30.5
2021
k8s.io/apimachinery v0.30.5
@@ -25,7 +26,6 @@ require (
2526

2627
require (
2728
github.com/beorn7/perks v1.0.1 // indirect
28-
github.com/blang/semver/v4 v4.0.0 // indirect
2929
github.com/cespare/xxhash/v2 v2.2.0 // indirect
3030
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
3131
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
@@ -52,6 +52,7 @@ require (
5252
github.com/modern-go/reflect2 v1.0.2 // indirect
5353
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
5454
github.com/pkg/errors v0.9.1 // indirect
55+
github.com/pmezard/go-difflib v1.0.0 // indirect
5556
github.com/prometheus/client_golang v1.18.0 // indirect
5657
github.com/prometheus/client_model v0.6.0 // indirect
5758
github.com/prometheus/common v0.45.0 // indirect

api/go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,6 @@ golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0
121121
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
122122
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
123123
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
124-
golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
125-
golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
126124
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
127125
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
128126
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=

api/versions/coredns.go

Lines changed: 10 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/versions/coredns_test.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package versions
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
)
8+
9+
func TestReturnsCorrectCoreDNSVersionForValidKubernetesVersion(t *testing.T) {
10+
version, found := GetCoreDNSVersion("v1.27")
11+
assert.True(t, found)
12+
assert.Equal(t, "v1.10.1", version)
13+
}
14+
15+
func TestReturnsCorrectCoreDNSVersionForValidKubernetesVersionWithoutVPrefix(t *testing.T) {
16+
version, found := GetCoreDNSVersion("1.27")
17+
assert.True(t, found)
18+
assert.Equal(t, "v1.10.1", version)
19+
}
20+
21+
func TestReturnsFalseForInvalidKubernetesVersion(t *testing.T) {
22+
version, found := GetCoreDNSVersion("v2.99")
23+
assert.False(t, found)
24+
assert.Equal(t, "", version)
25+
}
26+
27+
func TestReturnsFalseForMalformedKubernetesVersion(t *testing.T) {
28+
version, found := GetCoreDNSVersion("invalid-version")
29+
assert.False(t, found)
30+
assert.Equal(t, "", version)
31+
}
32+
33+
func TestReturnsCorrectMappingForGetKubernetesToCoreDNSVersionMap(t *testing.T) {
34+
mapping := GetKubernetesToCoreDNSVersionMap()
35+
expected := map[string]string{
36+
"v1.22": "v1.8.4",
37+
"v1.23": "v1.8.6",
38+
"v1.24": "v1.8.6",
39+
"v1.25": "v1.9.3",
40+
"v1.26": "v1.9.3",
41+
"v1.27": "v1.10.1",
42+
"v1.28": "v1.10.1",
43+
"v1.29": "v1.11.1",
44+
"v1.30": "v1.11.3",
45+
"v1.31": "v1.11.3",
46+
}
47+
assert.Equal(t, expected, mapping)
48+
}

0 commit comments

Comments
 (0)