]> git.openstreetmap.org Git - rails.git/blobdiff - test/test_helper.rb
Authorize actions on GeocoderController with CanCanCan Ability
[rails.git] / test / test_helper.rb
index 70f69a3ae94a590140eebd1a97fa15f46437775c..39e8cdd059df4c6e3254a9ab6259852d2607d517 100644 (file)
@@ -2,7 +2,7 @@ require "coveralls"
 Coveralls.wear!("rails")
 
 ENV["RAILS_ENV"] = "test"
-require File.expand_path("../../config/environment", __FILE__)
+require File.expand_path("../config/environment", __dir__)
 require "rails/test_help"
 require "webmock/minitest"
 
@@ -82,9 +82,20 @@ module ActiveSupport
     ##
     # set request headers for HTTP basic authentication
     def basic_authorization(user, pass)
-      @request.env["HTTP_AUTHORIZATION"] = format("Basic %s", Base64.encode64("#{user}:#{pass}"))
+      @request.env["HTTP_AUTHORIZATION"] = format("Basic %{auth}", :auth => Base64.encode64("#{user}:#{pass}"))
     end
 
+    ##
+    # set oauth token permissions
+    def grant_oauth_token(*tokens)
+      request.env["oauth.token"] = AccessToken.new do |token|
+        tokens.each do |t|
+          token.public_send("#{t}=", true)
+        end
+      end
+    end
+
+
     ##
     # set request readers to ask for a particular error format
     def error_format(format)
@@ -150,5 +161,13 @@ module ActiveSupport
         end
       end
     end
+
+    def sign_in_as(user)
+      stub_hostip_requests
+      visit login_path
+      fill_in "username", :with => user.email
+      fill_in "password", :with => "test"
+      click_on "Login", :match => :first
+    end
   end
 end