Skip to content

Commit 6675188

Browse files
Bug Fix - Added data source support for ML Application Implementation Version resource
1 parent 564d3c3 commit 6675188

7 files changed

+993
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
data "oci_datascience_ml_application_implementation_versions" "test_ml_application_implementation_versions" {
2+
#Required
3+
ml_application_implementation_id = oci_datascience_ml_application_implementation.test_ml_application_implementation.id
4+
#Optional
5+
state = "ACTIVE"
6+
}
7+
8+
data "oci_datascience_ml_application_implementation_version" "test_ml_application_implementation_version" {
9+
#Required
10+
ml_application_implementation_version_id = data.oci_datascience_ml_application_implementation_versions.test_ml_application_implementation_versions.ml_application_implementation_version_collection[0].items[0].id
11+
}
12+
13+
data "oci_datascience_ml_application_implementation_versions" "test_ml_application_implementation_versions_with_filter" {
14+
#Required
15+
ml_application_implementation_id = oci_datascience_ml_application_implementation.test_ml_application_implementation.id
16+
state = "ACTIVE"
17+
filter {
18+
name = "package_version"
19+
values = ["1.1"]
20+
}
21+
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package integrationtest
5+
6+
import (
7+
"fmt"
8+
"testing"
9+
10+
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
11+
12+
"github.com/oracle/terraform-provider-oci/httpreplay"
13+
"github.com/oracle/terraform-provider-oci/internal/acctest"
14+
15+
"github.com/oracle/terraform-provider-oci/internal/utils"
16+
)
17+
18+
var (
19+
DatascienceMlApplicationImplementationVersionSingularDataSourceRepresentation = map[string]interface{}{
20+
"ml_application_implementation_version_id": acctest.Representation{RepType: acctest.Required, Create: `${data.oci_datascience_ml_application_implementation_versions.test_ml_application_implementation_versions.ml_application_implementation_version_collection[0].items[0].id}`},
21+
}
22+
23+
DatascienceMlApplicationImplementationVersionDataSourceRepresentation = map[string]interface{}{
24+
"ml_application_implementation_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_datascience_ml_application_implementation.test_ml_application_implementation.id}`},
25+
"state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`},
26+
}
27+
28+
DatascienceMlAppImplementationRepresentation = map[string]interface{}{
29+
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`},
30+
"ml_application_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_datascience_ml_application.test_ml_application.id}`},
31+
"name": acctest.Representation{RepType: acctest.Required, Create: `TestResource`},
32+
"opc_ml_app_package_args": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"bucket_namespace": "idtlxnfdweil"}},
33+
"ml_application_package": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"source_type": "object_storage_download", "uri": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/ociodscdev/b/Artifact/o/windows.zip"}, Update: map[string]string{"source_type": "object_storage_download", "path": "https://objectstorage.us-ashburn-1.oraclecloud.com/n/ociodscdev/b/Artifact/o/ml-app-package-1.8.zip"}},
34+
"allowed_migration_destinations": acctest.Representation{RepType: acctest.Optional, Update: []string{`allowedMigrationDestinations2`}},
35+
"lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: ignoreDatascienceMlApplicationImplementationDefinedTagsChangesRepresentation},
36+
}
37+
38+
DatascienceMlAppImplementationResourceConfig = acctest.GenerateResourceFromRepresentationMap("oci_datascience_ml_application_implementation", "test_ml_application_implementation", acctest.Optional, acctest.Create, DatascienceMlAppImplementationRepresentation) +
39+
acctest.GenerateResourceFromRepresentationMap("oci_datascience_ml_application", "test_ml_application", acctest.Required, acctest.Create, DatascienceMlApplicationRepresentation)
40+
)
41+
42+
// issue-routing-tag: datascience
43+
func TestDatascienceMlApplicationImplementationVersionResource_basic(t *testing.T) {
44+
httpreplay.SetScenario("TestDatascienceMlApplicationImplementationVersionResource_basic")
45+
defer httpreplay.SaveScenario()
46+
47+
config := acctest.ProviderTestConfig()
48+
49+
compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
50+
compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
51+
52+
datasourceName := "data.oci_datascience_ml_application_implementation_versions.test_ml_application_implementation_versions"
53+
singularDatasourceName := "data.oci_datascience_ml_application_implementation_version.test_ml_application_implementation_version"
54+
55+
acctest.SaveConfigContent("", "", "", t)
56+
57+
acctest.ResourceTest(t, nil, []resource.TestStep{
58+
// verify datasource
59+
{
60+
Config: config +
61+
acctest.GenerateDataSourceFromRepresentationMap("oci_datascience_ml_application_implementation_versions", "test_ml_application_implementation_versions", acctest.Required, acctest.Create, DatascienceMlApplicationImplementationVersionDataSourceRepresentation) +
62+
compartmentIdVariableStr + DatascienceMlAppImplementationResourceConfig,
63+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
64+
resource.TestCheckResourceAttr(datasourceName, "ml_application_implementation_version_collection.0.items.0.state", "ACTIVE"),
65+
resource.TestCheckResourceAttr(datasourceName, "ml_application_implementation_version_collection.0.items.0.ml_application_name", "ml-app-name-test"),
66+
resource.TestCheckResourceAttr(datasourceName, "ml_application_implementation_version_collection.0.items.0.name", "TestResource"),
67+
resource.TestCheckResourceAttr(datasourceName, "ml_application_implementation_version_collection.#", "1"),
68+
resource.TestCheckResourceAttrSet(datasourceName, "ml_application_implementation_id"),
69+
),
70+
},
71+
// verify singular datasource
72+
{
73+
Config: config +
74+
acctest.GenerateDataSourceFromRepresentationMap("oci_datascience_ml_application_implementation_versions", "test_ml_application_implementation_versions", acctest.Required, acctest.Create, DatascienceMlApplicationImplementationVersionDataSourceRepresentation) +
75+
compartmentIdVariableStr + DatascienceMlAppImplementationResourceConfig + acctest.GenerateDataSourceFromRepresentationMap("oci_datascience_ml_application_implementation_version", "test_ml_application_implementation_version", acctest.Required, acctest.Create, DatascienceMlApplicationImplementationVersionSingularDataSourceRepresentation),
76+
77+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
78+
resource.TestCheckResourceAttr(singularDatasourceName, "configuration_schema.#", "1"),
79+
resource.TestCheckResourceAttr(singularDatasourceName, "ml_application_package_arguments.#", "1"),
80+
resource.TestCheckResourceAttr(singularDatasourceName, "state", "ACTIVE"),
81+
resource.TestCheckResourceAttr(singularDatasourceName, "name", "TestResource"),
82+
resource.TestCheckResourceAttr(singularDatasourceName, "ml_application_name", "ml-app-name-test"),
83+
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
84+
resource.TestCheckResourceAttrSet(singularDatasourceName, "ml_application_id"),
85+
resource.TestCheckResourceAttrSet(singularDatasourceName, "package_version"),
86+
),
87+
},
88+
})
89+
90+
}

0 commit comments

Comments
 (0)