Disable notes search until it can be made scalable
authorTom Hughes <tom@compton.nu>
Thu, 9 Jan 2014 08:41:59 +0000 (08:41 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 9 Jan 2014 08:41:59 +0000 (08:41 +0000)
app/controllers/notes_controller.rb
test/functional/notes_controller_test.rb

index eb2625d55f766f4d2c0a08e2ef8ccb43501b5f8f..bf28d4c25b1b7a185247f1283018deced5683bf5 100644 (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 }
index 49c3cd0edb699af6cb46cab3882cd1af5bc8d30a..3e817b6f990f1a8bdd5b6650d71435a6049bc494 100644 (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