Disable notes search until it can be made scalable

This commit is contained in:
Tom Hughes 2014-01-09 08:41:59 +00:00
parent 0c3c2e01bf
commit 1e2b99a75b
2 changed files with 59 additions and 46 deletions

View file

@ -260,6 +260,11 @@ class NotesController < ApplicationController
# Find the notes we want to return
@notes = @notes.order("updated_at DESC").limit(result_limit).preload(:comments)
# Disable notes search until we can make it scalable
response.headers['Error'] = "Searching of notes is currently unavailable"
render :text => "", :status => :service_unavailable
return false
# Render the result
respond_to do |format|
format.rss { render :action => :index }

View file

@ -638,68 +638,76 @@ class NotesControllerTest < ActionController::TestCase
def test_search_success
get :search, {:q => 'note 1', :format => 'xml'}
assert_response :success
assert_equal "application/xml", @response.content_type
assert_select "osm", :count => 1 do
assert_select "note", :count => 1
end
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/xml", @response.content_type
# assert_select "osm", :count => 1 do
# assert_select "note", :count => 1
# end
get :search, {:q => 'note 1', :format => 'json'}
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "FeatureCollection", js["type"]
assert_equal 1, js["features"].count
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/json", @response.content_type
# js = ActiveSupport::JSON.decode(@response.body)
# assert_not_nil js
# assert_equal "FeatureCollection", js["type"]
# assert_equal 1, js["features"].count
get :search, {:q => 'note 1', :format => 'rss'}
assert_response :success
assert_equal "application/rss+xml", @response.content_type
assert_select "rss", :count => 1 do
assert_select "channel", :count => 1 do
assert_select "item", :count => 1
end
end
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/rss+xml", @response.content_type
# assert_select "rss", :count => 1 do
# assert_select "channel", :count => 1 do
# assert_select "item", :count => 1
# end
# end
get :search, {:q => 'note 1', :format => 'gpx'}
assert_response :success
assert_equal "application/gpx+xml", @response.content_type
assert_select "gpx", :count => 1 do
assert_select "wpt", :count => 1
end
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/gpx+xml", @response.content_type
# assert_select "gpx", :count => 1 do
# assert_select "wpt", :count => 1
# end
end
def test_search_no_match
get :search, {:q => 'no match', :format => 'xml'}
assert_response :success
assert_equal "application/xml", @response.content_type
assert_select "osm", :count => 1 do
assert_select "note", :count => 0
end
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/xml", @response.content_type
# assert_select "osm", :count => 1 do
# assert_select "note", :count => 0
# end
get :search, {:q => 'no match', :format => 'json'}
assert_response :success
assert_equal "application/json", @response.content_type
js = ActiveSupport::JSON.decode(@response.body)
assert_not_nil js
assert_equal "FeatureCollection", js["type"]
assert_equal 0, js["features"].count
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/json", @response.content_type
# js = ActiveSupport::JSON.decode(@response.body)
# assert_not_nil js
# assert_equal "FeatureCollection", js["type"]
# assert_equal 0, js["features"].count
get :search, {:q => 'no match', :format => 'rss'}
assert_response :success
assert_equal "application/rss+xml", @response.content_type
assert_select "rss", :count => 1 do
assert_select "channel", :count => 1 do
assert_select "item", :count => 0
end
end
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/rss+xml", @response.content_type
# assert_select "rss", :count => 1 do
# assert_select "channel", :count => 1 do
# assert_select "item", :count => 0
# end
# end
get :search, {:q => 'no match', :format => 'gpx'}
assert_response :success
assert_equal "application/gpx+xml", @response.content_type
assert_select "gpx", :count => 1 do
assert_select "wpt", :count => 0
end
assert_response :service_unavailable
# assert_response :success
# assert_equal "application/gpx+xml", @response.content_type
# assert_select "gpx", :count => 1 do
# assert_select "wpt", :count => 0
# end
end
def test_search_bad_params