@@ -6,13 +6,11 @@ package integrationtest
66import (
77 "context"
88 "fmt"
9- "strconv"
109 "testing"
1110 "time"
1211
1312 "github.com/oracle/terraform-provider-oci/internal/acctest"
1413 tf_client "github.com/oracle/terraform-provider-oci/internal/client"
15- "github.com/oracle/terraform-provider-oci/internal/resourcediscovery"
1614 "github.com/oracle/terraform-provider-oci/internal/tfresource"
1715 "github.com/oracle/terraform-provider-oci/internal/utils"
1816
@@ -26,169 +24,42 @@ import (
2624)
2725
2826var (
29- DatabaseMigrationJobRequiredOnlyResource = DatabaseMigrationJobResourceDependencies +
30- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Required , acctest .Create , jobRepresentation )
31-
32- DatabaseMigrationJobResourceConfig = //DatabaseMigrationJobResourceDependencies +
33- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Optional , acctest .Update , jobRepresentation2 )
34-
3527 DatabaseMigrationjobSingularDataSourceRepresentation = map [string ]interface {}{
36- "job_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_migration_job.test_job.id}` },
37- }
38-
39- DatabaseMigrationjobDataSourceRepresentation = map [string ]interface {}{
40- "migration_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_migration_migration.test_migration.id}` },
41- "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `TF_displayName` , Update : `TF_displayName2` },
42- "state" : acctest.Representation {RepType : acctest .Optional , Create : `Succeeded` },
43- "filter" : acctest.RepresentationGroup {RepType : acctest .Required , Group : jobDataSourceFilterRepresentation }}
44- jobDataSourceFilterRepresentation = map [string ]interface {}{
45- "name" : acctest.Representation {RepType : acctest .Required , Create : `TF_id` },
46- "values" : acctest.Representation {RepType : acctest .Required , Create : []string {`${oci_database_migration_job.test_job.id}` }},
28+ "job_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.oci_job_id}` },
4729 }
4830
4931 jobRepresentation = map [string ]interface {}{
50- "job_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_migration_job.test_job.id}` },
51- "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `TF_displayName` , Update : `TF_displayName2` },
32+ "job_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.oci_job_id}` },
5233 }
53-
54- jobRepresentation2 = map [string ]interface {}{
55- "job_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_database_migration_job.test_job.id}` },
56- "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `TF_displayName` , Update : `TF_displayName2` },
57- }
58-
59- DatabaseMigrationJobResourceDependencies = acctest .GenerateResourceFromRepresentationMap ("oci_apigateway_deployment" , "test_deployment" , acctest .Required , acctest .Create , ApigatewayDeploymentRepresentation ) +
60- acctest .GenerateResourceFromRepresentationMap ("oci_apigateway_gateway" , "test_gateway" , acctest .Required , acctest .Create , ApigatewayRepresentation ) +
61- acctest .GenerateResourceFromRepresentationMap ("oci_core_subnet" , "test_subnet" , acctest .Required , acctest .Create , CoreSubnetRepresentation ) +
62- acctest .GenerateResourceFromRepresentationMap ("oci_core_vcn" , "test_vcn" , acctest .Required , acctest .Create , CoreVcnRepresentation ) +
63- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_connection" , "test_connection" , acctest .Required , acctest .Create , connectionRepresentationCon ) +
64- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Required , acctest .Create , jobRepresentation ) +
65- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_migration" , "test_migration" , acctest .Required , acctest .Create , migrationRepresentation ) +
66- acctest .GenerateResourceFromRepresentationMap ("oci_functions_application" , "test_application" , acctest .Required , acctest .Create , FunctionsApplicationRepresentation ) +
67- acctest .GenerateResourceFromRepresentationMap ("oci_functions_function" , "test_function" , acctest .Required , acctest .Create , FunctionsFunctionRepresentation ) +
68- DefinedTagsDependencies +
69- KeyResourceDependencyConfig +
70- acctest .GenerateResourceFromRepresentationMap ("oci_kms_vault" , "test_vault" , acctest .Required , acctest .Create , KmsVaultRepresentation ) +
71- acctest .GenerateResourceFromRepresentationMap ("oci_objectstorage_bucket" , "test_bucket" , acctest .Required , acctest .Create , ObjectStorageBucketRepresentation ) +
72- acctest .GenerateDataSourceFromRepresentationMap ("oci_objectstorage_namespace" , "test_namespace" , acctest .Required , acctest .Create , ObjectStorageObjectStorageNamespaceSingularDataSourceRepresentation )
7334)
7435
7536// issue-routing-tag: database_migration/default
7637func TestDatabaseMigrationJobResource_basic (t * testing.T ) {
77- t .Skip ("Skip this job creation is an independent operation after validating the migration" )
7838 httpreplay .SetScenario ("TestDatabaseMigrationJobResource_basic" )
7939 defer httpreplay .SaveScenario ()
8040
8141 config := acctest .ProviderTestConfig ()
8242
83- compartmentId := utils .GetEnvSettingWithBlankDefault ("compartment_ocid " )
84- compartmentIdVariableStr := fmt .Sprintf ("variable \" compartment_id \" { default = \" %s\" }\n " , compartmentId )
43+ jobId := utils .GetEnvSettingWithBlankDefault ("job_ocid " )
44+ jobIdVariableStr := fmt .Sprintf ("variable \" oci_job_id \" { default = \" %s\" }\n " , jobId )
8545
86- resourceName := "oci_database_migration_job.test_job"
87- datasourceName := "data.oci_database_migration_jobs.test_jobs"
8846 singularDatasourceName := "data.oci_database_migration_job.test_job"
8947
90- var resId , resId2 string
91- // Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "Create with optionals" step in the test.
92- acctest .SaveConfigContent (config + compartmentIdVariableStr +
93- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Optional , acctest .Create , jobRepresentation ), "databasemigration" , "job" , t )
94-
9548 acctest .ResourceTest (t , testAccCheckDatabaseMigrationJobDestroy , []resource.TestStep {
96- // verify Create
97- {
98- Config : config + compartmentIdVariableStr +
99- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Required , acctest .Create , jobRepresentation ),
100- Check : acctest .ComposeAggregateTestCheckFuncWrapper (
101- resource .TestCheckResourceAttrSet (resourceName , "job_id" ),
102-
103- func (s * terraform.State ) (err error ) {
104- resId , err = acctest .FromInstanceState (s , resourceName , "job_id" )
105- return err
106- },
107- ),
108- },
109-
110- // delete before next Create
111- {
112- Config : config + compartmentIdVariableStr ,
113- },
114- // verify Create with optionals
115- {
116- Config : config + compartmentIdVariableStr +
117- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Optional , acctest .Create , jobRepresentation2 ),
118- Check : acctest .ComposeAggregateTestCheckFuncWrapper (
119- resource .TestCheckResourceAttr (resourceName , "display_name" , "TF_displayName" ),
120- resource .TestCheckResourceAttrSet (resourceName , "job_id" ),
121- resource .TestCheckResourceAttrSet (resourceName , "migration_id" ),
122- resource .TestCheckResourceAttrSet (resourceName , "state" ),
123- resource .TestCheckResourceAttrSet (resourceName , "time_created" ),
124- resource .TestCheckResourceAttrSet (resourceName , "type" ),
125- func (s * terraform.State ) (err error ) {
126- resId , err = acctest .FromInstanceState (s , resourceName , "job_id" )
127- if isEnableExportCompartment , _ := strconv .ParseBool (utils .GetEnvSettingWithDefault ("enable_export_compartment" , "true" )); isEnableExportCompartment {
128- if errExport := resourcediscovery .TestExportCompartmentWithResourceName (& resId , & compartmentId , resourceName ); errExport != nil {
129- return errExport
130- }
131- }
132- return err
133- },
134- ),
135- },
136-
137- // verify updates to updatable parameters
138- {
139- Config : config + compartmentIdVariableStr +
140- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Optional , acctest .Update , jobRepresentation2 ),
141- Check : acctest .ComposeAggregateTestCheckFuncWrapper (
142- resource .TestCheckResourceAttr (resourceName , "display_name" , "TF_displayName2" ),
143- resource .TestCheckResourceAttrSet (resourceName , "job_id" ),
144- resource .TestCheckResourceAttrSet (resourceName , "migration_id" ),
145- resource .TestCheckResourceAttrSet (resourceName , "state" ),
146- resource .TestCheckResourceAttrSet (resourceName , "time_created" ),
147- resource .TestCheckResourceAttrSet (resourceName , "type" ),
148- func (s * terraform.State ) (err error ) {
149- resId2 , err = acctest .FromInstanceState (s , resourceName , "job_id" )
150- if resId != resId2 {
151- return fmt .Errorf ("Resource recreated when it was supposed to be updated." )
152- }
153- return err
154- },
155- ),
156- },
157- // verify datasource
158- {
159- Config : config +
160- acctest .GenerateDataSourceFromRepresentationMap ("oci_database_migration_jobs" , "test_jobs" , acctest .Optional , acctest .Update , DatabaseMigrationjobDataSourceRepresentation ) +
161- compartmentIdVariableStr + //DatabaseMigrationJobResourceDependencies +
162- acctest .GenerateResourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Optional , acctest .Update , jobRepresentation2 ),
163- Check : acctest .ComposeAggregateTestCheckFuncWrapper (
164- resource .TestCheckResourceAttr (datasourceName , "display_name" , "TF_displayName2" ),
165- resource .TestCheckResourceAttr (datasourceName , "state" , "Succeeded" ),
166- resource .TestCheckResourceAttr (datasourceName , "job_collection.#" , "1" ),
167- resource .TestCheckResourceAttr (datasourceName , "job_collection.0.items.#" , "0" ),
168- ),
169- },
17049 // verify singular datasource
17150 {
172- Config : config +
173- acctest .GenerateDataSourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Required , acctest .Create , DatabaseMigrationjobSingularDataSourceRepresentation ) +
174- compartmentIdVariableStr + DatabaseMigrationJobResourceConfig ,
51+ Config : config + jobIdVariableStr +
52+ acctest .GenerateDataSourceFromRepresentationMap ("oci_database_migration_job" , "test_job" , acctest .Required , acctest .Create , DatabaseMigrationjobSingularDataSourceRepresentation ),
17553 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
17654 resource .TestCheckResourceAttrSet (singularDatasourceName , "job_id" ),
177- resource .TestCheckResourceAttr (singularDatasourceName , "display_name" , "TF_displayName2" ),
178- resource .TestCheckResourceAttrSet (singularDatasourceName , "state" ),
179- resource .TestCheckResourceAttrSet (singularDatasourceName , "time_created" ),
180- resource .TestCheckResourceAttrSet (singularDatasourceName , "time_updated" ),
181- resource .TestCheckResourceAttrSet (singularDatasourceName , "type" ),
55+ resource .TestCheckResourceAttr (singularDatasourceName , "progress.0.phases.0.status" , "COMPLETED" ),
56+ resource .TestCheckResourceAttr (singularDatasourceName , "progress.0.phases.0.issue" , "" ),
57+ resource .TestCheckResourceAttr (singularDatasourceName , "progress.0.phases.0.action" , "" ),
58+ resource .TestCheckResourceAttr (singularDatasourceName , "progress.0.phases.1.status" , "FAILED" ),
59+ resource .TestCheckResourceAttrSet (singularDatasourceName , "progress.0.phases.1.issue" ),
60+ resource .TestCheckResourceAttrSet (singularDatasourceName , "progress.0.phases.1.action" ),
18261 ),
18362 },
184- // verify resource import
185- {
186- Config : config + DatabaseMigrationJobRequiredOnlyResource ,
187- ImportState : true ,
188- ImportStateVerify : false ,
189- ImportStateVerifyIgnore : []string {},
190- ResourceName : resourceName ,
191- },
19263 })
19364}
19465
@@ -209,7 +80,8 @@ func testAccCheckDatabaseMigrationJobDestroy(s *terraform.State) error {
20980
21081 if err == nil {
21182 deletedLifecycleStates := map [string ]bool {
212- string (oci_database_migration .JobLifecycleStatesTerminated ): true ,
83+ // Because of the nature of this test, the Job is expected to finish in a Failed State
84+ string (oci_database_migration .JobLifecycleStatesFailed ): true ,
21385 }
21486 if _ , ok := deletedLifecycleStates [string (response .LifecycleState )]; ! ok {
21587 //resource lifecycle state is not in expected deleted lifecycle states.
0 commit comments