@@ -6,9 +6,12 @@ import (
66
77 "github.com/hashicorp/terraform-plugin-testing/helper/resource"
88 "github.com/hashicorp/terraform-plugin-testing/terraform"
9- "github.com/scaleway/scaleway-sdk-go/api/k8s/v1"
9+ k8sSDK "github.com/scaleway/scaleway-sdk-go/api/k8s/v1"
1010 "github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest"
1111 "github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
12+ "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/k8s"
13+ "github.com/stretchr/testify/assert"
14+ "github.com/stretchr/testify/require"
1215 "golang.org/x/mod/semver"
1316)
1417
@@ -125,9 +128,9 @@ func testAccCheckK8SVersionExists(tt *acctest.TestTools, n string) resource.Test
125128 return err
126129 }
127130
128- k8sAPI := k8s .NewAPI (tt .Meta .ScwClient ())
131+ k8sAPI := k8sSDK .NewAPI (tt .Meta .ScwClient ())
129132
130- _ , err = k8sAPI .GetVersion (& k8s .GetVersionRequest {
133+ _ , err = k8sAPI .GetVersion (& k8sSDK .GetVersionRequest {
131134 Region : region ,
132135 VersionName : name ,
133136 })
@@ -138,3 +141,35 @@ func testAccCheckK8SVersionExists(tt *acctest.TestTools, n string) resource.Test
138141 return nil
139142 }
140143}
144+
145+ func TestVersionNameWithoutPatch (t * testing.T ) {
146+ tt := acctest .NewTestTools (t )
147+ defer tt .Cleanup ()
148+
149+ t .Run ("ok-without-prefix" , func (t * testing.T ) {
150+ version := "1.32.3"
151+ expected := "1.32"
152+ actual , err := k8s .VersionNameWithoutPatch (version )
153+ require .NoError (t , err )
154+ assert .Equal (t , expected , actual )
155+ })
156+ t .Run ("ok-with-prefix" , func (t * testing.T ) {
157+ version := "v2.57.9"
158+ expected := "v2.57"
159+ actual , err := k8s .VersionNameWithoutPatch (version )
160+ require .NoError (t , err )
161+ assert .Equal (t , expected , actual )
162+ })
163+ t .Run ("errors" , func (t * testing.T ) {
164+ versionsToTest := []string {
165+ "1.32.3.4" ,
166+ "1.32" ,
167+ "" ,
168+ }
169+ for _ , version := range versionsToTest {
170+ expectedError := "version name must contain 3 parts"
171+ _ , err := k8s .VersionNameWithoutPatch (version )
172+ assert .ErrorContains (t , err , expectedError )
173+ }
174+ })
175+ }
0 commit comments