Skip to content

Commit 213756d

Browse files
authored
fix(baremetal): change offer in tests (#2781)
* fix(baremetal): change offer in tests * tests(baremetal): change offer * check if offer available before running tests * fix tests * test fic * fix golangci-lint * fix region to zone
1 parent e6717c2 commit 213756d

21 files changed

+252746
-12048
lines changed
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package baremetal_test
2+
3+
import (
4+
"github.com/scaleway/scaleway-sdk-go/api/baremetal/v1"
5+
"github.com/scaleway/scaleway-sdk-go/scw"
6+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest"
7+
)
8+
9+
func IsOfferAvailable(offerID string, zone scw.Zone, tt *acctest.TestTools) bool {
10+
api := baremetal.NewAPI(tt.Meta.ScwClient())
11+
offer, _ := api.GetOffer(&baremetal.GetOfferRequest{
12+
Zone: zone,
13+
OfferID: offerID,
14+
})
15+
return offer.Stock == baremetal.OfferStockAvailable
16+
}

internal/services/baremetal/helpers.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
)
2121

2222
const (
23-
ServerTimeout = 60 * time.Minute
23+
ServerTimeout = 80 * time.Minute
2424
serverRetryFuncTimeout = ServerTimeout + time.Minute // some RetryFunc are calling a WaitFor
2525
defaultServerTimeout = serverRetryFuncTimeout + time.Minute
2626
retryInterval = 5 * time.Second

internal/services/baremetal/offer_data_source_test.go

+69-54
Original file line numberDiff line numberDiff line change
@@ -13,46 +13,55 @@ import (
1313
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/baremetal"
1414
)
1515

16+
const (
17+
OfferName = "EM-B220E-NVME"
18+
Zone = "fr-par-1"
19+
OfferID = "206ea234-9097-4ae1-af68-6d2be09f47ed"
20+
)
21+
1622
func TestAccDataSourceOffer_Basic(t *testing.T) {
1723
tt := acctest.NewTestTools(t)
1824
defer tt.Cleanup()
25+
if !IsOfferAvailable(OfferID, Zone, tt) {
26+
t.Skip("Offer is out of stock")
27+
}
1928
resource.ParallelTest(t, resource.TestCase{
2029
PreCheck: func() { acctest.PreCheck(t) },
2130
ProviderFactories: tt.ProviderFactories,
2231
Steps: []resource.TestStep{
2332
{
24-
Config: `
33+
Config: fmt.Sprintf(`
2534
data "scaleway_baremetal_offer" "test1" {
2635
zone = "fr-par-1"
27-
name = "EM-A115X-SSD"
36+
name = "%s"
2837
}
2938
3039
data "scaleway_baremetal_offer" "test2" {
3140
offer_id = data.scaleway_baremetal_offer.test1.offer_id
3241
}
33-
`,
42+
`, OfferName),
3443
Check: resource.ComposeTestCheckFunc(
3544
isOfferPresent(tt, "data.scaleway_baremetal_offer.test1"),
36-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "name", "EM-A115X-SSD"),
45+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "name", OfferName),
3746
isOfferPresent(tt, "data.scaleway_baremetal_offer.test2"),
3847
resource.TestCheckResourceAttrPair("data.scaleway_baremetal_offer.test2", "offer_id", "data.scaleway_baremetal_offer.test1", "offer_id"),
39-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "name", "EM-A115X-SSD"),
40-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "aluminium"),
48+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "name", OfferName),
49+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "beryllium"),
4150
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "include_disabled", "false"),
42-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "bandwidth", "500000000"),
43-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "aluminium"),
51+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "bandwidth", "1000000000"),
52+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "beryllium"),
4453
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "stock", "available"), // skipping this as stocks vary too much
45-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.name", "Intel Xeon E3 1220 or equivalent"),
46-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.core_count", "4"),
54+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.name", "AMD EPYC 7232P"),
55+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.core_count", "8"),
4756
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.frequency", "3100"),
48-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.thread_count", "4"),
49-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.type", "SSD"),
50-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.capacity", "1000000000000"),
51-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.type", "SSD"),
52-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.capacity", "1000000000000"),
53-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.type", "DDR3"),
54-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.capacity", "32000000000"),
55-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.frequency", "1600"),
57+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.thread_count", "16"),
58+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.type", "NVMe"),
59+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.capacity", "1024209543168"),
60+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.type", "NVMe"),
61+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.capacity", "1024209543168"),
62+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.type", "DDR4"),
63+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.capacity", "64000000000"),
64+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.frequency", "2400"),
5665
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.is_ecc", "true"),
5766
),
5867
},
@@ -63,47 +72,50 @@ func TestAccDataSourceOffer_Basic(t *testing.T) {
6372
func TestAccDataSourceOffer_SubscriptionPeriodHourly(t *testing.T) {
6473
tt := acctest.NewTestTools(t)
6574
defer tt.Cleanup()
75+
if !IsOfferAvailable(OfferID, Zone, tt) {
76+
t.Skip("Offer is out of stock")
77+
}
6678
resource.ParallelTest(t, resource.TestCase{
6779
PreCheck: func() { acctest.PreCheck(t) },
6880
ProviderFactories: tt.ProviderFactories,
6981
Steps: []resource.TestStep{
7082
{
71-
Config: `
83+
Config: fmt.Sprintf(`
7284
data "scaleway_baremetal_offer" "test1" {
7385
zone = "fr-par-1"
74-
name = "EM-A115X-SSD"
86+
name = "%s"
7587
7688
subscription_period = "hourly"
7789
}
7890
7991
data "scaleway_baremetal_offer" "test2" {
8092
offer_id = data.scaleway_baremetal_offer.test1.offer_id
8193
}
82-
`,
94+
`, OfferName),
8395
Check: resource.ComposeTestCheckFunc(
8496
isOfferPresent(tt, "data.scaleway_baremetal_offer.test1"),
85-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "name", "EM-A115X-SSD"),
97+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "name", OfferName),
8698
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "subscription_period", "hourly"),
8799
isOfferPresent(tt, "data.scaleway_baremetal_offer.test2"),
88100
resource.TestCheckResourceAttrPair("data.scaleway_baremetal_offer.test2", "offer_id", "data.scaleway_baremetal_offer.test1", "offer_id"),
89-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "name", "EM-A115X-SSD"),
101+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "name", OfferName),
90102
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "subscription_period", "hourly"),
91-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "aluminium"),
103+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "beryllium"),
92104
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "include_disabled", "false"),
93-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "bandwidth", "500000000"),
94-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "aluminium"),
105+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "bandwidth", "1000000000"),
106+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "beryllium"),
95107
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "stock", "available"), // skipping this as stocks vary too much
96-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.name", "Intel Xeon E3 1220 or equivalent"),
97-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.core_count", "4"),
108+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.name", "AMD EPYC 7232P"),
109+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.core_count", "8"),
98110
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.frequency", "3100"),
99-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.thread_count", "4"),
100-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.type", "SSD"),
101-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.capacity", "1000000000000"),
102-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.type", "SSD"),
103-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.capacity", "1000000000000"),
104-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.type", "DDR3"),
105-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.capacity", "32000000000"),
106-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.frequency", "1600"),
111+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.thread_count", "16"),
112+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.type", "NVMe"),
113+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.capacity", "1024209543168"),
114+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.type", "NVMe"),
115+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.capacity", "1024209543168"),
116+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.type", "DDR4"),
117+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.capacity", "64000000000"),
118+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.frequency", "2400"),
107119
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.is_ecc", "true"),
108120
),
109121
},
@@ -114,47 +126,50 @@ func TestAccDataSourceOffer_SubscriptionPeriodHourly(t *testing.T) {
114126
func TestAccDataSourceOffer_SubscriptionPeriodMonthly(t *testing.T) {
115127
tt := acctest.NewTestTools(t)
116128
defer tt.Cleanup()
129+
if !IsOfferAvailable(OfferID, Zone, tt) {
130+
t.Skip("Offer is out of stock")
131+
}
117132
resource.ParallelTest(t, resource.TestCase{
118133
PreCheck: func() { acctest.PreCheck(t) },
119134
ProviderFactories: tt.ProviderFactories,
120135
Steps: []resource.TestStep{
121136
{
122-
Config: `
137+
Config: fmt.Sprintf(`
123138
data "scaleway_baremetal_offer" "test1" {
124139
zone = "fr-par-1"
125-
name = "EM-A115X-SSD"
140+
name = "%s"
126141
127142
subscription_period = "monthly"
128143
}
129144
130145
data "scaleway_baremetal_offer" "test2" {
131146
offer_id = data.scaleway_baremetal_offer.test1.offer_id
132147
}
133-
`,
148+
`, OfferName),
134149
Check: resource.ComposeTestCheckFunc(
135150
isOfferPresent(tt, "data.scaleway_baremetal_offer.test1"),
136-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "name", "EM-A115X-SSD"),
151+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "name", OfferName),
137152
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test1", "subscription_period", "monthly"),
138153
isOfferPresent(tt, "data.scaleway_baremetal_offer.test2"),
139154
resource.TestCheckResourceAttrPair("data.scaleway_baremetal_offer.test2", "offer_id", "data.scaleway_baremetal_offer.test1", "offer_id"),
140-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "name", "EM-A115X-SSD"),
155+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "name", OfferName),
141156
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "subscription_period", "monthly"),
142-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "aluminium"),
157+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "beryllium"),
143158
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "include_disabled", "false"),
144-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "bandwidth", "500000000"),
145-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "aluminium"),
159+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "bandwidth", "1000000000"),
160+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "commercial_range", "beryllium"),
146161
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "stock", "available"),
147-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.name", "Intel Xeon E3 1220 or equivalent"),
148-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.core_count", "4"),
162+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.name", "AMD EPYC 7232P"),
163+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.core_count", "8"),
149164
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.frequency", "3100"),
150-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.thread_count", "4"),
151-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.type", "SSD"),
152-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.capacity", "1000000000000"),
153-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.type", "SSD"),
154-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.capacity", "1000000000000"),
155-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.type", "DDR3"),
156-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.capacity", "32000000000"),
157-
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.frequency", "1600"),
165+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "cpu.0.thread_count", "16"),
166+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.type", "NVMe"),
167+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.0.capacity", "1024209543168"),
168+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.type", "NVMe"),
169+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "disk.1.capacity", "1024209543168"),
170+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.type", "DDR4"),
171+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.capacity", "64000000000"),
172+
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.frequency", "2400"),
158173
resource.TestCheckResourceAttr("data.scaleway_baremetal_offer.test2", "memory.0.is_ecc", "true"),
159174
),
160175
},

internal/services/baremetal/server_data_source_test.go

+7-4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import (
1212
func TestAccDataSourceServer_Basic(t *testing.T) {
1313
tt := acctest.NewTestTools(t)
1414
defer tt.Cleanup()
15+
if !IsOfferAvailable(OfferID, Zone, tt) {
16+
t.Skip("Offer is out of stock")
17+
}
1518

1619
SSHKeyName := "TestAccScalewayDataSourceBaremetalServer_Basic"
1720
name := "TestAccScalewayDataSourceBaremetalServer_Basic"
@@ -31,7 +34,7 @@ func TestAccDataSourceServer_Basic(t *testing.T) {
3134
3235
data "scaleway_baremetal_offer" "my_offer" {
3336
zone = "fr-par-1"
34-
name = "EM-A115X-SSD"
37+
name = "%s"
3538
}
3639
3740
resource "scaleway_iam_ssh_key" "main" {
@@ -48,7 +51,7 @@ func TestAccDataSourceServer_Basic(t *testing.T) {
4851
4952
ssh_key_ids = [ scaleway_iam_ssh_key.main.id ]
5053
}
51-
`, SSHKeyName, SSHKeyBaremetal, name),
54+
`, OfferName, SSHKeyName, SSHKeyBaremetal, name),
5255
},
5356
{
5457
Config: fmt.Sprintf(`
@@ -60,7 +63,7 @@ func TestAccDataSourceServer_Basic(t *testing.T) {
6063
6164
data "scaleway_baremetal_offer" "my_offer" {
6265
zone = "fr-par-1"
63-
name = "EM-A115X-SSD"
66+
name = "%s"
6467
}
6568
6669
resource "scaleway_iam_ssh_key" "main" {
@@ -87,7 +90,7 @@ func TestAccDataSourceServer_Basic(t *testing.T) {
8790
server_id = "${scaleway_baremetal_server.main.id}"
8891
zone = "fr-par-1"
8992
}
90-
`, SSHKeyName, SSHKeyBaremetal, name),
93+
`, OfferName, SSHKeyName, SSHKeyBaremetal, name),
9194
Check: resource.ComposeTestCheckFunc(
9295
testAccCheckBaremetalServerExists(tt, "data.scaleway_baremetal_server.by_id"),
9396
testAccCheckBaremetalServerExists(tt, "data.scaleway_baremetal_server.by_name"),

0 commit comments

Comments
 (0)