Skip to content

Commit c8dc7d3

Browse files
authored
Merge pull request #660 from vmware/name-in-search
Improve search performance in policy data sources
2 parents 7c8297f + c2a95c8 commit c8dc7d3

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

nsxt/data_source_nsxt_policy_service_test.go

+20
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,26 @@ func TestAccDataSourceNsxtPolicyService_byPrefix(t *testing.T) {
7171
})
7272
}
7373

74+
func TestAccDataSourceNsxtPolicyService_spaces(t *testing.T) {
75+
serviceName := "Enterprise Manager Servlet port SSL"
76+
testResourceName := "data.nsxt_policy_service.test"
77+
78+
resource.ParallelTest(t, resource.TestCase{
79+
PreCheck: func() { testAccPreCheck(t) },
80+
Providers: testAccProviders,
81+
Steps: []resource.TestStep{
82+
{
83+
Config: testAccNsxtPolicyServiceReadTemplate(serviceName),
84+
Check: resource.ComposeTestCheckFunc(
85+
resource.TestCheckResourceAttr(testResourceName, "display_name", serviceName),
86+
resource.TestCheckResourceAttr(testResourceName, "description", serviceName),
87+
resource.TestCheckResourceAttrSet(testResourceName, "path"),
88+
),
89+
},
90+
},
91+
})
92+
}
93+
7494
func testAccNsxtPolicyServiceReadTemplate(name string) string {
7595
return fmt.Sprintf(`
7696
data "nsxt_policy_service" "test" {

nsxt/policy_search.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func policyDataSourceResourceReadWithValidation(d *schema.ResourceData, connecto
9696
if objID != "" {
9797
resultValues, err = listPolicyResourcesByID(connector, isGlobalManager, &objID, &additionalQueryString)
9898
} else {
99-
resultValues, err = listPolicyResourcesByType(connector, isGlobalManager, &resourceType, &additionalQueryString)
99+
resultValues, err = listPolicyResourcesByNameAndType(connector, isGlobalManager, objName, resourceType, &additionalQueryString)
100100
}
101101
if err != nil {
102102
return nil, err
@@ -105,8 +105,8 @@ func policyDataSourceResourceReadWithValidation(d *schema.ResourceData, connecto
105105
return policyDataSourceResourceFilterAndSet(d, resultValues, resourceType)
106106
}
107107

108-
func listPolicyResourcesByType(connector *client.RestConnector, isGlobalManager bool, resourceType *string, additionalQuery *string) ([]*data.StructValue, error) {
109-
query := fmt.Sprintf("resource_type:%s AND marked_for_delete:false", *resourceType)
108+
func listPolicyResourcesByNameAndType(connector *client.RestConnector, isGlobalManager bool, displayName string, resourceType string, additionalQuery *string) ([]*data.StructValue, error) {
109+
query := fmt.Sprintf("resource_type:%s AND display_name:%s* AND marked_for_delete:false", resourceType, displayName)
110110
if isGlobalManager {
111111
return searchGMPolicyResources(connector, *buildPolicyResourcesQuery(&query, additionalQuery))
112112
}

nsxt/utils_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ func testGetObjIDByName(objName string, resourceType string) (string, error) {
364364
return "", fmt.Errorf("Error during test client initialization: %v", err1)
365365
}
366366

367-
resultValues, err2 := listPolicyResourcesByType(connector, testAccIsGlobalManager(), &resourceType, nil)
367+
resultValues, err2 := listPolicyResourcesByNameAndType(connector, testAccIsGlobalManager(), objName, resourceType, nil)
368368
if err2 != nil {
369369
return "", err2
370370
}

0 commit comments

Comments
 (0)