diff options
author | Mia Henderson <mimato@users.noreply.github.com> | 2020-01-27 15:24:38 -0500 |
---|---|---|
committer | Tim Smith <tsmith84@gmail.com> | 2020-01-30 16:33:23 -0800 |
commit | 83943d07e8a314d8866527822d140d0399a28535 (patch) | |
tree | 5a49b4a4c81c2958797f30a74c34d673768ede3a | |
parent | 2fbee32a0fc87363a35a4643f0cb424fac64072f (diff) | |
download | chef-83943d07e8a314d8866527822d140d0399a28535.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 83f988911c..be93aa4e9d 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}" |