Skip to content

Commit 89e12c3

Browse files
authored
fix(server): do not modify boolean values by default (#249)
1 parent df833eb commit 89e12c3

3 files changed

Lines changed: 31 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/)
1313
### Changed
1414
- `service.GetKubernetesNodeGroup` method to return `upcloud.KubernetesNodeGroupDetails` type which is extended version of the previous `upcloud.KubernetesNodeGroup`
1515

16+
### Fixed
17+
- `request.ModifyServerRequest` does not set boolean properties `Metadata` and `RemoteAccessEnabled` to `"no"` by default.
18+
1619
## [6.3.2]
1720

1821
### Added

upcloud/request/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,14 +320,14 @@ type ModifyServerRequest struct {
320320
Hostname string `json:"hostname,omitempty"`
321321
Labels *upcloud.LabelSlice `json:"labels,omitempty"`
322322
MemoryAmount int `json:"memory_amount,omitempty,string"`
323-
Metadata upcloud.Boolean `json:"metadata"`
323+
Metadata upcloud.Boolean `json:"metadata,omitempty"`
324324
NICModel string `json:"nic_model,omitempty"`
325325
Plan string `json:"plan,omitempty"`
326326
SimpleBackup string `json:"simple_backup,omitempty"`
327327
TimeZone string `json:"timezone,omitempty"`
328328
Title string `json:"title,omitempty"`
329329
VideoModel string `json:"video_model,omitempty"`
330-
RemoteAccessEnabled upcloud.Boolean `json:"remote_access_enabled"`
330+
RemoteAccessEnabled upcloud.Boolean `json:"remote_access_enabled,omitempty"`
331331
RemoteAccessType string `json:"remote_access_type,omitempty"`
332332
RemoteAccessPassword string `json:"remote_access_password,omitempty"`
333333
Zone string `json:"zone,omitempty"`

upcloud/request/server_test.go

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,32 @@ func TestModifyServerRequest(t *testing.T) {
331331
"core_number": "8",
332332
"memory_amount": "16384",
333333
"plan" : "custom",
334-
"metadata": "yes",
335-
"remote_access_enabled": "no"
334+
"metadata": "yes"
335+
}
336+
}
337+
`
338+
actualJSON, err := json.Marshal(&request)
339+
assert.Nil(t, err)
340+
assert.JSONEq(t, expectedJSON, string(actualJSON))
341+
assert.Equal(t, "/server/foo", request.RequestURL())
342+
}
343+
344+
func TestModifyServerRequest_BooleanDefaults(t *testing.T) {
345+
request := ModifyServerRequest{
346+
UUID: "foo",
347+
Title: "Modified server",
348+
CoreNumber: 8,
349+
MemoryAmount: 16384,
350+
Plan: "custom",
351+
}
352+
353+
expectedJSON := `
354+
{
355+
"server" : {
356+
"title": "Modified server",
357+
"core_number": "8",
358+
"memory_amount": "16384",
359+
"plan" : "custom"
336360
}
337361
}
338362
`

0 commit comments

Comments
 (0)