]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'openstreetmap/pull/1350'
authorTom Hughes <tom@compton.nu>
Wed, 9 Nov 2016 20:32:54 +0000 (20:32 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 9 Nov 2016 20:32:54 +0000 (20:32 +0000)
1  2 
Gemfile.lock
test/test_helper.rb

diff --combined Gemfile.lock
index a693e857c1fde0f9dbadf7bea65c650dd45340b1,6a41a9af0bc01b6f200875dbf3d9fbe579fc03d1..7edc94fc86dd8a07034abb4427d2dc91e3c7c658
@@@ -42,7 -42,7 +42,7 @@@ GE
      addressable (2.4.0)
      arel (6.0.3)
      ast (2.3.0)
 -    autoprefixer-rails (6.5.1)
 +    autoprefixer-rails (6.5.1.1)
        execjs
      bigdecimal (1.1.0)
      builder (3.2.2)
@@@ -75,6 -75,8 +75,8 @@@
        term-ansicolor (~> 1.3)
        thor (~> 0.19.1)
        tins (>= 1.6.0, < 2)
+     crack (0.4.3)
+       safe_yaml (~> 1.0.0)
      crass (1.0.2)
      dalli (2.7.6)
      deadlock_retry (1.2.0)
@@@ -94,6 -96,7 +96,7 @@@
      geoip (1.6.2)
      globalid (0.3.7)
        activesupport (>= 4.1.0)
+     hashdiff (0.3.0)
      hashie (3.4.6)
      htmlentities (4.3.4)
      http_accept_language (2.0.5)
      ref (2.0.0)
      request_store (1.3.1)
      rinku (2.0.2)
 -    rubocop (0.44.1)
 +    rubocop (0.45.0)
        parser (>= 2.3.1.1, < 3.0)
        powerpack (~> 0.1)
        rainbow (>= 1.99.1, < 3.0)
        unicode-display_width (~> 1.0, >= 1.0.1)
      ruby-openid (2.7.0)
      ruby-progressbar (1.8.1)
+     safe_yaml (1.0.4)
      sanitize (4.4.0)
        crass (~> 1.0.2)
        nokogiri (>= 1.4.4)
      tins (1.12.0)
      tzinfo (1.2.2)
        thread_safe (~> 0.1)
 -    uglifier (3.0.2)
 +    uglifier (3.0.3)
        execjs (>= 0.3.0, < 3)
      unicode-display_width (1.1.1)
      validates_email_format_of (1.6.3)
        i18n
      vendorer (0.1.16)
+     webmock (1.24.2)
+       addressable (>= 2.3.6)
+       crack (>= 0.3.2)
+       hashdiff
      websocket-driver (0.6.4)
        websocket-extensions (>= 0.1.0)
      websocket-extensions (0.1.2)
@@@ -359,6 -367,7 +367,7 @@@ DEPENDENCIE
    uglifier (>= 1.3.0)
    validates_email_format_of (>= 1.5.1)
    vendorer
+   webmock
  
  BUNDLED WITH
-    1.10.6
+    1.11.2
diff --combined test/test_helper.rb
index 95b1df307fec59d3e5876470734ba4cf2a4cb30b,420512e741e075d894c8ec1fb78a1f1eba860b3e..5f52bb135413deaa37bdd1b386e0e8227a3a5014
@@@ -4,6 -4,7 +4,7 @@@ Coveralls.wear!("rails"
  ENV["RAILS_ENV"] = "test"
  require File.expand_path("../../config/environment", __FILE__)
  require "rails/test_help"
+ require "webmock/minitest"
  load "composite_primary_keys/fixtures.rb"
  
  module ActiveSupport
@@@ -14,7 -15,7 +15,7 @@@
      def self.api_fixtures
        # print "setting up the api_fixtures"
        fixtures :users, :user_roles
 -      fixtures :changesets, :changeset_tags
 +      fixtures :changesets
  
        fixtures :current_nodes, :nodes
        set_fixture_class :current_nodes => Node
      ##
      # execute a block with a given set of HTTP responses stubbed
      def with_http_stubs(stubs_file)
-       http_client_save = OSM.http_client
+       stubs = YAML.load_file(File.expand_path("../http/#{stubs_file}.yml", __FILE__))
+       stubs.each do |url, response|
+         stub_request(:get, Regexp.new(Regexp.quote(url))).to_return(:status => response["code"], :body => response["body"])
+       end
  
-       begin
-         stubs = YAML.load_file(File.expand_path("../http/#{stubs_file}.yml", __FILE__))
+       yield
+     end
  
-         OSM.http_client = Faraday.new do |builder|
-           builder.adapter :test do |stub|
-             stubs.each do |url, response|
-               stub.get(url) { |_env| [response["code"], {}, response["body"]] }
-             end
-           end
-         end
+     def stub_gravatar_request(email, status = 200, body = nil)
+       hash = Digest::MD5.hexdigest(email.downcase)
+       url = "https://www.gravatar.com/avatar/#{hash}?d=404"
+       stub_request(:get, url).and_return(:status => status, :body => body)
+     end
  
-         yield
-       ensure
-         OSM.http_client = http_client_save
-       end
+     def stub_signup_requests
+       # Controller tests and integration tests use different IPs
+       stub_request(:get, "http://api.hostip.info/country.php?ip=0.0.0.0")
+       stub_request(:get, "http://api.hostip.info/country.php?ip=127.0.0.1")
      end
    end
  end