diff --git a/app/models/user.rb b/app/models/user.rb index e03cb3874..49bd80673 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -76,7 +76,7 @@ class User < ApplicationRecord validates_presence_of :email, :if => lambda {|rec| rec.new_record? && Danbooru.config.enable_email_verification?} validates_presence_of :comment_threshold validate :validate_ip_addr_is_not_banned, :on => :create - validate :validate_sock_puppets, :on => :create + validate :validate_sock_puppets, :on => :create, :if => lambda { Danbooru.config.enable_sock_puppet_validation? } before_validation :normalize_blacklisted_tags before_validation :set_per_page before_validation :normalize_email diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index 71d9b1a2b..28ef8fa21 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -563,6 +563,11 @@ module Danbooru false end + # disable this for tests + def enable_sock_puppet_validation? + true + end + # reportbooru options - see https://github.com/r888888888/reportbooru def reportbooru_server end diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index 7bb0412cb..f7aa9f292 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -95,7 +95,7 @@ class UsersControllerTest < ActionController::TestCase end should "not allow registering multiple accounts with the same IP" do - User.any_instance.unstub(:validate_sock_puppets) + Danbooru.config.unstub(:enable_sock_puppet_validation?) request.env["REMOTE_ADDR"] = "1.2.3.4" CurrentUser.user = nil diff --git a/test/models/dmail_filter_test.rb b/test/models/dmail_filter_test.rb index 11aa17f6f..b2c17bb03 100644 --- a/test/models/dmail_filter_test.rb +++ b/test/models/dmail_filter_test.rb @@ -4,8 +4,6 @@ class DmailFilterTest < ActiveSupport::TestCase def setup super - User.any_instance.stubs(:validate_sock_puppets).returns(true) - @receiver = FactoryGirl.create(:user) @sender = FactoryGirl.create(:user) end diff --git a/test/test_helper.rb b/test/test_helper.rb index 55f612e9f..9b5338dca 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -31,6 +31,7 @@ class ActiveSupport::TestCase mock_popular_search_service! mock_missed_search_service! WebMock.allow_net_connect! + Danbooru.config.stubs(:enable_sock_puppet_validation?).returns(false) end teardown do @@ -53,7 +54,7 @@ class ActionController::TestCase def setup super - User.any_instance.stubs(:validate_sock_puppets).returns(true) + Danbooru.config.stubs(:enable_sock_puppet_validation?).returns(false) end def teardown diff --git a/test/unit/artist_test.rb b/test/unit/artist_test.rb index 3ac48dae0..7a096a47e 100644 --- a/test/unit/artist_test.rb +++ b/test/unit/artist_test.rb @@ -15,8 +15,6 @@ class ArtistTest < ActiveSupport::TestCase context "An artist" do setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) - user = Timecop.travel(1.month.ago) {FactoryGirl.create(:user)} CurrentUser.user = user CurrentUser.ip_addr = "127.0.0.1" diff --git a/test/unit/artist_url_test.rb b/test/unit/artist_url_test.rb index cbf26f834..fd7306f84 100644 --- a/test/unit/artist_url_test.rb +++ b/test/unit/artist_url_test.rb @@ -3,7 +3,6 @@ require 'test_helper' class ArtistUrlTest < ActiveSupport::TestCase context "An artist url" do setup do - User.any_instance.stubs(:validate_sock_puppets) CurrentUser.user = FactoryGirl.create(:user) CurrentUser.ip_addr = "127.0.0.1" end diff --git a/test/unit/ban_test.rb b/test/unit/ban_test.rb index 6a4aa0a86..4eba9b429 100644 --- a/test/unit/ban_test.rb +++ b/test/unit/ban_test.rb @@ -1,11 +1,6 @@ require 'test_helper' class BanTest < ActiveSupport::TestCase - def setup - super - User.any_instance.stubs(:validate_sock_puppets).returns(true) - end - context "A ban" do context "created by an admin" do setup do diff --git a/test/unit/current_user_test.rb b/test/unit/current_user_test.rb index f6862ec7d..fdd16c616 100644 --- a/test/unit/current_user_test.rb +++ b/test/unit/current_user_test.rb @@ -2,7 +2,6 @@ require 'test_helper' class CurrentUserTest < ActiveSupport::TestCase setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) CurrentUser.user = nil CurrentUser.ip_addr = nil end diff --git a/test/unit/dmail_test.rb b/test/unit/dmail_test.rb index c37c8631f..25f91cb43 100644 --- a/test/unit/dmail_test.rb +++ b/test/unit/dmail_test.rb @@ -3,7 +3,6 @@ require 'test_helper' class DmailTest < ActiveSupport::TestCase context "A dmail" do setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) @user = FactoryGirl.create(:user) CurrentUser.user = @user CurrentUser.ip_addr = "1.2.3.4" diff --git a/test/unit/janitor_trial_test.rb b/test/unit/janitor_trial_test.rb index b6205d2f5..e91ff867c 100644 --- a/test/unit/janitor_trial_test.rb +++ b/test/unit/janitor_trial_test.rb @@ -3,7 +3,6 @@ require 'test_helper' class JanitorTrialTest < ActiveSupport::TestCase context "A janitor trial" do setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) @admin = FactoryGirl.create(:admin_user) @user = FactoryGirl.create(:user) CurrentUser.user = @admin diff --git a/test/unit/post_disapproval_test.rb b/test/unit/post_disapproval_test.rb index c4ef31399..6e23f1f6d 100644 --- a/test/unit/post_disapproval_test.rb +++ b/test/unit/post_disapproval_test.rb @@ -1,11 +1,6 @@ require 'test_helper' class PostDisapprovalTest < ActiveSupport::TestCase - def setup - super - User.any_instance.stubs(:validate_sock_puppets).returns(true) - end - context "In all cases" do setup do @alice = FactoryGirl.create(:moderator_user) diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index a25534c5e..03c9faa42 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -16,7 +16,6 @@ class PostTest < ActiveSupport::TestCase super Timecop.travel(2.weeks.ago) do - User.any_instance.stubs(:validate_sock_puppets).returns(true) @user = FactoryGirl.create(:user) end CurrentUser.user = @user diff --git a/test/unit/post_vote_test.rb b/test/unit/post_vote_test.rb index 2b9c4dcb8..593313230 100644 --- a/test/unit/post_vote_test.rb +++ b/test/unit/post_vote_test.rb @@ -4,7 +4,6 @@ class PostVoteTest < ActiveSupport::TestCase def setup super - User.any_instance.stubs(:validate_sock_puppets).returns(true) @supervoter = FactoryGirl.create(:user, is_super_voter: true) @user = FactoryGirl.create(:user) CurrentUser.user = @user diff --git a/test/unit/related_tag_query_test.rb b/test/unit/related_tag_query_test.rb index c26d1ecf6..4a65415e7 100644 --- a/test/unit/related_tag_query_test.rb +++ b/test/unit/related_tag_query_test.rb @@ -2,7 +2,6 @@ require 'test_helper' class RelatedTagQueryTest < ActiveSupport::TestCase setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) user = FactoryGirl.create(:user) CurrentUser.user = user CurrentUser.ip_addr = "127.0.0.1" diff --git a/test/unit/saved_search_test.rb b/test/unit/saved_search_test.rb index 020c0cf14..0516b5fdc 100644 --- a/test/unit/saved_search_test.rb +++ b/test/unit/saved_search_test.rb @@ -6,7 +6,6 @@ class SavedSearchTest < ActiveSupport::TestCase def setup super - User.any_instance.stubs(:validate_sock_puppets).returns(true) @user = FactoryGirl.create(:user) CurrentUser.user = @user CurrentUser.ip_addr = "127.0.0.1" diff --git a/test/unit/user_name_change_request_test.rb b/test/unit/user_name_change_request_test.rb index 3ec402cb6..1d4fb3a02 100644 --- a/test/unit/user_name_change_request_test.rb +++ b/test/unit/user_name_change_request_test.rb @@ -3,7 +3,6 @@ require 'test_helper' class UserNameChangeRequestTest < ActiveSupport::TestCase context "in all cases" do setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) @admin = FactoryGirl.create(:admin_user) @requester = FactoryGirl.create(:user) CurrentUser.user = @requester diff --git a/test/unit/user_revert_test.rb b/test/unit/user_revert_test.rb index 423fd81ea..f50d51bba 100644 --- a/test/unit/user_revert_test.rb +++ b/test/unit/user_revert_test.rb @@ -3,8 +3,6 @@ require 'test_helper' class UserRevertTest < ActiveSupport::TestCase context "Reverting a user's changes" do setup do - User.any_instance.stubs(:validate_sock_puppets).returns(true) - @creator = FactoryGirl.create(:user) @user = FactoryGirl.create(:user) CurrentUser.user = @user