Skip to content

Commit ece26ce

Browse files
Terraform Team Automationvsin12
authored andcommitted
Added - [ADM-Detect] UX/API improvements
1 parent 1d5e09b commit ece26ce

13 files changed

+570
-153
lines changed

examples/adm/main.tf

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ resource "oci_adm_knowledge_base" "example_knowledge_base" {
3333
compartment_id = var.compartment_ocid
3434

3535
#Optional
36-
display_name = "Example Knowledge Base"
36+
display_name = "Example_Knowledge_Base"
3737
}
3838

3939
resource "oci_adm_vulnerability_audit" "example_vulnerability_audit" {
@@ -46,9 +46,14 @@ resource "oci_adm_vulnerability_audit" "example_vulnerability_audit" {
4646
application_dependencies {
4747
gav = "com.google.guava:guava:29.0-jre"
4848
node_id = "node_id"
49-
application_dependency_node_ids = ["node_id"]
49+
#Optional
50+
application_dependency_node_ids = []
5051
}
51-
display_name = "Example Vulnerability Audit"
52+
source {
53+
type = "OCI_RESOURCE"
54+
oci_resource_id = "ocid1.example.ocid"
55+
}
56+
display_name = "Example_Vulnerability_Audit"
5257
}
5358

5459
data "oci_adm_knowledge_base" "example_knowledge_base" {
@@ -61,4 +66,17 @@ data "oci_adm_knowledge_bases" "example_knowledge_bases" {
6166

6267
data "oci_adm_vulnerability_audit" "example_vulnerability_audit" {
6368
vulnerability_audit_id = oci_adm_vulnerability_audit.example_vulnerability_audit.id
64-
}
69+
}
70+
71+
data "oci_adm_vulnerability_audit_application_dependency_vulnerabilities" "example_application_dependency_vulnerabilities" {
72+
vulnerability_audit_id = oci_adm_vulnerability_audit.example_vulnerability_audit.id
73+
sort_by = "dfs"
74+
root_node_id = "node_id"
75+
depth = 0
76+
}
77+
78+
data "oci_adm_vulnerability_audit_application_dependency_vulnerabilities" "example_application_dependency_vulnerabilities_with_depth" {
79+
vulnerability_audit_id = oci_adm_vulnerability_audit.example_vulnerability_audit.id
80+
gav = "com.google.guava:guava:29.0-jre"
81+
cvss_v2greater_than_or_equal = "1.5"
82+
}

internal/integrationtest/adm_knowledge_base_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func TestAdmKnowledgeBaseResource_basic(t *testing.T) {
117117

118118
func(s *terraform.State) (err error) {
119119
resId, err = acctest.FromInstanceState(s, resourceName, "id")
120-
if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment {
120+
if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "false")); isEnableExportCompartment {
121121
if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil {
122122
return errExport
123123
}

internal/integrationtest/adm_vulnerability_audit_application_dependency_vulnerability_test.go

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,36 @@ import (
1818
var (
1919
AdmvulnerabilityAuditApplicationDependencyVulnerabilitySingularDataSourceRepresentation = map[string]interface{}{
2020
"vulnerability_audit_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_adm_vulnerability_audit.test_vulnerability_audit.id}`},
21+
"gav": acctest.Representation{RepType: acctest.Required, Create: `com.google.guava:guava:29.0-jre`},
2122
"cvss_v2greater_than_or_equal": acctest.Representation{RepType: acctest.Optional, Create: `1.5`},
2223
"cvss_v3greater_than_or_equal": acctest.Representation{RepType: acctest.Optional, Create: `1.5`},
23-
"gav": acctest.Representation{RepType: acctest.Optional, Create: `gav`},
24-
"vulnerability_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_adm_vulnerability.test_vulnerability.id}`},
24+
"sort_by": acctest.Representation{RepType: acctest.Required, Create: `gav`},
25+
}
26+
27+
AdmvulnerabilityAuditApplicationDependencyVulnerabilitySingularDataSourceWithDepthRepresentation = map[string]interface{}{
28+
"vulnerability_audit_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_adm_vulnerability_audit.test_vulnerability_audit.id}`},
29+
"depth": acctest.Representation{RepType: acctest.Required, Create: `0`},
30+
"root_node_id": acctest.Representation{RepType: acctest.Required, Create: `nodeId1`},
31+
"sort_by": acctest.Representation{RepType: acctest.Required, Create: `dfs`},
2532
}
2633

2734
AdmvulnerabilityAuditApplicationDependencyVulnerabilityDataSourceRepresentation = map[string]interface{}{
2835
"vulnerability_audit_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_adm_vulnerability_audit.test_vulnerability_audit.id}`},
36+
"gav": acctest.Representation{RepType: acctest.Required, Create: `com.google.guava:guava:29.0-jre`},
2937
"cvss_v2greater_than_or_equal": acctest.Representation{RepType: acctest.Optional, Create: `1.5`},
3038
"cvss_v3greater_than_or_equal": acctest.Representation{RepType: acctest.Optional, Create: `1.5`},
31-
"gav": acctest.Representation{RepType: acctest.Optional, Create: `gav`},
32-
"vulnerability_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_adm_vulnerability.test_vulnerability.id}`},
39+
"sort_by": acctest.Representation{RepType: acctest.Required, Create: `gav`},
40+
}
41+
42+
AdmvulnerabilityAuditApplicationDependencyVulnerabilityDataSourceWithDepthRepresentation = map[string]interface{}{
43+
"vulnerability_audit_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_adm_vulnerability_audit.test_vulnerability_audit.id}`},
44+
"depth": acctest.Representation{RepType: acctest.Required, Create: `0`},
45+
"root_node_id": acctest.Representation{RepType: acctest.Required, Create: `nodeId1`},
46+
"sort_by": acctest.Representation{RepType: acctest.Required, Create: `dfs`},
3347
}
3448

3549
AdmVulnerabilityAuditApplicationDependencyVulnerabilityResourceConfig = acctest.GenerateResourceFromRepresentationMap("oci_adm_knowledge_base", "test_knowledge_base", acctest.Required, acctest.Create, knowledgeBaseRepresentation) +
36-
acctest.GenerateResourceFromRepresentationMap("oci_adm_vulnerability_audit", "test_vulnerability_audit", acctest.Required, acctest.Create, vulnerabilityAuditRepresentation)
50+
acctest.GenerateResourceFromRepresentationMap("oci_adm_vulnerability_audit", "test_vulnerability_audit", acctest.Optional, acctest.Create, AdmVulnerabilityAuditRepresentation) + DefinedTagsDependencies
3751
)
3852

3953
// issue-routing-tag: adm/default
@@ -58,18 +72,42 @@ func TestAdmVulnerabilityAuditApplicationDependencyVulnerabilityResource_basic(t
5872
acctest.GenerateDataSourceFromRepresentationMap("oci_adm_vulnerability_audit_application_dependency_vulnerabilities", "test_vulnerability_audit_application_dependency_vulnerabilities", acctest.Required, acctest.Create, AdmvulnerabilityAuditApplicationDependencyVulnerabilityDataSourceRepresentation) +
5973
compartmentIdVariableStr + AdmVulnerabilityAuditApplicationDependencyVulnerabilityResourceConfig,
6074
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
61-
6275
resource.TestCheckResourceAttrSet(datasourceName, "application_dependency_vulnerability_collection.#"),
63-
resource.TestCheckResourceAttr(datasourceName, "application_dependency_vulnerability_collection.0.items.#", "0"),
76+
resource.TestCheckResourceAttr(datasourceName, "application_dependency_vulnerability_collection.0.items.#", "1"),
77+
resource.TestCheckResourceAttr(datasourceName, "application_dependency_vulnerability_collection.0.items.0.gav", "com.google.guava:guava:29.0-jre"),
6478
),
6579
},
6680
// verify singular datasource
6781
{
6882
Config: config +
69-
acctest.GenerateDataSourceFromRepresentationMap("oci_adm_vulnerability_audit_application_dependency_vulnerability", "test_vulnerability_audit_application_dependency_vulnerability", acctest.Required, acctest.Create, AdmvulnerabilityAuditApplicationDependencyVulnerabilitySingularDataSourceRepresentation) +
83+
acctest.GenerateDataSourceFromRepresentationMap("oci_adm_vulnerability_audit_application_dependency_vulnerability", "test_vulnerability_audit_application_dependency_vulnerability", acctest.Required, acctest.Create, AdmvulnerabilityAuditApplicationDependencyVulnerabilityDataSourceRepresentation) +
84+
compartmentIdVariableStr + AdmVulnerabilityAuditApplicationDependencyVulnerabilityResourceConfig,
85+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
86+
resource.TestCheckResourceAttr(singularDatasourceName, "items.0.gav", "com.google.guava:guava:29.0-jre"),
87+
resource.TestCheckResourceAttrSet(singularDatasourceName, "items.0.vulnerabilities.#"),
88+
resource.TestCheckResourceAttr(singularDatasourceName, "items.#", "1"),
89+
),
90+
},
91+
// verify datasource with depth, rootNodeId and sortBy DFS
92+
{
93+
Config: config +
94+
acctest.GenerateDataSourceFromRepresentationMap("oci_adm_vulnerability_audit_application_dependency_vulnerabilities", "test_vulnerability_audit_application_dependency_vulnerabilities", acctest.Required, acctest.Create, AdmvulnerabilityAuditApplicationDependencyVulnerabilityDataSourceRepresentation) +
95+
compartmentIdVariableStr + AdmVulnerabilityAuditApplicationDependencyVulnerabilityResourceConfig,
96+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
97+
resource.TestCheckResourceAttrSet(datasourceName, "application_dependency_vulnerability_collection.#"),
98+
resource.TestCheckResourceAttr(datasourceName, "application_dependency_vulnerability_collection.0.items.#", "1"),
99+
resource.TestCheckResourceAttr(datasourceName, "application_dependency_vulnerability_collection.0.items.0.gav", "com.google.guava:guava:29.0-jre"),
100+
),
101+
},
102+
// verify singular datasource with depth, rootNodeId and sortBy DFS
103+
{
104+
Config: config +
105+
acctest.GenerateDataSourceFromRepresentationMap("oci_adm_vulnerability_audit_application_dependency_vulnerability", "test_vulnerability_audit_application_dependency_vulnerability", acctest.Required, acctest.Create, AdmvulnerabilityAuditApplicationDependencyVulnerabilitySingularDataSourceWithDepthRepresentation) +
70106
compartmentIdVariableStr + AdmVulnerabilityAuditApplicationDependencyVulnerabilityResourceConfig,
71107
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
72-
resource.TestCheckResourceAttr(singularDatasourceName, "items.#", "0"),
108+
resource.TestCheckResourceAttr(singularDatasourceName, "items.0.gav", "com.google.guava:guava:29.0-jre"),
109+
resource.TestCheckResourceAttrSet(singularDatasourceName, "items.0.vulnerabilities.#"),
110+
resource.TestCheckResourceAttr(singularDatasourceName, "items.#", "1"),
73111
),
74112
},
75113
})

0 commit comments

Comments
 (0)