diff options
Diffstat (limited to 'lib/chef_zero/endpoints/dummy_endpoint.rb')
-rw-r--r-- | lib/chef_zero/endpoints/dummy_endpoint.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/chef_zero/endpoints/dummy_endpoint.rb b/lib/chef_zero/endpoints/dummy_endpoint.rb new file mode 100644 index 0000000..fe16a7e --- /dev/null +++ b/lib/chef_zero/endpoints/dummy_endpoint.rb @@ -0,0 +1,31 @@ + +# pedant makes a couple of Solr-related calls from its search_utils.rb file that we can't work around (e.g. +# with monkeypatching). the necessary Pedant::Config values are set in run_oc_pedant.rb. --cdoherty +module ChefZero + module Endpoints + class DummyEndpoint < RestBase + # called by #direct_solr_query, once each for roles, nodes, and data bag items. each RSpec example makes + # 3 calls, with the expected sequence of return values [0, 1, 0]. + def get(request) + + # this could be made less brittle, but if things change to have more than 3 cycles, we should really + # be notified by a spec failure. + @mock_values ||= ([0, 1, 0] * 3).map { |val| make_response(val) } + + retval = @mock_values.shift + json_response(200, retval) + end + + # called by #force_solr_commit in pedant's , which doesn't check the return value. + def post(request) + # sure thing! + json_response(200, { message: "This dummy POST endpoint didn't do anything." }) + end + + def make_response(value) + { "response" => { "numFound" => value } } + end + end + end +end + |