devise 4.5.0 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of devise might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +30 -1
- data/MIT-LICENSE +1 -1
- data/README.md +18 -0
- data/app/controllers/devise/passwords_controller.rb +1 -0
- data/app/controllers/devise/registrations_controller.rb +25 -7
- data/app/helpers/devise_helper.rb +10 -19
- data/app/views/devise/confirmations/new.html.erb +1 -1
- data/app/views/devise/passwords/edit.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/edit.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +1 -1
- data/app/views/devise/sessions/new.html.erb +2 -2
- data/app/views/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/devise/shared/_links.html.erb +7 -7
- data/app/views/devise/unlocks/new.html.erb +1 -1
- data/config/locales/en.yml +1 -0
- data/lib/devise.rb +4 -0
- data/lib/devise/controllers/helpers.rb +1 -1
- data/lib/devise/failure_app.rb +28 -3
- data/lib/devise/models/authenticatable.rb +7 -15
- data/lib/devise/models/confirmable.rb +4 -1
- data/lib/devise/models/database_authenticatable.rb +41 -6
- data/lib/devise/models/lockable.rb +2 -2
- data/lib/devise/models/registerable.rb +2 -0
- data/lib/devise/strategies/database_authenticatable.rb +3 -0
- data/lib/devise/test/controller_helpers.rb +1 -1
- data/lib/devise/version.rb +1 -1
- data/lib/generators/active_record/devise_generator.rb +4 -4
- data/lib/generators/devise/controllers_generator.rb +1 -1
- data/lib/generators/templates/devise.rb +12 -3
- data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +1 -1
- data/lib/generators/templates/simple_form_for/registrations/new.html.erb +1 -1
- metadata +5 -305
- data/.gitignore +0 -10
- data/.travis.yml +0 -69
- data/.yardopts +0 -9
- data/CODE_OF_CONDUCT.md +0 -22
- data/CONTRIBUTING.md +0 -79
- data/Gemfile +0 -39
- data/Gemfile.lock +0 -202
- data/ISSUE_TEMPLATE.md +0 -19
- data/Rakefile +0 -37
- data/bin/test +0 -13
- data/devise.gemspec +0 -28
- data/devise.png +0 -0
- data/gemfiles/Gemfile.rails-4.1-stable +0 -32
- data/gemfiles/Gemfile.rails-4.1-stable.lock +0 -171
- data/gemfiles/Gemfile.rails-4.2-stable +0 -32
- data/gemfiles/Gemfile.rails-4.2-stable.lock +0 -192
- data/gemfiles/Gemfile.rails-5.0-stable +0 -33
- data/gemfiles/Gemfile.rails-5.0-stable.lock +0 -192
- data/gemfiles/Gemfile.rails-5.2-rc1 +0 -26
- data/gemfiles/Gemfile.rails-5.2-rc1.lock +0 -201
- data/guides/bug_report_templates/integration_test.rb +0 -106
- data/test/controllers/custom_registrations_controller_test.rb +0 -42
- data/test/controllers/custom_strategy_test.rb +0 -66
- data/test/controllers/helper_methods_test.rb +0 -24
- data/test/controllers/helpers_test.rb +0 -318
- data/test/controllers/inherited_controller_i18n_messages_test.rb +0 -53
- data/test/controllers/internal_helpers_test.rb +0 -129
- data/test/controllers/load_hooks_controller_test.rb +0 -21
- data/test/controllers/passwords_controller_test.rb +0 -34
- data/test/controllers/sessions_controller_test.rb +0 -108
- data/test/controllers/url_helpers_test.rb +0 -67
- data/test/delegator_test.rb +0 -21
- data/test/devise_test.rb +0 -109
- data/test/failure_app_test.rb +0 -346
- data/test/generators/active_record_generator_test.rb +0 -130
- data/test/generators/controllers_generator_test.rb +0 -50
- data/test/generators/devise_generator_test.rb +0 -41
- data/test/generators/install_generator_test.rb +0 -26
- data/test/generators/mongoid_generator_test.rb +0 -25
- data/test/generators/views_generator_test.rb +0 -105
- data/test/helpers/devise_helper_test.rb +0 -51
- data/test/integration/authenticatable_test.rb +0 -706
- data/test/integration/confirmable_test.rb +0 -326
- data/test/integration/database_authenticatable_test.rb +0 -110
- data/test/integration/http_authenticatable_test.rb +0 -114
- data/test/integration/lockable_test.rb +0 -242
- data/test/integration/mounted_engine_test.rb +0 -38
- data/test/integration/omniauthable_test.rb +0 -148
- data/test/integration/recoverable_test.rb +0 -349
- data/test/integration/registerable_test.rb +0 -365
- data/test/integration/rememberable_test.rb +0 -219
- data/test/integration/timeoutable_test.rb +0 -186
- data/test/integration/trackable_test.rb +0 -99
- data/test/mailers/confirmation_instructions_test.rb +0 -117
- data/test/mailers/email_changed_test.rb +0 -132
- data/test/mailers/mailer_test.rb +0 -20
- data/test/mailers/reset_password_instructions_test.rb +0 -98
- data/test/mailers/unlock_instructions_test.rb +0 -93
- data/test/mapping_test.rb +0 -136
- data/test/models/authenticatable_test.rb +0 -25
- data/test/models/confirmable_test.rb +0 -549
- data/test/models/database_authenticatable_test.rb +0 -290
- data/test/models/lockable_test.rb +0 -352
- data/test/models/omniauthable_test.rb +0 -9
- data/test/models/recoverable_test.rb +0 -263
- data/test/models/registerable_test.rb +0 -9
- data/test/models/rememberable_test.rb +0 -184
- data/test/models/serializable_test.rb +0 -60
- data/test/models/timeoutable_test.rb +0 -53
- data/test/models/trackable_test.rb +0 -80
- data/test/models/validatable_test.rb +0 -121
- data/test/models_test.rb +0 -155
- data/test/omniauth/config_test.rb +0 -61
- data/test/omniauth/url_helpers_test.rb +0 -53
- data/test/orm/active_record.rb +0 -24
- data/test/orm/mongoid.rb +0 -15
- data/test/parameter_sanitizer_test.rb +0 -105
- data/test/rails_app/Rakefile +0 -6
- data/test/rails_app/app/active_record/admin.rb +0 -8
- data/test/rails_app/app/active_record/shim.rb +0 -4
- data/test/rails_app/app/active_record/user.rb +0 -20
- data/test/rails_app/app/active_record/user_on_engine.rb +0 -9
- data/test/rails_app/app/active_record/user_on_main_app.rb +0 -9
- data/test/rails_app/app/active_record/user_with_validations.rb +0 -12
- data/test/rails_app/app/active_record/user_without_email.rb +0 -10
- data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -8
- data/test/rails_app/app/controllers/admins_controller.rb +0 -8
- data/test/rails_app/app/controllers/application_controller.rb +0 -13
- data/test/rails_app/app/controllers/application_with_fake_engine.rb +0 -32
- data/test/rails_app/app/controllers/custom/registrations_controller.rb +0 -33
- data/test/rails_app/app/controllers/home_controller.rb +0 -31
- data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -4
- data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -4
- data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -16
- data/test/rails_app/app/controllers/users_controller.rb +0 -33
- data/test/rails_app/app/helpers/application_helper.rb +0 -5
- data/test/rails_app/app/mailers/users/from_proc_mailer.rb +0 -5
- data/test/rails_app/app/mailers/users/mailer.rb +0 -5
- data/test/rails_app/app/mailers/users/reply_to_mailer.rb +0 -6
- data/test/rails_app/app/mongoid/admin.rb +0 -31
- data/test/rails_app/app/mongoid/shim.rb +0 -25
- data/test/rails_app/app/mongoid/user.rb +0 -50
- data/test/rails_app/app/mongoid/user_on_engine.rb +0 -41
- data/test/rails_app/app/mongoid/user_on_main_app.rb +0 -41
- data/test/rails_app/app/mongoid/user_with_validations.rb +0 -37
- data/test/rails_app/app/mongoid/user_without_email.rb +0 -35
- data/test/rails_app/app/views/admins/index.html.erb +0 -1
- data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
- data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
- data/test/rails_app/app/views/home/index.html.erb +0 -1
- data/test/rails_app/app/views/home/join.html.erb +0 -1
- data/test/rails_app/app/views/home/private.html.erb +0 -1
- data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
- data/test/rails_app/app/views/layouts/application.html.erb +0 -24
- data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
- data/test/rails_app/app/views/users/index.html.erb +0 -1
- data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
- data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
- data/test/rails_app/bin/bundle +0 -3
- data/test/rails_app/bin/rails +0 -4
- data/test/rails_app/bin/rake +0 -4
- data/test/rails_app/config.ru +0 -4
- data/test/rails_app/config/application.rb +0 -48
- data/test/rails_app/config/boot.rb +0 -27
- data/test/rails_app/config/database.yml +0 -18
- data/test/rails_app/config/environment.rb +0 -7
- data/test/rails_app/config/environments/development.rb +0 -32
- data/test/rails_app/config/environments/production.rb +0 -88
- data/test/rails_app/config/environments/test.rb +0 -47
- data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -9
- data/test/rails_app/config/initializers/devise.rb +0 -187
- data/test/rails_app/config/initializers/inflections.rb +0 -4
- data/test/rails_app/config/initializers/secret_token.rb +0 -5
- data/test/rails_app/config/initializers/session_store.rb +0 -3
- data/test/rails_app/config/routes.rb +0 -128
- data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -77
- data/test/rails_app/db/schema.rb +0 -57
- data/test/rails_app/lib/lazy_load_test_module.rb +0 -5
- data/test/rails_app/lib/shared_admin.rb +0 -23
- data/test/rails_app/lib/shared_user.rb +0 -32
- data/test/rails_app/lib/shared_user_without_email.rb +0 -28
- data/test/rails_app/lib/shared_user_without_omniauth.rb +0 -15
- data/test/rails_app/public/404.html +0 -26
- data/test/rails_app/public/422.html +0 -26
- data/test/rails_app/public/500.html +0 -26
- data/test/rails_app/public/favicon.ico +0 -0
- data/test/rails_test.rb +0 -11
- data/test/routes_test.rb +0 -281
- data/test/secret_key_finder_test.rb +0 -121
- data/test/support/action_controller/record_identifier.rb +0 -12
- data/test/support/assertions.rb +0 -30
- data/test/support/helpers.rb +0 -83
- data/test/support/http_method_compatibility.rb +0 -53
- data/test/support/integration.rb +0 -95
- data/test/support/locale/en.yml +0 -8
- data/test/support/mongoid.yml +0 -6
- data/test/support/webrat/integrations/rails.rb +0 -35
- data/test/test/controller_helpers_test.rb +0 -193
- data/test/test/integration_helpers_test.rb +0 -34
- data/test/test_helper.rb +0 -36
- data/test/test_models.rb +0 -35
@@ -1,61 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class OmniAuthConfigTest < ActiveSupport::TestCase
|
6
|
-
class MyStrategy
|
7
|
-
include OmniAuth::Strategy
|
8
|
-
end
|
9
|
-
|
10
|
-
test 'strategy_name returns provider if no options given' do
|
11
|
-
config = Devise::OmniAuth::Config.new :facebook, [{}]
|
12
|
-
assert_equal :facebook, config.strategy_name
|
13
|
-
end
|
14
|
-
|
15
|
-
test 'strategy_name returns provider if no name option are given' do
|
16
|
-
config = Devise::OmniAuth::Config.new :facebook, [{ other: :option }]
|
17
|
-
assert_equal :facebook, config.strategy_name
|
18
|
-
end
|
19
|
-
|
20
|
-
test 'returns name option when have a name' do
|
21
|
-
config = Devise::OmniAuth::Config.new :facebook, [{ name: :github }]
|
22
|
-
assert_equal :github, config.strategy_name
|
23
|
-
end
|
24
|
-
|
25
|
-
test "finds contrib strategies" do
|
26
|
-
config = Devise::OmniAuth::Config.new :facebook, [{}]
|
27
|
-
assert_equal OmniAuth::Strategies::Facebook, config.strategy_class
|
28
|
-
end
|
29
|
-
|
30
|
-
class NamedTestStrategy
|
31
|
-
include OmniAuth::Strategy
|
32
|
-
option :name, :the_one
|
33
|
-
end
|
34
|
-
|
35
|
-
test "finds the strategy in OmniAuth's list by name" do
|
36
|
-
config = Devise::OmniAuth::Config.new :the_one, [{}]
|
37
|
-
assert_equal NamedTestStrategy, config.strategy_class
|
38
|
-
end
|
39
|
-
|
40
|
-
class UnNamedTestStrategy
|
41
|
-
include OmniAuth::Strategy
|
42
|
-
end
|
43
|
-
|
44
|
-
test "finds the strategy in OmniAuth's list by class name" do
|
45
|
-
config = Devise::OmniAuth::Config.new :un_named_test_strategy, [{}]
|
46
|
-
assert_equal UnNamedTestStrategy, config.strategy_class
|
47
|
-
end
|
48
|
-
|
49
|
-
test 'raises an error if strategy cannot be found' do
|
50
|
-
config = Devise::OmniAuth::Config.new :my_other_strategy, [{}]
|
51
|
-
assert_raise Devise::OmniAuth::StrategyNotFound do
|
52
|
-
config.strategy_class
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
test 'allows the user to define a custom require path' do
|
57
|
-
config = Devise::OmniAuth::Config.new :my_strategy, [{strategy_class: MyStrategy}]
|
58
|
-
config_class = config.strategy_class
|
59
|
-
assert_equal MyStrategy, config_class
|
60
|
-
end
|
61
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class OmniAuthRoutesTest < ActionController::TestCase
|
6
|
-
tests ApplicationController
|
7
|
-
|
8
|
-
def assert_path(action, provider, with_param=true)
|
9
|
-
# Resource param
|
10
|
-
assert_equal @controller.send(action, :user, provider),
|
11
|
-
@controller.send("user_#{provider}_#{action}")
|
12
|
-
|
13
|
-
# With an object
|
14
|
-
assert_equal @controller.send(action, User.new, provider),
|
15
|
-
@controller.send("user_#{provider}_#{action}")
|
16
|
-
|
17
|
-
if with_param
|
18
|
-
# Default url params
|
19
|
-
assert_equal @controller.send(action, :user, provider, param: 123),
|
20
|
-
@controller.send("user_#{provider}_#{action}", param: 123)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
test 'should alias omniauth_callback to mapped user auth_callback' do
|
25
|
-
assert_path :omniauth_callback_path, :facebook
|
26
|
-
end
|
27
|
-
|
28
|
-
test 'should alias omniauth_authorize to mapped user auth_authorize' do
|
29
|
-
assert_path :omniauth_authorize_path, :facebook, false
|
30
|
-
end
|
31
|
-
|
32
|
-
test 'should generate authorization path' do
|
33
|
-
assert_match "/users/auth/facebook", @controller.omniauth_authorize_path(:user, :facebook)
|
34
|
-
|
35
|
-
assert_raise NoMethodError do
|
36
|
-
@controller.omniauth_authorize_path(:user, :github)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
test 'should generate authorization path for named open_id omniauth' do
|
41
|
-
assert_match "/users/auth/google", @controller.omniauth_authorize_path(:user, :google)
|
42
|
-
end
|
43
|
-
|
44
|
-
test 'should generate authorization path with params' do
|
45
|
-
assert_match "/users/auth/openid?openid_url=http%3A%2F%2Fyahoo.com",
|
46
|
-
@controller.omniauth_authorize_path(:user, :openid, openid_url: "http://yahoo.com")
|
47
|
-
end
|
48
|
-
|
49
|
-
test 'should not add a "?" if no param was sent' do
|
50
|
-
assert_equal "/users/auth/openid",
|
51
|
-
@controller.omniauth_authorize_path(:user, :openid)
|
52
|
-
end
|
53
|
-
end
|
data/test/orm/active_record.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
ActiveRecord::Migration.verbose = false
|
4
|
-
ActiveRecord::Base.logger = Logger.new(nil)
|
5
|
-
ActiveRecord::Base.include_root_in_json = true
|
6
|
-
|
7
|
-
migrate_path = File.expand_path("../../rails_app/db/migrate/", __FILE__)
|
8
|
-
if Devise::Test.rails52?
|
9
|
-
ActiveRecord::MigrationContext.new(migrate_path).migrate
|
10
|
-
else
|
11
|
-
ActiveRecord::Migrator.migrate(migrate_path)
|
12
|
-
end
|
13
|
-
|
14
|
-
class ActiveSupport::TestCase
|
15
|
-
if Devise::Test.rails5?
|
16
|
-
self.use_transactional_tests = true
|
17
|
-
else
|
18
|
-
# Let `after_commit` work with transactional fixtures, however this is not needed for Rails 5.
|
19
|
-
require 'test_after_commit'
|
20
|
-
self.use_transactional_fixtures = true
|
21
|
-
end
|
22
|
-
|
23
|
-
self.use_instantiated_fixtures = false
|
24
|
-
end
|
data/test/orm/mongoid.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'mongoid/version'
|
4
|
-
|
5
|
-
Mongoid.configure do |config|
|
6
|
-
config.load!('test/support/mongoid.yml')
|
7
|
-
config.use_utc = true
|
8
|
-
config.include_root_in_json = true
|
9
|
-
end
|
10
|
-
|
11
|
-
class ActiveSupport::TestCase
|
12
|
-
setup do
|
13
|
-
Mongoid.default_session.drop
|
14
|
-
end
|
15
|
-
end
|
@@ -1,105 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
require 'devise/parameter_sanitizer'
|
5
|
-
|
6
|
-
class ParameterSanitizerTest < ActiveSupport::TestCase
|
7
|
-
def sanitizer(params)
|
8
|
-
params = ActionController::Parameters.new(params)
|
9
|
-
Devise::ParameterSanitizer.new(User, :user, params)
|
10
|
-
end
|
11
|
-
|
12
|
-
test 'permits the default parameters for sign in' do
|
13
|
-
sanitizer = sanitizer('user' => { 'email' => 'jose' })
|
14
|
-
sanitized = sanitizer.sanitize(:sign_in)
|
15
|
-
|
16
|
-
assert_equal({ 'email' => 'jose' }, sanitized)
|
17
|
-
end
|
18
|
-
|
19
|
-
test 'permits empty params when received not a hash' do
|
20
|
-
sanitizer = sanitizer({ 'user' => 'string' })
|
21
|
-
sanitized = sanitizer.sanitize(:sign_in)
|
22
|
-
|
23
|
-
assert_equal({}, sanitized)
|
24
|
-
end
|
25
|
-
|
26
|
-
test 'does not rise error when received string instead of hash' do
|
27
|
-
sanitizer = sanitizer('user' => 'string')
|
28
|
-
assert_nothing_raised do
|
29
|
-
sanitizer.sanitize(:sign_in)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
test 'does not rise error when received nil instead of hash' do
|
34
|
-
sanitizer = sanitizer('user' => nil)
|
35
|
-
assert_nothing_raised do
|
36
|
-
sanitizer.sanitize(:sign_in)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
test 'permits empty params when received nil instead of hash' do
|
41
|
-
sanitizer = sanitizer({ 'user' => nil })
|
42
|
-
sanitized = sanitizer.sanitize(:sign_in)
|
43
|
-
|
44
|
-
assert_equal({}, sanitized)
|
45
|
-
end
|
46
|
-
|
47
|
-
test 'permits the default parameters for sign up' do
|
48
|
-
sanitizer = sanitizer('user' => { 'email' => 'jose', 'role' => 'invalid' })
|
49
|
-
sanitized = sanitizer.sanitize(:sign_up)
|
50
|
-
|
51
|
-
assert_equal({ 'email' => 'jose' }, sanitized)
|
52
|
-
end
|
53
|
-
|
54
|
-
test 'permits the default parameters for account update' do
|
55
|
-
sanitizer = sanitizer('user' => { 'email' => 'jose', 'role' => 'invalid' })
|
56
|
-
sanitized = sanitizer.sanitize(:account_update)
|
57
|
-
|
58
|
-
assert_equal({ 'email' => 'jose' }, sanitized)
|
59
|
-
end
|
60
|
-
|
61
|
-
test 'permits news parameters for an existing action' do
|
62
|
-
sanitizer = sanitizer('user' => { 'username' => 'jose' })
|
63
|
-
sanitizer.permit(:sign_in, keys: [:username])
|
64
|
-
sanitized = sanitizer.sanitize(:sign_in)
|
65
|
-
|
66
|
-
assert_equal({ 'username' => 'jose' }, sanitized)
|
67
|
-
end
|
68
|
-
|
69
|
-
test 'permits news parameters for an existing action with a block' do
|
70
|
-
sanitizer = sanitizer('user' => { 'username' => 'jose' })
|
71
|
-
sanitizer.permit(:sign_in) do |user|
|
72
|
-
user.permit(:username)
|
73
|
-
end
|
74
|
-
|
75
|
-
sanitized = sanitizer.sanitize(:sign_in)
|
76
|
-
|
77
|
-
assert_equal({ 'username' => 'jose' }, sanitized)
|
78
|
-
end
|
79
|
-
|
80
|
-
test 'permit parameters for new actions' do
|
81
|
-
sanitizer = sanitizer('user' => { 'email' => 'jose@omglol', 'name' => 'Jose' })
|
82
|
-
sanitizer.permit(:invite_user, keys: [:email, :name])
|
83
|
-
|
84
|
-
sanitized = sanitizer.sanitize(:invite_user)
|
85
|
-
|
86
|
-
assert_equal({ 'email' => 'jose@omglol', 'name' => 'Jose' }, sanitized)
|
87
|
-
end
|
88
|
-
|
89
|
-
test 'fails when we do not have any permitted parameters for the action' do
|
90
|
-
sanitizer = sanitizer('user' => { 'email' => 'jose', 'password' => 'invalid' })
|
91
|
-
|
92
|
-
assert_raise NotImplementedError do
|
93
|
-
sanitizer.sanitize(:unknown)
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
test 'removes permitted parameters' do
|
98
|
-
sanitizer = sanitizer('user' => { 'email' => 'jose@omglol', 'username' => 'jose' })
|
99
|
-
|
100
|
-
sanitizer.permit(:sign_in, keys: [:username], except: [:email])
|
101
|
-
sanitized = sanitizer.sanitize(:sign_in)
|
102
|
-
|
103
|
-
assert_equal({ 'username' => 'jose' }, sanitized)
|
104
|
-
end
|
105
|
-
end
|
data/test/rails_app/Rakefile
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'shared_user'
|
4
|
-
|
5
|
-
class User < ActiveRecord::Base
|
6
|
-
include Shim
|
7
|
-
include SharedUser
|
8
|
-
include ActiveModel::Serializers::Xml if Devise::Test.rails5?
|
9
|
-
|
10
|
-
validates :sign_in_count, presence: true
|
11
|
-
|
12
|
-
cattr_accessor :validations_performed
|
13
|
-
|
14
|
-
after_validation :after_validation_callback
|
15
|
-
|
16
|
-
def after_validation_callback
|
17
|
-
# used to check in our test if the validations were called
|
18
|
-
@@validations_performed = true
|
19
|
-
end
|
20
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Filters added to this controller apply to all controllers in the application.
|
4
|
-
# Likewise, all the methods added will be available for all controllers.
|
5
|
-
|
6
|
-
class ApplicationController < ActionController::Base
|
7
|
-
protect_from_forgery
|
8
|
-
before_action :current_user, unless: :devise_controller?
|
9
|
-
before_action :authenticate_user!, if: :devise_controller?
|
10
|
-
respond_to(*Mime::SET.map(&:to_sym))
|
11
|
-
|
12
|
-
devise_group :commenter, contains: [:user, :admin]
|
13
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class ApplicationWithFakeEngine < ApplicationController
|
4
|
-
private
|
5
|
-
|
6
|
-
helper_method :fake_engine
|
7
|
-
def fake_engine
|
8
|
-
@fake_engine ||= FakeEngine.new
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
class FakeEngine
|
13
|
-
def user_on_engine_confirmation_path
|
14
|
-
'/user_on_engine/confirmation'
|
15
|
-
end
|
16
|
-
|
17
|
-
def new_user_on_engine_session_path
|
18
|
-
'/user_on_engine/confirmation/new'
|
19
|
-
end
|
20
|
-
|
21
|
-
def new_user_on_engine_registration_path
|
22
|
-
'/user_on_engine/registration/new'
|
23
|
-
end
|
24
|
-
|
25
|
-
def new_user_on_engine_password_path
|
26
|
-
'/user_on_engine/password/new'
|
27
|
-
end
|
28
|
-
|
29
|
-
def new_user_on_engine_unlock_path
|
30
|
-
'/user_on_engine/unlock/new'
|
31
|
-
end
|
32
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class Custom::RegistrationsController < Devise::RegistrationsController
|
4
|
-
def new
|
5
|
-
super do |resource|
|
6
|
-
@new_block_called = true
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
def create
|
11
|
-
super do |resource|
|
12
|
-
@create_block_called = true
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def update
|
17
|
-
super do |resource|
|
18
|
-
@update_block_called = true
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def create_block_called?
|
23
|
-
@create_block_called == true
|
24
|
-
end
|
25
|
-
|
26
|
-
def update_block_called?
|
27
|
-
@update_block_called == true
|
28
|
-
end
|
29
|
-
|
30
|
-
def new_block_called?
|
31
|
-
@new_block_called == true
|
32
|
-
end
|
33
|
-
end
|