@@ -12,6 +12,8 @@ import (
1212 "github.com/hashicorp/terraform/helper/schema"
1313 "github.com/hashicorp/terraform/terraform"
1414
15+ "github.com/MustWin/terraform-Oracle-BareMetal-Provider/core"
16+ "github.com/MustWin/terraform-Oracle-BareMetal-Provider/crud"
1517 "github.com/stretchr/testify/suite"
1618)
1719
@@ -64,7 +66,7 @@ func (s *ResourceCoreInstanceTestSuite) SetupTest() {
6466 CompartmentID : "compartment_id" ,
6567 DisplayName : "display_name" ,
6668 ID : "id" ,
67- ImageID : "imageid" ,
69+ ImageID : "imageid" ,
6870 Metadata : map [string ]string {
6971 "ssh_authorized_keys" : "mypublickey" ,
7072 },
@@ -76,7 +78,8 @@ func (s *ResourceCoreInstanceTestSuite) SetupTest() {
7678 s .Res .ETag = "etag"
7779 s .Res .RequestID = "opcrequestid"
7880
79- s .DeletedRes = s .Res
81+ s .DeletedRes = & baremetal.Instance {}
82+ * s .DeletedRes = * s .Res
8083 s .DeletedRes .State = baremetal .ResourceTerminated
8184
8285 opts := & baremetal.LaunchInstanceOptions {}
@@ -94,7 +97,8 @@ func (s *ResourceCoreInstanceTestSuite) SetupTest() {
9497}
9598
9699func (s * ResourceCoreInstanceTestSuite ) TestCreateResourceCoreInstance () {
97- s .Client .On ("GetInstance" , "id" ).Return (s .Res , nil )
100+ s .Client .On ("GetInstance" , "id" ).Return (s .Res , nil ).Twice ()
101+ s .Client .On ("GetInstance" , "id" ).Return (s .DeletedRes , nil )
98102
99103 resource .UnitTest (s .T (), resource.TestCase {
100104 Providers : s .Providers ,
@@ -116,7 +120,8 @@ func (s *ResourceCoreInstanceTestSuite) TestCreateResourceCoreInstance() {
116120}
117121
118122func (s * ResourceCoreInstanceTestSuite ) TestCreateResourceCoreInstanceWithoutDisplayName () {
119- s .Client .On ("GetInstance" , "id" ).Return (s .Res , nil )
123+ s .Client .On ("GetInstance" , "id" ).Return (s .Res , nil ).Twice ()
124+ s .Client .On ("GetInstance" , "id" ).Return (s .DeletedRes , nil )
120125
121126 s .Config = `
122127 resource "baremetal_core_instance" "t" {
@@ -180,7 +185,7 @@ func (s ResourceCoreInstanceTestSuite) TestUpdateInstanceDisplayName() {
180185 CompartmentID : "compartment_id" ,
181186 DisplayName : "new_display_name" ,
182187 ID : "id" ,
183- ImageID : "imageid" ,
188+ ImageID : "imageid" ,
184189 Metadata : map [string ]string {
185190 "ssh_authorized_keys" : "mypublickey" ,
186191 },
@@ -195,7 +200,8 @@ func (s ResourceCoreInstanceTestSuite) TestUpdateInstanceDisplayName() {
195200 opts := & baremetal.UpdateOptions {}
196201 opts .DisplayName = "new_display_name"
197202 s .Client .On ("UpdateInstance" , "id" , opts ).Return (res , nil )
198- s .Client .On ("GetInstance" , "id" ).Return (res , nil )
203+ s .Client .On ("GetInstance" , "id" ).Return (res , nil ).Times (2 )
204+ s .Client .On ("GetInstance" , "id" ).Return (s .DeletedRes , nil ).Times (2 )
199205
200206 resource .UnitTest (s .T (), resource.TestCase {
201207 Providers : s .Providers ,
@@ -214,7 +220,7 @@ func (s ResourceCoreInstanceTestSuite) TestUpdateInstanceDisplayName() {
214220}
215221
216222func (s ResourceCoreInstanceTestSuite ) TestUpdateAvailabilityDomainForcesNewInstance () {
217- s .Client .On ("GetInstance" , "id" ).Return (s .Res , nil )
223+ s .Client .On ("GetInstance" , "id" ).Return (s .Res , nil ). Times ( 2 )
218224
219225 config := `
220226 resource "baremetal_core_instance" "t" {
@@ -237,7 +243,7 @@ func (s ResourceCoreInstanceTestSuite) TestUpdateAvailabilityDomainForcesNewInst
237243 CompartmentID : "compartment_id" ,
238244 DisplayName : "display_name" ,
239245 ID : "new_id" ,
240- ImageID : "imageid" ,
246+ ImageID : "imageid" ,
241247 Metadata : map [string ]string {
242248 "ssh_authorized_keys" : "mypublickey" ,
243249 },
@@ -261,8 +267,10 @@ func (s ResourceCoreInstanceTestSuite) TestUpdateAvailabilityDomainForcesNewInst
261267 "subnetid" ,
262268 opts ).Return (res , nil )
263269
264- s .Client .On ("GetInstance" , res .ID ).Return (res , nil )
270+ s .Client .On ("GetInstance" , s .Res .ID ).Return (s .DeletedRes , nil )
271+ s .Client .On ("GetInstance" , res .ID ).Return (res , nil ).Times (2 )
265272 s .Client .On ("TerminateInstance" , res .ID , (* baremetal .IfMatchOptions )(nil )).Return (nil )
273+ s .Client .On ("GetInstance" , "new_id" ).Return (s .DeletedRes , nil ).Twice ()
266274
267275 resource .UnitTest (s .T (), resource.TestCase {
268276 Providers : s .Providers ,
@@ -300,6 +308,14 @@ func (s *ResourceCoreInstanceTestSuite) TestTerminateInstance() {
300308 s .Client .AssertCalled (s .T (), "TerminateInstance" , "id" , (* baremetal .IfMatchOptions )(nil ))
301309}
302310
311+ func TestIsStatefulResource (t * testing.T ) {
312+ var sr crud.StatefulResource
313+ sr = & core.InstanceResourceCrud {}
314+ if sr == nil {
315+ t .Fail ()
316+ }
317+ }
318+
303319func TestResourceCoreInstanceTestSuite (t * testing.T ) {
304320 suite .Run (t , new (ResourceCoreInstanceTestSuite ))
305321}
0 commit comments