Skip to content

Commit 30e2489

Browse files
test(Instance/Volume): fix "Error: only block volume can be resized" (#834)
1 parent a10addc commit 30e2489

4 files changed

+576
-6866
lines changed

scaleway/resource_instance_server_test.go

+2-38
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package scaleway
22

33
import (
44
"fmt"
5+
"regexp"
56
"testing"
67

78
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
@@ -113,12 +114,7 @@ func TestAccScalewayInstanceServer_RootVolume1(t *testing.T) {
113114
CheckDestroy: testAccCheckScalewayInstanceServerDestroy(tt),
114115
Steps: []resource.TestStep{
115116
{
116-
// 10 Gb
117117
Config: `
118-
resource "scaleway_instance_volume" "local" {
119-
size_in_gb = 10
120-
type = "l_ssd"
121-
}
122118
resource "scaleway_instance_server" "base" {
123119
image = "ubuntu_focal"
124120
type = "DEV1-S"
@@ -127,40 +123,8 @@ func TestAccScalewayInstanceServer_RootVolume1(t *testing.T) {
127123
delete_on_termination = true
128124
}
129125
tags = [ "terraform-test", "scaleway_instance_server", "root_volume" ]
130-
additional_volume_ids = [scaleway_instance_volume.local.id]
131126
}`,
132-
Check: resource.ComposeTestCheckFunc(
133-
testAccCheckScalewayInstanceServerExists(tt, "scaleway_instance_server.base"),
134-
resource.TestCheckResourceAttr("scaleway_instance_server.base", "root_volume.0.delete_on_termination", "true"),
135-
resource.TestCheckResourceAttr("scaleway_instance_server.base", "root_volume.0.size_in_gb", "10"),
136-
resource.TestCheckResourceAttrSet("scaleway_instance_server.base", "root_volume.0.volume_id"),
137-
resource.TestCheckResourceAttr("scaleway_instance_server.base", "tags.2", "root_volume"),
138-
),
139-
},
140-
{
141-
// 11 Gb
142-
Config: `
143-
resource "scaleway_instance_volume" "local" {
144-
size_in_gb = 9
145-
type = "l_ssd"
146-
}
147-
resource "scaleway_instance_server" "base" {
148-
image = "ubuntu_focal"
149-
type = "DEV1-S"
150-
root_volume {
151-
size_in_gb = 11
152-
delete_on_termination = true
153-
}
154-
tags = [ "terraform-test", "scaleway_instance_server", "root_volume" ]
155-
additional_volume_ids = [scaleway_instance_volume.local.id]
156-
}`,
157-
Check: resource.ComposeTestCheckFunc(
158-
testAccCheckScalewayInstanceServerExists(tt, "scaleway_instance_server.base"),
159-
resource.TestCheckResourceAttr("scaleway_instance_server.base", "root_volume.0.delete_on_termination", "true"),
160-
resource.TestCheckResourceAttr("scaleway_instance_server.base", "root_volume.0.size_in_gb", "11"),
161-
resource.TestCheckResourceAttrSet("scaleway_instance_server.base", "root_volume.0.volume_id"),
162-
resource.TestCheckResourceAttr("scaleway_instance_server.base", "tags.2", "root_volume"),
163-
),
127+
ExpectError: regexp.MustCompile("total local volume size must be equal to 20 GB"),
164128
},
165129
},
166130
})

scaleway/resource_instance_volume_test.go

+31
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,37 @@ func TestAccScalewayInstanceVolume_ResizeBlock(t *testing.T) {
173173
})
174174
}
175175

176+
func TestAccScalewayInstanceVolume_ResizeNotBlock(t *testing.T) {
177+
tt := NewTestTools(t)
178+
defer tt.Cleanup()
179+
resource.Test(t, resource.TestCase{
180+
PreCheck: func() { testAccPreCheck(t) },
181+
ProviderFactories: tt.ProviderFactories,
182+
CheckDestroy: testAccCheckScalewayInstanceVolumeDestroy(tt),
183+
Steps: []resource.TestStep{
184+
{
185+
Config: `
186+
resource "scaleway_instance_volume" "main" {
187+
type = "l_ssd"
188+
size_in_gb = 20
189+
}`,
190+
Check: resource.ComposeTestCheckFunc(
191+
testAccCheckScalewayInstanceVolumeExists(tt, "scaleway_instance_volume.main"),
192+
resource.TestCheckResourceAttr("scaleway_instance_volume.main", "size_in_gb", "20"),
193+
),
194+
},
195+
{
196+
Config: `
197+
resource "scaleway_instance_volume" "main" {
198+
type = "l_ssd"
199+
size_in_gb = 30
200+
}`,
201+
ExpectError: regexp.MustCompile("only block volume can be resized"),
202+
},
203+
},
204+
})
205+
}
206+
176207
func TestAccScalewayInstanceVolume_CannotResizeBlockDown(t *testing.T) {
177208
tt := NewTestTools(t)
178209
defer tt.Cleanup()

0 commit comments

Comments
 (0)