@@ -6,6 +6,7 @@ package integrationtest
66import (
77 "context"
88 "fmt"
9+ "github.com/oracle/terraform-provider-oci/internal/resourcediscovery"
910 "strconv"
1011 "testing"
1112 "time"
@@ -18,7 +19,6 @@ import (
1819 "github.com/oracle/terraform-provider-oci/httpreplay"
1920 acctest "github.com/oracle/terraform-provider-oci/internal/acctest"
2021 tf_client "github.com/oracle/terraform-provider-oci/internal/client"
21- "github.com/oracle/terraform-provider-oci/internal/resourcediscovery"
2222 "github.com/oracle/terraform-provider-oci/internal/tfresource"
2323 "github.com/oracle/terraform-provider-oci/internal/utils"
2424)
3636
3737 pipelineRunDataSourceRepresentation = map [string ]interface {}{
3838 "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
39- "created_by" : acctest.Representation {RepType : acctest .Optional , Create : `createdBy ` },
39+ "created_by" : acctest.Representation {RepType : acctest .Optional , Create : `${oci_datascience_pipeline.test_pipeline.created_by} ` },
4040 "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `displayName` , Update : `displayName2` },
4141 "id" : acctest.Representation {RepType : acctest .Optional , Create : `${oci_datascience_pipeline_run.test_pipeline_run.id}` },
4242 "pipeline_id" : acctest.Representation {RepType : acctest .Optional , Create : `${oci_datascience_pipeline.test_pipeline.id}` },
5959 "log_configuration_override_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : pipelineRunLogConfigurationOverrideDetailsRepresentation },
6060 "step_override_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : pipelineRunStepOverrideDetailsRepresentation },
6161 }
62+
63+ pipelineRunContainerRepresentation = map [string ]interface {}{
64+ "compartment_id" : acctest.Representation {RepType : acctest .Required , Create : `${var.compartment_id}` },
65+ "pipeline_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_datascience_pipeline.test_pipeline.id}` },
66+ "project_id" : acctest.Representation {RepType : acctest .Required , Create : `${oci_datascience_project.test_project.id}` },
67+ "configuration_override_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : pipelineRunConfigurationOverrideDetailsRepresentation },
68+ "display_name" : acctest.Representation {RepType : acctest .Optional , Create : `displayName` , Update : `displayName2` },
69+ "freeform_tags" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"Department" : "Finance" }, Update : map [string ]string {"Department" : "Accounting" }},
70+ "delete_related_job_runs" : acctest.Representation {RepType : acctest .Required , Create : `true` , Update : `true` },
71+ "log_configuration_override_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : pipelineRunLogConfigurationOverrideDetailsRepresentation },
72+ "step_override_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : pipelineRunStepOverrideDetailsContainerRepresentation },
73+ }
74+
6275 pipelineRunConfigurationOverrideDetailsRepresentation = map [string ]interface {}{
6376 "type" : acctest.Representation {RepType : acctest .Required , Create : `DEFAULT` },
6477 "command_line_arguments" : acctest.Representation {RepType : acctest .Optional , Create : `commandLineArgumentsOverriden` },
@@ -74,17 +87,36 @@ var (
7487 pipelineRunStepOverrideDetailsRepresentation = map [string ]interface {}{
7588 "step_configuration_details" : acctest.RepresentationGroup {RepType : acctest .Required , Group : pipelineRunStepOverrideDetailsStepConfigurationDetailsRepresentation },
7689 "step_name" : acctest.Representation {RepType : acctest .Required , Create : `stepName` },
90+ //"step_container_configuration_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatasciencePipelineRunStepOverrideDetailsContainerConfigurationDetailsRepresentation},
91+ }
92+ pipelineRunStepOverrideDetailsContainerRepresentation = map [string ]interface {}{
93+ "step_configuration_details" : acctest.RepresentationGroup {RepType : acctest .Required , Group : pipelineRunStepOverrideDetailsStepConfigurationDetailsRepresentation },
94+ "step_name" : acctest.Representation {RepType : acctest .Required , Create : `stepNameContainer` },
95+ "step_container_configuration_details" : acctest.RepresentationGroup {RepType : acctest .Optional , Group : DatasciencePipelineRunStepOverrideDetailsContainerConfigurationDetailsRepresentation },
7796 }
7897 pipelineRunStepOverrideDetailsStepConfigurationDetailsRepresentation = map [string ]interface {}{
7998 "command_line_arguments" : acctest.Representation {RepType : acctest .Optional , Create : `commandLineArgumentsOverriden` },
8099 "environment_variables" : acctest.Representation {RepType : acctest .Optional , Create : map [string ]string {"environmentVariables" : "environmentVariablesOverriden" }},
81100 "maximum_runtime_in_minutes" : acctest.Representation {RepType : acctest .Optional , Create : `10` },
82101 }
102+ DatasciencePipelineRunStepOverrideDetailsContainerConfigurationDetailsRepresentation = map [string ]interface {}{
103+ "container_type" : acctest.Representation {RepType : acctest .Required , Create : `OCIR_CONTAINER` },
104+ "image" : acctest.Representation {RepType : acctest .Required , Create : `iad.ocir.io/ociodscdev/nested-rp-public-python-sdk-1:1.0` },
105+ "cmd" : acctest.Representation {RepType : acctest .Optional , Create : []string {`hello_world.py` }},
106+ "entrypoint" : acctest.Representation {RepType : acctest .Optional , Create : []string {`python3` }},
107+ "image_digest" : acctest.Representation {RepType : acctest .Optional , Create : `` },
108+ "image_signature_id" : acctest.Representation {RepType : acctest .Optional , Create : `` },
109+ }
83110
84111 PipelineRunResourceDependencies = acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline" , "test_pipeline" , acctest .Required , acctest .Create , pipelineRepresentation ) +
85112 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_project" , "test_project" , acctest .Required , acctest .Create , DatascienceProjectRepresentation ) +
86113 acctest .GenerateResourceFromRepresentationMap ("oci_logging_log_group" , "terraform_test_custom_log_group" , acctest .Required , acctest .Create , pipelineLogGroupRepresentation ) +
87114 acctest .GenerateResourceFromRepresentationMap ("oci_logging_log" , "terraform_test_custom_log" , acctest .Required , acctest .Create , pipelineLogRepresentation )
115+
116+ PipelineRunContainerResourceDependencies = acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline" , "test_pipeline" , acctest .Optional , acctest .Create , pipelineRepresentationContainer ) +
117+ acctest .GenerateResourceFromRepresentationMap ("oci_datascience_project" , "test_project" , acctest .Required , acctest .Create , DatascienceProjectRepresentation ) +
118+ acctest .GenerateResourceFromRepresentationMap ("oci_logging_log_group" , "terraform_test_custom_log_group" , acctest .Required , acctest .Create , pipelineLogGroupRepresentation ) +
119+ acctest .GenerateResourceFromRepresentationMap ("oci_logging_log" , "terraform_test_custom_log" , acctest .Required , acctest .Create , pipelineLogRepresentation )
88120)
89121
90122// issue-routing-tag: datascience/default
@@ -106,11 +138,43 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
106138
107139 var resId , resId2 string
108140 // 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.
109- acctest .SaveConfigContent (config + compartmentIdVariableStr + PipelineRunResourceDependencies +
141+ acctest .SaveConfigContent (config + compartmentIdVariableStr + PipelineRunContainerResourceDependencies +
110142 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Optional , acctest .Create , pipelineRunRepresentation ), "datascience" , "pipelineRun" , t )
111143
112144 acctest .ResourceTest (t , testAccCheckDatasciencePipelineRunDestroy , []resource.TestStep {
113- // verify Create
145+ // Step 0 - Verify Create Pipeline Run with Container
146+ {
147+ Config : config + compartmentIdVariableStr + PipelineRunContainerResourceDependencies +
148+ acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Optional , acctest .Create , pipelineRunContainerRepresentation ),
149+ Check : acctest .ComposeAggregateTestCheckFuncWrapper (
150+ resource .TestCheckResourceAttr (resourceName , "compartment_id" , compartmentId ),
151+ resource .TestCheckResourceAttrSet (resourceName , "pipeline_id" ),
152+ resource .TestCheckResourceAttrSet (resourceName , "project_id" ),
153+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
154+ resource .TestCheckResourceAttr (resourceName , "configuration_override_details.#" , "1" ),
155+ resource .TestCheckResourceAttr (resourceName , "step_override_details.#" , "1" ),
156+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_configuration_details.#" , "1" ),
157+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_configuration_details.0.command_line_arguments" , "commandLineArgumentsOverriden" ),
158+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_configuration_details.0.environment_variables.%" , "1" ),
159+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_configuration_details.0.maximum_runtime_in_minutes" , "10" ),
160+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_name" , "stepNameContainer" ),
161+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_container_configuration_details.#" , "1" ),
162+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_container_configuration_details.0.container_type" , "OCIR_CONTAINER" ),
163+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_container_configuration_details.0.image" , "iad.ocir.io/ociodscdev/nested-rp-public-python-sdk-1:1.0" ),
164+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_container_configuration_details.0.cmd.#" , "1" ),
165+ resource .TestCheckResourceAttr (resourceName , "step_override_details.0.step_container_configuration_details.0.entrypoint.#" , "1" ),
166+
167+ func (s * terraform.State ) (err error ) {
168+ resId , err = acctest .FromInstanceState (s , resourceName , "id" )
169+ return err
170+ },
171+ ),
172+ },
173+ // Step 1 - delete before next Create
174+ {
175+ Config : config + compartmentIdVariableStr + PipelineRunContainerResourceDependencies , // current pipeline state = ACCEPTED and DELETE after SUCCEEDED/CANCELED/FAILED
176+ },
177+ // Step 2 - verify Create
114178 {
115179 Config : config + compartmentIdVariableStr + PipelineRunResourceDependencies +
116180 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Required , acctest .Create , pipelineRunRepresentation ),
@@ -125,12 +189,11 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
125189 },
126190 ),
127191 },
128-
129- // delete before next Create
192+ // Step 3 - delete before next Create
130193 {
131194 Config : config + compartmentIdVariableStr + PipelineRunResourceDependencies , // current pipeline state = ACCEPTED and DELETE after SUCCEEDED/CANCELED/FAILED
132195 },
133- // verify Create with optionals
196+ // Step 4 - verify Create with optionals
134197 {
135198 Config : config + compartmentIdVariableStr + PipelineRunResourceDependencies +
136199 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Optional , acctest .Create , pipelineRunRepresentation ),
@@ -175,7 +238,7 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
175238 ),
176239 },
177240
178- // verify Update to the compartment (the compartment will be switched back in the next step)
241+ // Step 5 - verify Update to the compartment (the compartment will be switched back in the next step)
179242 {
180243 Config : config + compartmentIdVariableStr + compartmentIdUVariableStr + PipelineRunResourceDependencies +
181244 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Optional , acctest .Create ,
@@ -221,7 +284,7 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
221284 ),
222285 },
223286
224- // verify updates to updatable parameters
287+ // Step 6 - verify updates to updatable parameters
225288 {
226289 Config : config + compartmentIdVariableStr + PipelineRunResourceDependencies +
227290 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Optional , acctest .Update , pipelineRunRepresentation ),
@@ -263,20 +326,19 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
263326 },
264327 ),
265328 },
266- // verify datasource
329+ // Step 7 - verify datasource
267330 {
268331 Config : config +
269332 acctest .GenerateDataSourceFromRepresentationMap ("oci_datascience_pipeline_runs" , "test_pipeline_runs" , acctest .Optional , acctest .Update , pipelineRunDataSourceRepresentation ) +
270333 compartmentIdVariableStr + PipelineRunResourceDependencies +
271334 acctest .GenerateResourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Optional , acctest .Update , pipelineRunRepresentation ),
272335 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
273336 resource .TestCheckResourceAttr (datasourceName , "compartment_id" , compartmentId ),
274- resource .TestCheckResourceAttr (datasourceName , "created_by" , "createdBy " ),
337+ resource .TestCheckResourceAttrSet (datasourceName , "created_by" ),
275338 resource .TestCheckResourceAttr (datasourceName , "display_name" , "displayName2" ),
276339 resource .TestCheckResourceAttrSet (datasourceName , "id" ),
277340 resource .TestCheckResourceAttrSet (datasourceName , "pipeline_id" ),
278341 resource .TestCheckResourceAttr (datasourceName , "state" , "SUCCEEDED" ),
279-
280342 resource .TestCheckResourceAttr (datasourceName , "pipeline_runs.#" , "1" ),
281343 resource .TestCheckResourceAttr (datasourceName , "pipeline_runs.0.compartment_id" , compartmentId ),
282344 resource .TestCheckResourceAttrSet (datasourceName , "pipeline_runs.0.created_by" ),
@@ -292,14 +354,13 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
292354 resource .TestCheckResourceAttrSet (datasourceName , "pipeline_runs.0.time_started" ),
293355 ),
294356 },
295- // verify singular datasource
357+ // Step 8 - verify singular datasource
296358 {
297359 Config : config +
298360 acctest .GenerateDataSourceFromRepresentationMap ("oci_datascience_pipeline_run" , "test_pipeline_run" , acctest .Required , acctest .Create , pipelineRunSingularDataSourceRepresentation ) +
299361 compartmentIdVariableStr + PipelineRunResourceConfig ,
300362 Check : acctest .ComposeAggregateTestCheckFuncWrapper (
301363 resource .TestCheckResourceAttrSet (singularDatasourceName , "pipeline_run_id" ),
302-
303364 resource .TestCheckResourceAttr (singularDatasourceName , "compartment_id" , compartmentId ),
304365 resource .TestCheckResourceAttr (singularDatasourceName , "configuration_override_details.#" , "1" ),
305366 resource .TestCheckResourceAttr (singularDatasourceName , "configuration_override_details.0.command_line_arguments" , "commandLineArgumentsOverriden" ),
@@ -328,7 +389,7 @@ func TestDatasciencePipelineRunResource_basic(t *testing.T) {
328389 resource .TestCheckResourceAttrSet (singularDatasourceName , "time_started" ),
329390 ),
330391 },
331- // verify resource import
392+ // Step 9 - verify resource import
332393 {
333394 Config : config + PipelineRunRequiredOnlyResource ,
334395 ImportState : true ,
0 commit comments