Skip to content

Commit 4529c62

Browse files
committed
Acceptance tests for identity and objectstorage
1 parent 312f05a commit 4529c62

23 files changed

+190
-337
lines changed

data_source_obmcs_core_volume_backup_test.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,21 @@ func (s *ResourceCoreVolumeBackupsTestSuite) SetupTest() {
3737
"baremetal": s.Provider,
3838
}
3939
s.Config = `
40-
data "baremetal_core_volume_backups" "t" {
41-
compartment_id = "${var.compartment_id}"
42-
limit = 1
43-
page = "page"
44-
volume_id = "volume_id"
45-
}
40+
data "baremetal_identity_availability_domains" "ADs" {
41+
compartment_id = "${var.compartment_id}"
42+
}
43+
resource "baremetal_core_volume" "t" {
44+
availability_domain = "${data.baremetal_identity_availability_domains.ADs.availability_domains.0.name}"
45+
compartment_id = "${var.compartment_id}"
46+
display_name = "display_name"
47+
size_in_mbs = 262144
48+
}
49+
data "baremetal_core_volume_backups" "t" {
50+
compartment_id = "${var.compartment_id}"
51+
limit = 1
52+
page = "page"
53+
volume_id = "${baremetal_core_volume.t.id}"
54+
}
4655
`
4756
s.Config += testProviderConfig()
4857
s.ResourceName = "data.baremetal_core_volume_backups.t"

provider_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ func testProviderConfig() string {
3232
variable "compartment_id" {
3333
default = "` + getEnvSetting("compartment_id", "compartment_id") + `"
3434
}
35+
36+
variable "namespace" {
37+
default = "` + getEnvSetting("namespace", "mustwin") + `"
38+
}
3539
`
3640
}
3741

resource_obmcs_core_ipsec_test.go

Lines changed: 2 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func (s *ResourceCoreIPSecTestSuite) SetupTest() {
5959
cpe_id = "${baremetal_core_cpe.t.id}"
6060
drg_id = "${baremetal_core_drg.t.id}"
6161
display_name = "display_name"
62-
static_routes = ["route1","route2"]
62+
static_routes = ["10.0.0.0/16"]
6363
}
6464
`
6565

@@ -92,7 +92,7 @@ func (s *ResourceCoreIPSecTestSuite) SetupTest() {
9292
s.Client.On("DeleteIPSecConnection", s.Res.ID, (*baremetal.IfMatchOptions)(nil)).Return(nil)
9393
}
9494

95-
func (s *ResourceCoreIPSecTestSuite) TestCreateResourceCoreSubnet() {
95+
func (s *ResourceCoreIPSecTestSuite) TestCreateResourceCoreIpsec() {
9696
s.Client.On("GetIPSecConnection", "id").Return(s.Res, nil)
9797

9898
resource.UnitTest(s.T(), resource.TestCase{
@@ -115,113 +115,6 @@ func (s *ResourceCoreIPSecTestSuite) TestCreateResourceCoreSubnet() {
115115
})
116116
}
117117

118-
func (s *ResourceCoreIPSecTestSuite) TestCreateResourceCoreSubnetWithoutDisplayName() {
119-
s.Client.On("GetIPSecConnection", "id").Return(s.Res, nil)
120-
121-
s.Config = `
122-
123-
resource "baremetal_core_drg" "t" {
124-
compartment_id = "${var.compartment_id}"
125-
display_name = "display_name"
126-
}
127-
resource "baremetal_core_cpe" "t" {
128-
compartment_id = "${var.compartment_id}"
129-
display_name = "displayname"
130-
ip_address = "123.123.123.123"
131-
}
132-
resource "baremetal_core_ipsec" "t" {
133-
compartment_id = "${var.compartment_id}"
134-
cpe_id = "${baremetal_core_cpe.t.id}"
135-
drg_id = "${baremetal_core_drg.t.id}"
136-
static_routes = ["route1","route2"]
137-
}
138-
`
139-
140-
s.Config += testProviderConfig()
141-
142-
opts := &baremetal.CreateOptions{}
143-
s.Res.DisplayName = ""
144-
145-
s.Client.On(
146-
"CreateIPSecConnection",
147-
s.Res.CompartmentID,
148-
s.Res.CpeID,
149-
s.Res.DrgID,
150-
s.Res.StaticRoutes,
151-
opts).Return(s.Res, nil)
152-
153-
resource.UnitTest(s.T(), resource.TestCase{
154-
Providers: s.Providers,
155-
Steps: []resource.TestStep{
156-
{
157-
ImportState: true,
158-
ImportStateVerify: true,
159-
Config: s.Config,
160-
Check: resource.ComposeTestCheckFunc(
161-
resource.TestCheckResourceAttr(s.ResourceName, "display_name", s.Res.DisplayName),
162-
),
163-
},
164-
},
165-
})
166-
}
167-
168-
func (s ResourceCoreIPSecTestSuite) TestUpdateCompartmentIDForcesNewIPSec() {
169-
s.Client.On("GetIPSecConnection", "id").Return(s.Res, nil)
170-
171-
config := `
172-
resource "baremetal_core_ipsec" "t" {
173-
compartment_id = "new_compartment_id"
174-
cpe_id = "cpeid"
175-
drg_id = "drgid"
176-
display_name = "display_name"
177-
static_routes = ["route1","route2"]
178-
}
179-
`
180-
181-
config += testProviderConfig()
182-
183-
res := &baremetal.IPSecConnection{
184-
CompartmentID: "new_compartment_id",
185-
DisplayName: "display_name",
186-
ID: "new_id",
187-
DrgID: "drgid",
188-
CpeID: "cpeid",
189-
StaticRoutes: []string{"route1", "route2"},
190-
TimeCreated: s.TimeCreated,
191-
State: baremetal.ResourceUp,
192-
}
193-
194-
opts := &baremetal.CreateOptions{}
195-
opts.DisplayName = "display_name"
196-
s.Client.On(
197-
"CreateIPSecConnection",
198-
res.CompartmentID,
199-
res.CpeID,
200-
res.DrgID,
201-
res.StaticRoutes,
202-
opts).Return(res, nil).Once()
203-
204-
s.Client.On("GetIPSecConnection", res.ID).Return(res, nil)
205-
s.Client.On("DeleteIPSecConnection", res.ID, (*baremetal.IfMatchOptions)(nil)).Return(nil)
206-
207-
resource.UnitTest(s.T(), resource.TestCase{
208-
Providers: s.Providers,
209-
Steps: []resource.TestStep{
210-
{
211-
ImportState: true,
212-
ImportStateVerify: true,
213-
Config: s.Config,
214-
},
215-
{
216-
Config: config,
217-
Check: resource.ComposeTestCheckFunc(
218-
219-
),
220-
},
221-
},
222-
})
223-
}
224-
225118
func (s *ResourceCoreIPSecTestSuite) TestTerminateIPSec() {
226119
s.Client.On("GetIPSecConnection", "id").Return(s.Res, nil).Times(2)
227120
s.Client.On("GetIPSecConnection", "id").Return(s.DeletedRes, nil)

resource_obmcs_core_volume_backup.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,13 @@ func (s *VolumeBackupResourceCrud) ID() string {
105105
}
106106

107107
func (s *VolumeBackupResourceCrud) CreatedPending() []string {
108-
return []string{baremetal.ResourceRequestReceived}
108+
return []string{baremetal.ResourceRequestReceived, baremetal.ResourceCreating, }
109109
}
110110

111111
// Creating is considered "Created" because it can take some time to finish
112112
// actually creating and uploading the backup.
113113
func (s *VolumeBackupResourceCrud) CreatedTarget() []string {
114-
return []string{baremetal.ResourceCreating, baremetal.ResourceAvailable}
114+
return []string{baremetal.ResourceAvailable}
115115
}
116116

117117
func (s *VolumeBackupResourceCrud) DeletedPending() []string {
@@ -161,7 +161,9 @@ func (s *VolumeBackupResourceCrud) SetData() {
161161
s.D.Set("display_name", s.Res.DisplayName)
162162
s.D.Set("state", s.Res.State)
163163
s.D.Set("size_in_mbs", s.Res.SizeInMBs)
164-
s.D.Set("time_created", s.Res.TimeCreated.String())
164+
if !s.Res.TimeCreated.IsZero() {
165+
s.D.Set("time_created", s.Res.TimeCreated.String())
166+
}
165167
s.D.Set("time_request_received", s.Res.TimeCreated.String())
166168
s.D.Set("unique_size_in_mbs", s.Res.SizeInMBs)
167169
s.D.Set("volume_id", s.Res.VolumeID)

resource_obmcs_identity_api_key.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import (
88

99
"github.com/oracle/terraform-provider-baremetal/client"
1010
"github.com/oracle/terraform-provider-baremetal/crud"
11+
"errors"
12+
"regexp"
1113
)
1214

1315
func APIKeyResource() *schema.Resource {
@@ -36,6 +38,15 @@ func APIKeyResource() *schema.Resource {
3638
Type: schema.TypeString,
3739
Required: true,
3840
ForceNew: true,
41+
DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {
42+
r := regexp.MustCompile("\\s")
43+
strippedOld := r.ReplaceAllString(old, "")
44+
strippedNew := r.ReplaceAllString(new, "")
45+
if strippedOld == strippedNew {
46+
return true
47+
}
48+
return false
49+
},
3950
},
4051
"state": {
4152
Type: schema.TypeString,
@@ -130,11 +141,11 @@ func (s *APIKeyResourceCrud) Get() (e error) {
130141
for _, val := range res.Keys {
131142
if val.Fingerprint == fingerprint {
132143
s.Res = &val
133-
break
144+
return nil
134145
}
135146
}
136147

137-
return
148+
return errors.New("Specified APIKEY does not exist")
138149
}
139150

140151
func (s *APIKeyResourceCrud) SetData() {

resource_obmcs_identity_api_key_test.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,23 @@ func (s *ResourceIdentityAPIKeyTestSuite) SetupTest() {
3838
s.Providers = map[string]terraform.ResourceProvider{"baremetal": s.Provider}
3939

4040
s.Config = `
41+
resource "baremetal_identity_user" "t" {
42+
name = "name1"
43+
description = "desc!"
44+
}
4145
resource "baremetal_identity_api_key" "t" {
42-
user_id = "user_id"
43-
key_value = "1"
46+
user_id = "${baremetal_identity_user.t.id}"
47+
key_value = <<EOF
48+
-----BEGIN PUBLIC KEY-----
49+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtBLQAGmKJ7tpfzYJyqLG
50+
ZDwHL51+d6T8Z00BnP9CFfzxZZZ48PcYSUHuTyCM8mR5JqYLyH6C8tZ/DKqwxUnc
51+
ONgBytG3MM42bgxfHIhsZRj5rCz1oqWlSLuXvgww1kuqWnt6r+NtnXog439YsGTH
52+
RotrTLTdEgOxH0EFP5uHUc9w/Uix7rWU7GB2ra060oeTB/hKpts5U70eI2EI6ec9
53+
1sJdUIj7xNfBJeQQrz4CFUrkyzL06211CFvhmxH2hA9gBKOqC3rGL8XraHZBhGWn
54+
mXlrQB7nNKsJrrv5fHwaPDrAY4iNP2W0q3LRpyNigJ6cgRuGJhHa82iHPmxgIx8m
55+
fwIDAQAB
56+
-----END PUBLIC KEY-----
57+
EOF
4458
}
4559
`
4660
s.Config += testProviderConfig()
@@ -86,8 +100,8 @@ func (s *ResourceIdentityAPIKeyTestSuite) TestCreateAPIKey() {
86100
ImportStateVerify: true,
87101
Config: s.Config,
88102
Check: resource.ComposeTestCheckFunc(
89-
resource.TestCheckResourceAttr(s.ResourceName, "user_id", "user_id"),
90-
resource.TestCheckResourceAttr(s.ResourceName, "key_value", "1"),
103+
resource.TestCheckResourceAttrSet(s.ResourceName, "user_id"),
104+
resource.TestCheckResourceAttr(s.ResourceName, "state", s.Res.State),
91105
),
92106
},
93107
},

0 commit comments

Comments
 (0)