Skip to content

Commit a9511c9

Browse files
committed
tests
1 parent 9720a7c commit a9511c9

File tree

3 files changed

+851
-552
lines changed

3 files changed

+851
-552
lines changed

internal/services/applesilicon/server.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,23 @@ func ResourceAppleSiliconServerUpdate(ctx context.Context, d *schema.ResourceDat
261261
req.EnableVpc = &enableVpc
262262
}
263263

264+
if d.HasChange("private_network") {
265+
privateNetwork := d.Get("private_network")
266+
267+
req := &applesilicon.PrivateNetworkAPISetServerPrivateNetworksRequest{
268+
Zone: zone,
269+
ServerID: ID,
270+
PerPrivateNetworkIpamIPIDs: expandPrivateNetworks(privateNetwork),
271+
}
272+
273+
_, err := appleSilisonPrivateNetworkAPI.SetServerPrivateNetworks(req, scw.WithContext(ctx))
274+
if err != nil {
275+
return diag.FromErr(err)
276+
}
277+
278+
_, err = waitForAppleSiliconPrivateNetworkServer(ctx, appleSilisonPrivateNetworkAPI, zone, ID, d.Timeout(schema.TimeoutCreate))
279+
}
280+
264281
_, err = asAPI.UpdateServer(req, scw.WithContext(ctx))
265282
if err != nil {
266283
return diag.FromErr(err)

internal/services/applesilicon/server_test.go

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ func TestAccServer_Basic(t *testing.T) {
2424
{
2525
Config: `
2626
resource scaleway_apple_silicon_server main {
27-
name = "test-m1"
27+
name = "test-m2"
2828
type = "M2-M"
2929
}
3030
`,
3131
Check: resource.ComposeTestCheckFunc(
3232
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
33-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m1"),
33+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
3434
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
3535
// Computed
3636
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
@@ -54,15 +54,45 @@ func TestAccServer_EnableVPC(t *testing.T) {
5454
Steps: []resource.TestStep{
5555
{
5656
Config: `
57+
resource "scaleway_vpc" "vpc01" {
58+
name = "TestAccScalewayBaremetalIPAM"
59+
}
60+
61+
resource "scaleway_vpc_private_network" "pn01" {
62+
name = "TestAccScalewayBaremetalIPAM"
63+
ipv4_subnet {
64+
subnet = "172.16.64.0/22"
65+
}
66+
vpc_id = scaleway_vpc.vpc01.id
67+
}
68+
69+
resource "scaleway_ipam_ip" "ip01" {
70+
address = "172.16.64.7"
71+
source {
72+
private_network_id = scaleway_vpc_private_network.pn01.id
73+
}
74+
}
75+
76+
resource "scaleway_ipam_ip" "ip02" {
77+
address = "172.16.64.9"
78+
source {
79+
private_network_id = scaleway_vpc_private_network.pn01.id
80+
}
81+
}
82+
5783
resource scaleway_apple_silicon_server main {
58-
name = "test-m1"
84+
name = "test-m2"
5985
type = "M2-M"
6086
enable_vpc = true
87+
private_network {
88+
id = scaleway_vpc_private_network.pn01.id
89+
ipam_ip_ids = [scaleway_ipam_ip.ip01.id]
90+
}
6191
}
6292
`,
6393
Check: resource.ComposeTestCheckFunc(
6494
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
65-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m1"),
95+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
6696
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
6797
// Computed
6898
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
@@ -75,21 +105,22 @@ func TestAccServer_EnableVPC(t *testing.T) {
75105
{
76106
Config: `
77107
resource scaleway_apple_silicon_server main {
78-
name = "test-m1"
108+
name = "test-m2"
79109
type = "M2-M"
80110
enable_vpc = false
81111
}
82112
`,
83113
Check: resource.ComposeTestCheckFunc(
84114
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
85-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m1"),
115+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
86116
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M1-M"),
87117
// Computed
88118
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
89119
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "vnc_url"),
90120
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "created_at"),
91121
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "deletable_at"),
92-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_disabled"),
122+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_updating"),
123+
resource.TestCheckNoResourceAttr("scaleway_apple_silicon_server.main", "vpc_id"),
93124
),
94125
},
95126
},

0 commit comments

Comments
 (0)