Skip to content

Commit ccd3a2f

Browse files
authored
Fix(instance): check private network and add test case (#1043)
1 parent ee52f6e commit ccd3a2f

3 files changed

+6095
-1702
lines changed

scaleway/helpers_instance.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,10 @@ func (ph *privateNICsHandler) get(key string) (interface{}, error) {
385385
if err != nil {
386386
return nil, err
387387
}
388-
pn := ph.privateNICsMap[id]
388+
pn, ok := ph.privateNICsMap[id]
389+
if !ok {
390+
return nil, fmt.Errorf("could not find private network ID %s on locality %s", key, locality)
391+
}
389392
return map[string]interface{}{
390393
"pn_id": key,
391394
"mac_address": pn.MacAddress,

scaleway/resource_instance_server_test.go

+55-27
Original file line numberDiff line numberDiff line change
@@ -926,19 +926,47 @@ func TestAccScalewayInstanceServer_PrivateNetwork(t *testing.T) {
926926
ProviderFactories: tt.ProviderFactories,
927927
CheckDestroy: testAccCheckScalewayInstanceServerDestroy(tt),
928928
Steps: []resource.TestStep{
929+
{
930+
Config: `
931+
resource scaleway_vpc_private_network internal {
932+
name = "private_network_instance"
933+
zone = "fr-par-2"
934+
}
935+
936+
resource "scaleway_instance_server" "base" {
937+
image = "ubuntu_focal"
938+
type = "DEV1-S"
939+
zone = "fr-par-2"
940+
941+
private_network {
942+
pn_id = scaleway_vpc_private_network.internal.id
943+
}
944+
}`,
945+
Check: resource.ComposeTestCheckFunc(
946+
testAccCheckScalewayInstancePrivateNICsExists(tt, "scaleway_instance_server.base"),
947+
resource.TestCheckResourceAttr("scaleway_instance_server.base", "private_network.#", "1"),
948+
resource.TestCheckResourceAttrSet("scaleway_instance_server.base", "private_network.0.pn_id"),
949+
resource.TestCheckResourceAttrSet("scaleway_instance_server.base", "private_network.0.mac_address"),
950+
resource.TestCheckResourceAttrSet("scaleway_instance_server.base", "private_network.0.status"),
951+
resource.TestCheckResourceAttrSet("scaleway_instance_server.base", "private_network.0.zone"),
952+
resource.TestCheckResourceAttrPair("scaleway_instance_server.base", "private_network.0.pn_id",
953+
"scaleway_vpc_private_network.internal", "id"),
954+
),
955+
},
929956
{
930957
Config: `
931958
resource scaleway_vpc_private_network pn01 {
932959
name = "private_network_instance"
933960
}
934-
961+
935962
resource "scaleway_instance_server" "base" {
936-
image = "ubuntu_focal"
937-
type = "DEV1-S"
938-
939-
private_network {
940-
pn_id = scaleway_vpc_private_network.pn01.id
941-
}
963+
image = "ubuntu_focal"
964+
type = "DEV1-S"
965+
zone = "fr-par-1"
966+
967+
private_network {
968+
pn_id = scaleway_vpc_private_network.pn01.id
969+
}
942970
}`,
943971
Check: resource.ComposeTestCheckFunc(
944972
testAccCheckScalewayInstancePrivateNICsExists(tt, "scaleway_instance_server.base"),
@@ -956,18 +984,18 @@ func TestAccScalewayInstanceServer_PrivateNetwork(t *testing.T) {
956984
resource scaleway_vpc_private_network pn01 {
957985
name = "private_network_instance"
958986
}
959-
987+
960988
resource scaleway_vpc_private_network pn02 {
961989
name = "private_network_instance_02"
962990
}
963-
991+
964992
resource "scaleway_instance_server" "base" {
965-
image = "ubuntu_focal"
966-
type = "DEV1-S"
967-
968-
private_network {
969-
pn_id = scaleway_vpc_private_network.pn02.id
970-
}
993+
image = "ubuntu_focal"
994+
type = "DEV1-S"
995+
996+
private_network {
997+
pn_id = scaleway_vpc_private_network.pn02.id
998+
}
971999
}`,
9721000
Check: resource.ComposeTestCheckFunc(
9731001
testAccCheckScalewayInstancePrivateNICsExists(tt, "scaleway_instance_server.base"),
@@ -991,16 +1019,16 @@ func TestAccScalewayInstanceServer_PrivateNetwork(t *testing.T) {
9911019
}
9921020
9931021
resource "scaleway_instance_server" "base" {
994-
image = "ubuntu_focal"
995-
type = "DEV1-S"
1022+
image = "ubuntu_focal"
1023+
type = "DEV1-S"
9961024
997-
private_network {
998-
pn_id = scaleway_vpc_private_network.pn02.id
999-
}
1025+
private_network {
1026+
pn_id = scaleway_vpc_private_network.pn02.id
1027+
}
10001028
1001-
private_network {
1002-
pn_id = scaleway_vpc_private_network.pn01.id
1003-
}
1029+
private_network {
1030+
pn_id = scaleway_vpc_private_network.pn01.id
1031+
}
10041032
}`,
10051033
Check: resource.ComposeTestCheckFunc(
10061034
testAccCheckScalewayInstancePrivateNICsExists(tt, "scaleway_instance_server.base"),
@@ -1025,14 +1053,14 @@ func TestAccScalewayInstanceServer_PrivateNetwork(t *testing.T) {
10251053
resource scaleway_vpc_private_network pn01 {
10261054
name = "private_network_instance"
10271055
}
1028-
1056+
10291057
resource scaleway_vpc_private_network pn02 {
10301058
name = "private_network_instance_02"
10311059
}
1032-
1060+
10331061
resource "scaleway_instance_server" "base" {
1034-
image = "ubuntu_focal"
1035-
type = "DEV1-S"
1062+
image = "ubuntu_focal"
1063+
type = "DEV1-S"
10361064
}`,
10371065
Check: resource.ComposeTestCheckFunc(
10381066
testAccCheckScalewayInstanceServerExists(tt, "scaleway_instance_server.base"),

0 commit comments

Comments
 (0)