Skip to content

Commit 3788645

Browse files
committed
tests
1 parent 1afebeb commit 3788645

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
@@ -25,13 +25,13 @@ func TestAccServer_Basic(t *testing.T) {
2525
{
2626
Config: `
2727
resource scaleway_apple_silicon_server main {
28-
name = "test-m1"
28+
name = "test-m2"
2929
type = "M2-M"
3030
}
3131
`,
3232
Check: resource.ComposeTestCheckFunc(
3333
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
34-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m1"),
34+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
3535
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
3636
// Computed
3737
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
@@ -55,15 +55,45 @@ func TestAccServer_EnableVPC(t *testing.T) {
5555
Steps: []resource.TestStep{
5656
{
5757
Config: `
58+
resource "scaleway_vpc" "vpc01" {
59+
name = "TestAccScalewayBaremetalIPAM"
60+
}
61+
62+
resource "scaleway_vpc_private_network" "pn01" {
63+
name = "TestAccScalewayBaremetalIPAM"
64+
ipv4_subnet {
65+
subnet = "172.16.64.0/22"
66+
}
67+
vpc_id = scaleway_vpc.vpc01.id
68+
}
69+
70+
resource "scaleway_ipam_ip" "ip01" {
71+
address = "172.16.64.7"
72+
source {
73+
private_network_id = scaleway_vpc_private_network.pn01.id
74+
}
75+
}
76+
77+
resource "scaleway_ipam_ip" "ip02" {
78+
address = "172.16.64.9"
79+
source {
80+
private_network_id = scaleway_vpc_private_network.pn01.id
81+
}
82+
}
83+
5884
resource scaleway_apple_silicon_server main {
59-
name = "test-m1"
85+
name = "test-m2"
6086
type = "M2-M"
6187
enable_vpc = true
88+
private_network {
89+
id = scaleway_vpc_private_network.pn01.id
90+
ipam_ip_ids = [scaleway_ipam_ip.ip01.id]
91+
}
6292
}
6393
`,
6494
Check: resource.ComposeTestCheckFunc(
6595
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
66-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m1"),
96+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
6797
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M2-M"),
6898
// Computed
6999
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
@@ -76,21 +106,22 @@ func TestAccServer_EnableVPC(t *testing.T) {
76106
{
77107
Config: `
78108
resource scaleway_apple_silicon_server main {
79-
name = "test-m1"
109+
name = "test-m2"
80110
type = "M2-M"
81111
enable_vpc = false
82112
}
83113
`,
84114
Check: resource.ComposeTestCheckFunc(
85115
isServerPresent(tt, "scaleway_apple_silicon_server.main"),
86-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m1"),
116+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "name", "test-m2"),
87117
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "type", "M1-M"),
88118
// Computed
89119
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "ip"),
90120
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "vnc_url"),
91121
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "created_at"),
92122
resource.TestCheckResourceAttrSet("scaleway_apple_silicon_server.main", "deletable_at"),
93-
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_disabled"),
123+
resource.TestCheckResourceAttr("scaleway_apple_silicon_server.main", "vpc_status", "vpc_updating"),
124+
resource.TestCheckNoResourceAttr("scaleway_apple_silicon_server.main", "vpc_id"),
94125
),
95126
},
96127
},

0 commit comments

Comments
 (0)