diff options
author | Mia Henderson <mimato@users.noreply.github.com> | 2020-01-27 15:24:38 -0500 |
---|---|---|
committer | Mia Henderson <mimato@users.noreply.github.com> | 2020-01-27 15:24:38 -0500 |
commit | c22e314ce8e9ad1b6b91125272e4e33c5ce2e35c (patch) | |
tree | 29d1721c860b1fbc1d2c71f7c5f8f6d6ac072b7a | |
parent | 8b78fe904689dd6539e308fb87bffe103fb852f1 (diff) | |
download | chef-c22e314ce8e9ad1b6b91125272e4e33c5ce2e35c.tar.gz |
Fix fuzzy node search to work when the search type is a string rather than a symbol
Signed-off-by: Mia Henderson <mia@pagerduty.com>
-rw-r--r-- | lib/chef/search/query.rb | 2 | ||||
-rw-r--r-- | spec/unit/search/query_spec.rb | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/chef/search/query.rb b/lib/chef/search/query.rb index 46dedd33f8..4eaff0471c 100644 --- a/lib/chef/search/query.rb +++ b/lib/chef/search/query.rb @@ -63,7 +63,7 @@ class Chef args_h = hashify_args(*args) if args_h[:fuzz] - if type == :node + if [:node, 'node'].include?(type) query = fuzzify_node_query(query) end # FIXME: can i haz proper ruby-2.x named parameters someday plz? diff --git a/spec/unit/search/query_spec.rb b/spec/unit/search/query_spec.rb index 9b0087d7ed..ecac444f5e 100644 --- a/spec/unit/search/query_spec.rb +++ b/spec/unit/search/query_spec.rb @@ -233,13 +233,20 @@ describe Chef::Search::Query do end end - it "fuzzifies node searches when fuzz is set" do + it "fuzzifies node searches when fuzz is set and type is a symbol" do expect(rest).to receive(:get).with( "search/node?q=tags:*free.messi*%20OR%20roles:*free.messi*%20OR%20fqdn:*free.messi*%20OR%20addresses:*free.messi*%20OR%20policy_name:*free.messi*%20OR%20policy_group:*free.messi*&start=0&rows=#{default_rows}" ).and_return(response) query.search(:node, "free.messi", fuzz: true) end + it "fuzzifies node searches when fuzz is set and type is a string" do + expect(rest).to receive(:get).with( + "search/node?q=tags:*free.messi*%20OR%20roles:*free.messi*%20OR%20fqdn:*free.messi*%20OR%20addresses:*free.messi*%20OR%20policy_name:*free.messi*%20OR%20policy_group:*free.messi*&start=0&rows=#{default_rows}" + ).and_return(response) + query.search('node', "free.messi", fuzz: true) + end + it "does not fuzzify node searches when fuzz is not set" do expect(rest).to receive(:get).with( "search/node?q=free.messi&start=0&rows=#{default_rows}" |