From 295eb7a018b975cee7ac97696616eb4d8d474aa7 Mon Sep 17 00:00:00 2001 From: David Kanney Date: Wed, 18 Dec 2024 15:27:52 -0500 Subject: [PATCH] fix: add default filter when there are no filters (#25) --- plugin/service/host/attributes.go | 2 +- plugin/service/host/attributes_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/plugin/service/host/attributes.go b/plugin/service/host/attributes.go index d14c9e2..7641983 100644 --- a/plugin/service/host/attributes.go +++ b/plugin/service/host/attributes.go @@ -108,7 +108,7 @@ func buildListInstancesRequest(attributes *SetAttributes, catalog *CatalogAttrib return nil, fmt.Errorf("error building filters: %w", err) } - if len(filters) > 1 { + if len(filters) > 0 { filters := strings.Join(filters, " AND ") request.Filter = &filters } diff --git a/plugin/service/host/attributes_test.go b/plugin/service/host/attributes_test.go index 8f43c0e..75ee375 100644 --- a/plugin/service/host/attributes_test.go +++ b/plugin/service/host/attributes_test.go @@ -183,6 +183,23 @@ func TestBuildListInstancesRequest(t *testing.T) { }, expectedErrContains: "error building filters", }, + { + name: "valid request with no filters", + attributes: &SetAttributes{ + Filters: []string{}, + }, + catalog: &CatalogAttributes{ + CredentialAttributes: &cred.CredentialAttributes{ + ProjectId: "test-12345", + Zone: "us-central-1a", + }, + }, + expected: &computepb.ListInstancesRequest{ + Project: "test-12345", + Zone: "us-central-1a", + Filter: stringPtr("status = running"), + }, + }, } for _, tc := range cases {