Skip to content

Commit 0ecf108

Browse files
committed
feat(bare-metal): Fix test
1 parent 9c25662 commit 0ecf108

6 files changed

+121
-35
lines changed

ibm/service/vpc/data_source_ibm_is_bare_metal_server_initialization.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ func dataSourceIBMISBareMetalServerInitializationRead(context context.Context, d
173173
targetMap["crn"] = *initialization.DefaultTrustedProfile.Target.CRN
174174

175175
defaultTrustedProfileMap["auto_link"] = *initialization.DefaultTrustedProfile.AutoLink
176-
defaultTrustedProfileMap["target"] = targetMap
176+
defaultTrustedProfileMap["target"] = []map[string]interface{}{targetMap}
177177

178178
defaultTrustedProfileList = append(defaultTrustedProfileList, defaultTrustedProfileMap)
179179
d.Set(isBareMetalServerDefaultTrustedProfile, defaultTrustedProfileList)

ibm/service/vpc/data_source_ibm_is_bare_metal_server_initialization_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
3232
Config: testAccCheckIBMISBareMetalServerInitializationDataSourceConfig(vpcname, subnetname, sshname, publicKey, name),
3333
Check: resource.ComposeTestCheckFunc(
3434
testAccCheckIBMISBareMetalServerExists("ibm_is_bare_metal_server.testacc_bms", server),
35-
resource.TestCheckResourceAttr(resName, "name", name),
36-
resource.TestCheckResourceAttrSet(resName, "default_trusted_profile"),
35+
resource.TestCheckResourceAttrSet(resName, "default_trusted_profile.#"),
3736
),
3837
},
3938
},
@@ -42,7 +41,8 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
4241

4342
func testAccCheckIBMISBareMetalServerInitializationDataSourceConfig(vpcname, subnetname, sshname, publicKey, name string) string {
4443
// status filter defaults to empty
45-
return testAccCheckIBMISBareMetalServerConfig(vpcname, subnetname, sshname, publicKey, name) +
44+
userdata1 := "a"
45+
return testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, acc.IsBareMetalServerImage, userdata1, true, "https", true) +
4646
fmt.Sprintf(`
4747
data "ibm_is_bare_metal_server_initialization" "test1" {
4848
bare_metal_server = ibm_is_bare_metal_server.testacc_bms.id

ibm/service/vpc/data_source_ibm_is_bare_metal_server_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,11 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
9494
Providers: acc.TestAccProviders,
9595
Steps: []resource.TestStep{
9696
{
97-
Config: testAccCheckIBMISBMSsDataSourceMetadataServiceConfig(vpcname, subnetname, sshname, publicKey, name, true, "https"),
97+
Config: testAccCheckIBMISBMSDataSourceMetadataServiceConfig(vpcname, subnetname, sshname, publicKey, name, true, "https"),
9898
Check: resource.ComposeTestCheckFunc(
9999
testAccCheckIBMISBareMetalServerExists("ibm_is_bare_metal_server.testacc_bms", server),
100-
resource.TestCheckResourceAttrSet(resName, "servers.0.metadata_service.0.enabled"),
101-
resource.TestCheckResourceAttrSet(resName, "servers.0.metadata_service.0.protocol"),
100+
resource.TestCheckResourceAttrSet(resName, "metadata_service.0.enabled"),
101+
resource.TestCheckResourceAttrSet(resName, "metadata_service.0.protocol"),
102102
),
103103
},
104104
},
@@ -110,7 +110,8 @@ func testAccCheckIBMISBMSDataSourceMetadataServiceConfig(vpcname, subnetname, ss
110110
return testAccCheckIBMISBareMetalServerMetadataServiceConfig(vpcname, subnetname, sshname, publicKey, name, enabled, protocol) + fmt.Sprintf(`
111111
data "ibm_is_bare_metal_server" "test1" {
112112
depends_on = [ ibm_is_bare_metal_server.testacc_bms ]
113-
}`)
113+
name = "%s"
114+
}`, name)
114115
}
115116

116117
func TestAccIBMISBMSDataSourceVNI_basic(t *testing.T) {

ibm/service/vpc/data_source_ibm_is_bare_metal_servers_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
9595
Config: testAccCheckIBMISBMSsDataSourceMetadataServiceConfig(vpcname, subnetname, sshname, publicKey, name, true, "https"),
9696
Check: resource.ComposeTestCheckFunc(
9797
testAccCheckIBMISBareMetalServerExists("ibm_is_bare_metal_server.testacc_bms", server),
98-
resource.TestCheckResourceAttrSet(resName, "servers.0.metadata_service.enabled"),
99-
resource.TestCheckResourceAttrSet(resName, "servers.0.metadata_service.protocol"),
98+
resource.TestCheckResourceAttrSet(resName, "servers.0.metadata_service.0.enabled"),
99+
resource.TestCheckResourceAttrSet(resName, "servers.0.metadata_service.0.protocol"),
100100
),
101101
},
102102
},
@@ -107,6 +107,7 @@ func testAccCheckIBMISBMSsDataSourceMetadataServiceConfig(vpcname, subnetname, s
107107
// status filter defaults to empty
108108
return testAccCheckIBMISBareMetalServerMetadataServiceConfig(vpcname, subnetname, sshname, publicKey, name, enabled, protocol) + fmt.Sprintf(`
109109
data "ibm_is_bare_metal_servers" "test1" {
110+
depends_on = [ ibm_is_bare_metal_server.testacc_bms ]
110111
}`)
111112
}
112113

ibm/service/vpc/resource_ibm_is_bare_metal_server_initialization_test.go

Lines changed: 88 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,45 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
6969
})
7070
}
7171

72+
func TestAccIBMISBareMetalServerreInitWithDefaultTrustedProfile(t *testing.T) {
73+
var server string
74+
vpcname := fmt.Sprintf("tf-vpc-%d", acctest.RandIntRange(10, 100))
75+
name := fmt.Sprintf("tf-server-%d", acctest.RandIntRange(10, 100))
76+
subnetname := fmt.Sprintf("tfip-subnet-%d", acctest.RandIntRange(10, 100))
77+
publicKey := strings.TrimSpace(`
78+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVERRN7/9484SOBJ3HSKxxNG5JN8owAjy5f9yYwcUg+JaUVuytn5Pv3aeYROHGGg+5G346xaq3DAwX6Y5ykr2fvjObgncQBnuU5KHWCECO/4h8uWuwh/kfniXPVjFToc+gnkqA+3RKpAecZhFXwfalQ9mMuYGFxn+fwn8cYEApsJbsEmb0iJwPiZ5hjFC8wREuiTlhPHDgkBLOiycd20op2nXzDbHfCHInquEe/gYxEitALONxm0swBOwJZwlTDOB7C6y2dzlrtxr1L59m7pCkWI4EtTRLvleehBoj3u7jB4usR
79+
`)
80+
sshname := fmt.Sprintf("tf-sshname-%d", acctest.RandIntRange(10, 100))
81+
userdata := "a"
82+
resource.Test(t, resource.TestCase{
83+
PreCheck: func() { acc.TestAccPreCheck(t) },
84+
Providers: acc.TestAccProviders,
85+
CheckDestroy: testAccCheckIBMISBareMetalServerDestroy,
86+
Steps: []resource.TestStep{
87+
{
88+
Config: testAccCheckIBMISBareMetalMetaDataServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, userdata, userdata),
89+
Check: resource.ComposeTestCheckFunc(
90+
testAccCheckIBMISBareMetalServerExists("ibm_is_bare_metal_server.testacc_bms", server),
91+
resource.TestCheckResourceAttr(
92+
"ibm_is_bare_metal_server.testacc_bms", "name", name),
93+
resource.TestCheckResourceAttr(
94+
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName2),
95+
resource.TestCheckResourceAttr(
96+
"ibm_is_bare_metal_server.testacc_bms", "user_data", userdata),
97+
resource.TestCheckResourceAttr(
98+
"ibm_is_bare_metal_server.testacc_bms", "metadata_service.0.protocol", "https"),
99+
resource.TestCheckResourceAttrSet(
100+
"ibm_is_bare_metal_server_initialization.testacc_bms_initialization", "id"),
101+
resource.TestCheckResourceAttrSet(
102+
"ibm_is_bare_metal_server_initialization.testacc_bms_initialization", "default_trusted_profile.#"),
103+
resource.TestCheckResourceAttr(
104+
"ibm_is_bare_metal_server.testacc_bms", "image", acc.IsBareMetalServerImage),
105+
),
106+
},
107+
},
108+
})
109+
}
110+
72111
func testAccCheckIBMISBareMetalServerInitializationReplaceConfig(vpcname, subnetname, sshname, publicKey, name, userData1 string) string {
73112
return fmt.Sprintf(`
74113
resource "ibm_is_vpc" "testacc_vpc" {
@@ -98,10 +137,6 @@ func testAccCheckIBMISBareMetalServerInitializationReplaceConfig(vpcname, subnet
98137
subnet = ibm_is_subnet.testacc_subnet.id
99138
}
100139
vpc = ibm_is_vpc.testacc_vpc.id
101-
metadata_service {
102-
enabled = true
103-
protocol = "https"
104-
}
105140
}
106141
107142
`, vpcname, subnetname, acc.ISZoneName, sshname, publicKey, acc.IsBareMetalServerProfileName, name, acc.IsBareMetalServerImage, acc.ISZoneName, userData1)
@@ -135,12 +170,50 @@ func testAccCheckIBMISBareMetalServerInitializationReplaceConfigUpdate(vpcname,
135170
subnet = ibm_is_subnet.testacc_subnet.id
136171
}
137172
vpc = ibm_is_vpc.testacc_vpc.id
138-
default_trusted_profile {
139-
auto_link = true
140-
target {
141-
id = "Profile-3a1dd8b4-db34-4281-88b2-42b194da30d6"
142-
}
173+
lifecycle {
174+
ignore_changes = [ image, keys, user_data ]
175+
}
176+
}
177+
resource "ibm_is_bare_metal_server_initialization" "testacc_bms_initialization" {
178+
bare_metal_server = ibm_is_bare_metal_server.testacc_bms.id
179+
image = "%s"
180+
keys = [ibm_is_ssh_key.testacc_sshkey.id]
181+
user_data = "%s"
143182
}
183+
}
184+
185+
`, vpcname, subnetname, acc.ISZoneName, sshname, publicKey, acc.IsBareMetalServerProfileName, name, acc.IsBareMetalServerImage, acc.ISZoneName, userData1, acc.IsBareMetalServerImage2, userData2)
186+
}
187+
188+
func testAccCheckIBMISBareMetalMetaDataServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, userData1, userData2 string) string {
189+
return fmt.Sprintf(`
190+
resource "ibm_is_vpc" "testacc_vpc" {
191+
name = "%s"
192+
}
193+
194+
resource "ibm_is_subnet" "testacc_subnet" {
195+
name = "%s"
196+
vpc = ibm_is_vpc.testacc_vpc.id
197+
zone = "%s"
198+
total_ipv4_address_count = 16
199+
}
200+
201+
resource "ibm_is_ssh_key" "testacc_sshkey" {
202+
name = "%s"
203+
public_key = "%s"
204+
}
205+
206+
resource "ibm_is_bare_metal_server" "testacc_bms" {
207+
profile = "%s"
208+
name = "%s"
209+
image = "%s"
210+
zone = "%s"
211+
user_data = "%s"
212+
keys = [ibm_is_ssh_key.testacc_sshkey.id]
213+
primary_network_interface {
214+
subnet = ibm_is_subnet.testacc_subnet.id
215+
}
216+
vpc = ibm_is_vpc.testacc_vpc.id
144217
metadata_service {
145218
enabled = true
146219
protocol = "https"
@@ -154,11 +227,13 @@ func testAccCheckIBMISBareMetalServerInitializationReplaceConfigUpdate(vpcname,
154227
image = "%s"
155228
keys = [ibm_is_ssh_key.testacc_sshkey.id]
156229
user_data = "%s"
157-
metadata_service {
158-
enabled = false
159-
protocol = "http"
230+
default_trusted_profile {
231+
auto_link = true
232+
target {
233+
id = "%s"
234+
}
160235
}
161236
}
162237
163-
`, vpcname, subnetname, acc.ISZoneName, sshname, publicKey, acc.IsBareMetalServerProfileName, name, acc.IsBareMetalServerImage, acc.ISZoneName, userData1, acc.IsBareMetalServerImage2, userData2)
238+
`, vpcname, subnetname, acc.ISZoneName2, sshname, publicKey, acc.IsBareMetalServerProfileName, name, acc.IsBareMetalServerImage, acc.ISZoneName2, userData1, acc.IsBareMetalServerImage, userData2, acc.IAMTrustedProfileID)
164239
}

ibm/service/vpc/resource_ibm_is_bare_metal_server_test.go

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
537537
resource.TestCheckResourceAttr(
538538
"ibm_is_bare_metal_server.testacc_bms", "name", name),
539539
resource.TestCheckResourceAttr(
540-
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName),
540+
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName2),
541541
resource.TestCheckResourceAttr(
542542
"ibm_is_bare_metal_server.testacc_bms", "metadata_service.0.enabled", "true"),
543543
resource.TestCheckResourceAttr(
@@ -551,7 +551,7 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
551551
resource.TestCheckResourceAttr(
552552
"ibm_is_bare_metal_server.testacc_bms", "name", name),
553553
resource.TestCheckResourceAttr(
554-
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName),
554+
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName2),
555555
resource.TestCheckResourceAttr(
556556
"ibm_is_bare_metal_server.testacc_bms", "metadata_service.0.enabled", "true"),
557557
resource.TestCheckResourceAttr(
@@ -626,7 +626,7 @@ func testAccCheckIBMISBareMetalServerMetadataServiceConfig(vpcname, subnetname,
626626
protocol = "%s"
627627
}
628628
}
629-
`, vpcname, subnetname, acc.ISZoneName, sshname, publicKey, acc.IsBareMetalServerProfileName, name, acc.IsBareMetalServerImage, acc.ISZoneName, enabled, protocol)
629+
`, vpcname, subnetname, acc.ISZoneName2, sshname, publicKey, acc.IsBareMetalServerProfileName, name, acc.IsBareMetalServerImage, acc.ISZoneName2, enabled, protocol)
630630
}
631631

632632
func testAccCheckIBMISBareMetalServerReservationConfig(vpcname, subnetname, sshname, publicKey, name string) string {
@@ -707,6 +707,11 @@ func testAccCheckIBMISBareMetalServerExists(n, ip string) resource.TestCheckFunc
707707
return err
708708
}
709709
ip = *bms.ID
710+
println()
711+
fmt.Printf("%+v", *bms)
712+
fmt.Printf("%+v", *bms.MetadataService)
713+
fmt.Printf("%+v", *bms.MetadataService.Enabled)
714+
fmt.Printf("%+v", *bms.MetadataService.Protocol)
710715
return nil
711716
}
712717
}
@@ -1182,13 +1187,13 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
11821187
CheckDestroy: testAccCheckIBMISBareMetalServerDestroy,
11831188
Steps: []resource.TestStep{
11841189
{
1185-
Config: testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, acc.IsBareMetalServerImage, userdata1, acc.IamIdentityAssignmentTargetAccountId, true),
1190+
Config: testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, acc.IsBareMetalServerImage, userdata1, true, "https", true),
11861191
Check: resource.ComposeTestCheckFunc(
11871192
testAccCheckIBMISBareMetalServerExists("ibm_is_bare_metal_server.testacc_bms", server),
11881193
resource.TestCheckResourceAttr(
11891194
"ibm_is_bare_metal_server.testacc_bms", "name", name),
11901195
resource.TestCheckResourceAttr(
1191-
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName),
1196+
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName2),
11921197
resource.TestCheckResourceAttr(
11931198
"ibm_is_bare_metal_server.testacc_bms", "image", acc.IsBareMetalServerImage),
11941199
resource.TestCheckResourceAttrSet(
@@ -1198,17 +1203,17 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
11981203
resource.TestCheckResourceAttr(
11991204
"ibm_is_bare_metal_server.testacc_bms", "default_trusted_profile.0.auto_link", "true"),
12001205
resource.TestCheckResourceAttr(
1201-
"ibm_is_bare_metal_server.testacc_bms", "default_trusted_profile.0.target", "true"),
1206+
"ibm_is_bare_metal_server.testacc_bms", "default_trusted_profile.0.target.0.id", acc.IAMTrustedProfileID),
12021207
),
12031208
},
12041209
{
1205-
Config: testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, acc.IsBareMetalServerImage2, userdata2, acc.IamIdentityAssignmentTargetAccountId, false),
1210+
Config: testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, acc.IsBareMetalServerImage2, userdata2, false, "http", true),
12061211
Check: resource.ComposeTestCheckFunc(
12071212
testAccCheckIBMISBareMetalServerExists("ibm_is_bare_metal_server.testacc_bms", server),
12081213
resource.TestCheckResourceAttr(
12091214
"ibm_is_bare_metal_server.testacc_bms", "name", name),
12101215
resource.TestCheckResourceAttr(
1211-
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName),
1216+
"ibm_is_bare_metal_server.testacc_bms", "zone", acc.ISZoneName2),
12121217
resource.TestCheckResourceAttr(
12131218
"ibm_is_bare_metal_server.testacc_bms", "image", acc.IsBareMetalServerImage2),
12141219
resource.TestCheckResourceAttrSet(
@@ -1218,14 +1223,14 @@ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCKVmnMOlHKcZK8tpt3MP1lqOLAcqcJzhsvJcjscgVE
12181223
resource.TestCheckResourceAttr(
12191224
"ibm_is_bare_metal_server.testacc_bms", "default_trusted_profile.0.auto_link", "true"),
12201225
resource.TestCheckResourceAttr(
1221-
"ibm_is_bare_metal_server.testacc_bms", "default_trusted_profile.0.target", "true"),
1226+
"ibm_is_bare_metal_server.testacc_bms", "default_trusted_profile.0.target.0.id", acc.IAMTrustedProfileID),
12221227
),
12231228
},
12241229
},
12251230
})
12261231
}
12271232

1228-
func testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, image, userdata, targetId string, autolink bool) string {
1233+
func testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, sshname, publicKey, name, image, userdata string, metadataEnabled bool, metadataProtocol string, autolink bool) string {
12291234
return fmt.Sprintf(`
12301235
resource "ibm_is_vpc" "testacc_vpc" {
12311236
name = "%s"
@@ -1249,8 +1254,12 @@ func testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, s
12491254
image = "%s"
12501255
zone = "%s"
12511256
user_data = "%s"
1257+
metadata_service {
1258+
enabled = %t
1259+
protocol = "%s"
1260+
}
12521261
default_trusted_profile {
1253-
target = {
1262+
target {
12541263
id = "%s"
12551264
}
12561265
auto_link = %t
@@ -1261,5 +1270,5 @@ func testAccCheckIBMISBareMetalServerInitializationConfig(vpcname, subnetname, s
12611270
}
12621271
vpc = ibm_is_vpc.testacc_vpc.id
12631272
}
1264-
`, vpcname, subnetname, acc.ISZoneName, sshname, publicKey, acc.IsBareMetalServerProfileName, name, image, acc.ISZoneName, userdata, targetId, autolink)
1273+
`, vpcname, subnetname, acc.ISZoneName2, sshname, publicKey, acc.IsBareMetalServerProfileName, name, image, acc.ISZoneName2, userdata, metadataEnabled, metadataProtocol, acc.IAMTrustedProfileID, autolink)
12651274
}

0 commit comments

Comments
 (0)