@@ -178,27 +178,52 @@ func TestKubernetes(t *testing.T) {
178178 t .Run ("ModifyKubernetesClusterRequestMarshal" , func (t * testing.T ) {
179179 t .Parallel ()
180180
181- expected := `{ "control_plane_ip_filter": ["0.0.0.0/0"] }`
182-
183- uuid := "this-is-the-uuid-you-are-looking-for"
184- r := ModifyKubernetesClusterRequest {
185- ClusterUUID : uuid ,
186- Cluster : ModifyKubernetesCluster {
187- ControlPlaneIPFilter : []string {"0.0.0.0/0" },
181+ tests := []struct {
182+ request ModifyKubernetesClusterRequest
183+ expected string
184+ }{
185+ {
186+ request : ModifyKubernetesClusterRequest {
187+ ClusterUUID : "set-filter-omit-labels" ,
188+ Cluster : ModifyKubernetesCluster {
189+ ControlPlaneIPFilter : & []string {"0.0.0.0/0" },
190+ },
191+ },
192+ expected : `{ "control_plane_ip_filter": ["0.0.0.0/0"] }` ,
193+ },
194+ {
195+ request : ModifyKubernetesClusterRequest {
196+ ClusterUUID : "omit-filter-set-labels" ,
197+ Cluster : ModifyKubernetesCluster {
198+ Labels : & []upcloud.Label {{Key : "tool" , Value : "Go SDK" }},
199+ },
200+ },
201+ expected : `{ "labels": [{"key": "tool", "value": "Go SDK"}] }` ,
202+ },
203+ {
204+ request : ModifyKubernetesClusterRequest {
205+ ClusterUUID : "clear-filter-clear-labels" ,
206+ Cluster : ModifyKubernetesCluster {
207+ ControlPlaneIPFilter : & []string {},
208+ Labels : & []upcloud.Label {},
209+ },
210+ },
211+ expected : `{ "control_plane_ip_filter": [], "labels": [] }` ,
188212 },
189213 }
190-
191- assert .Equal (t , fmt .Sprintf ("%s/%s" , kubernetesClusterBasePath , uuid ), r .RequestURL ())
192-
193- b , err := json .Marshal (& r )
194- actual := string (b )
195-
196- assert .NoError (t , err )
197- assert .JSONEq (
198- t ,
199- expected ,
200- actual ,
201- )
214+ for _ , test := range tests {
215+ assert .Equal (t , fmt .Sprintf ("%s/%s" , kubernetesClusterBasePath , test .request .ClusterUUID ), test .request .RequestURL ())
216+
217+ b , err := json .Marshal (& test .request )
218+ actual := string (b )
219+
220+ assert .NoError (t , err )
221+ assert .JSONEq (
222+ t ,
223+ test .expected ,
224+ actual ,
225+ )
226+ }
202227 })
203228
204229 t .Run ("DeleteKubernetesClusterRequest" , func (t * testing.T ) {
0 commit comments