devise_token_auth 0.2.0 → 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of devise_token_auth might be problematic. Click here for more details.

Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/Rakefile +9 -4
  4. data/app/controllers/devise_token_auth/application_controller.rb +5 -7
  5. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +2 -2
  6. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +18 -10
  7. data/app/controllers/devise_token_auth/confirmations_controller.rb +2 -2
  8. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +17 -23
  9. data/app/controllers/devise_token_auth/passwords_controller.rb +23 -27
  10. data/app/controllers/devise_token_auth/registrations_controller.rb +17 -15
  11. data/app/controllers/devise_token_auth/sessions_controller.rb +8 -12
  12. data/app/controllers/devise_token_auth/token_validations_controller.rb +3 -3
  13. data/app/controllers/devise_token_auth/unlocks_controller.rb +10 -12
  14. data/app/models/devise_token_auth/concerns/user.rb +27 -36
  15. data/config/initializers/devise.rb +1 -1
  16. data/lib/devise_token_auth.rb +6 -6
  17. data/lib/devise_token_auth/controllers/helpers.rb +14 -4
  18. data/lib/devise_token_auth/engine.rb +11 -13
  19. data/lib/devise_token_auth/errors.rb +1 -1
  20. data/lib/devise_token_auth/rails/routes.rb +29 -29
  21. data/lib/devise_token_auth/url.rb +6 -4
  22. data/lib/devise_token_auth/version.rb +1 -1
  23. data/lib/generators/devise_token_auth/install_generator.rb +52 -39
  24. data/lib/generators/devise_token_auth/install_views_generator.rb +5 -5
  25. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +1 -1
  26. data/lib/generators/devise_token_auth/templates/{user.rb → user.rb.erb} +0 -0
  27. data/test/controllers/custom/custom_confirmations_controller_test.rb +3 -1
  28. data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +2 -0
  29. data/test/controllers/custom/custom_passwords_controller_test.rb +4 -2
  30. data/test/controllers/custom/custom_registrations_controller_test.rb +6 -8
  31. data/test/controllers/custom/custom_sessions_controller_test.rb +5 -5
  32. data/test/controllers/custom/custom_token_validations_controller_test.rb +3 -3
  33. data/test/controllers/demo_group_controller_test.rb +2 -6
  34. data/test/controllers/demo_mang_controller_test.rb +2 -5
  35. data/test/controllers/demo_user_controller_test.rb +8 -17
  36. data/test/controllers/devise_token_auth/confirmations_controller_test.rb +2 -2
  37. data/test/controllers/devise_token_auth/passwords_controller_test.rb +13 -9
  38. data/test/controllers/devise_token_auth/registrations_controller_test.rb +8 -8
  39. data/test/controllers/devise_token_auth/sessions_controller_test.rb +22 -33
  40. data/test/controllers/devise_token_auth/token_validations_controller_test.rb +2 -6
  41. data/test/controllers/devise_token_auth/unlocks_controller_test.rb +1 -1
  42. data/test/controllers/overrides/confirmations_controller_test.rb +3 -1
  43. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +3 -1
  44. data/test/controllers/overrides/passwords_controller_test.rb +25 -29
  45. data/test/controllers/overrides/registrations_controller_test.rb +4 -2
  46. data/test/controllers/overrides/sessions_controller_test.rb +4 -4
  47. data/test/controllers/overrides/token_validations_controller_test.rb +3 -3
  48. data/test/dummy/app/controllers/custom/confirmations_controller.rb +0 -2
  49. data/test/dummy/app/controllers/custom/passwords_controller.rb +1 -4
  50. data/test/dummy/app/controllers/custom/registrations_controller.rb +1 -2
  51. data/test/dummy/app/controllers/custom/sessions_controller.rb +1 -3
  52. data/test/dummy/app/controllers/custom/token_validations_controller.rb +1 -3
  53. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +3 -3
  54. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +3 -3
  55. data/test/dummy/app/controllers/overrides/passwords_controller.rb +5 -5
  56. data/test/dummy/app/controllers/overrides/registrations_controller.rb +2 -2
  57. data/test/dummy/app/controllers/overrides/sessions_controller.rb +8 -10
  58. data/test/dummy/app/controllers/overrides/token_validations_controller.rb +3 -5
  59. data/test/dummy/app/helpers/application_helper.rb +1027 -1036
  60. data/test/dummy/app/models/scoped_user.rb +2 -2
  61. data/test/dummy/app/models/unregisterable_user.rb +2 -2
  62. data/test/dummy/app/models/user.rb +1 -1
  63. data/test/dummy/config.ru +5 -3
  64. data/test/dummy/config/application.rb +2 -2
  65. data/test/dummy/config/boot.rb +2 -2
  66. data/test/dummy/config/environment.rb +1 -1
  67. data/test/dummy/config/environments/development.rb +3 -3
  68. data/test/dummy/config/environments/test.rb +1 -1
  69. data/test/dummy/config/initializers/omniauth.rb +2 -2
  70. data/test/dummy/config/routes.rb +10 -29
  71. data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +8 -8
  72. data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +7 -7
  73. data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +4 -4
  74. data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +7 -7
  75. data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +7 -7
  76. data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +7 -7
  77. data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +6 -6
  78. data/test/dummy/db/schema.rb +2 -60
  79. data/test/factories/users.rb +40 -0
  80. data/test/lib/devise_token_auth/url_test.rb +6 -6
  81. data/test/lib/generators/devise_token_auth/install_generator_test.rb +22 -14
  82. data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +30 -22
  83. data/test/lib/generators/devise_token_auth/install_views_generator_test.rb +1 -1
  84. data/test/models/user_test.rb +15 -46
  85. data/test/support/controllers/routes.rb +43 -0
  86. data/test/test_helper.rb +12 -12
  87. metadata +8 -14
  88. data/test/dummy/app/models/evil_user.rb +0 -5
  89. data/test/dummy/app/models/nice_user.rb +0 -9
  90. data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +0 -66
  91. data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +0 -63
  92. data/test/integration/navigation_test.rb +0 -12
@@ -1,7 +1,7 @@
1
1
  class DeviseTokenAuthCreate<%= user_class.pluralize.gsub("::","") %> < ActiveRecord::Migration<%= "[#{Rails::VERSION::STRING[0..2]}]" if Rails::VERSION::MAJOR > 4 %>
2
2
  def change
3
3
  <% table_name = @user_class.pluralize.gsub("::","").underscore %>
4
- create_table(:<%= table_name %>) do |t|
4
+ create_table(:<%= table_name %><%= primary_key_type %>) do |t|
5
5
  ## Required
6
6
  t.string :provider, :null => false, :default => "email"
7
7
  t.string :uid, :null => false, :default => ""
@@ -4,9 +4,11 @@ require 'test_helper'
4
4
 
5
5
  class Custom::ConfirmationsControllerTest < ActionController::TestCase
6
6
  describe Custom::ConfirmationsController do
7
+ include CustomControllersRoutes
8
+
7
9
  before do
8
10
  @redirect_url = Faker::Internet.url
9
- @new_user = users(:unconfirmed_email_user)
11
+ @new_user = create(:user)
10
12
  @new_user.send_confirmation_instructions(redirect_url: @redirect_url)
11
13
  @mail = ActionMailer::Base.deliveries.last
12
14
  @token = @mail.body.match(/confirmation_token=([^&]*)&/)[1]
@@ -4,6 +4,8 @@ require 'test_helper'
4
4
 
5
5
  class Custom::OmniauthCallbacksControllerTest < ActionDispatch::IntegrationTest
6
6
  describe Custom::OmniauthCallbacksController do
7
+ include CustomControllersRoutes
8
+
7
9
  setup do
8
10
  OmniAuth.config.test_mode = true
9
11
  OmniAuth.config.mock_auth[:facebook] = OmniAuth::AuthHash.new(
@@ -4,8 +4,10 @@ require 'test_helper'
4
4
 
5
5
  class Custom::PasswordsControllerTest < ActionController::TestCase
6
6
  describe Custom::PasswordsController do
7
+ include CustomControllersRoutes
8
+
7
9
  before do
8
- @resource = users(:confirmed_email_user)
10
+ @resource = create(:user, :confirmed)
9
11
  @redirect_url = 'http://ng-token-auth.dev'
10
12
  end
11
13
 
@@ -26,7 +28,7 @@ class Custom::PasswordsControllerTest < ActionController::TestCase
26
28
  end
27
29
 
28
30
  test 'yield resource to block on edit success' do
29
- @resource = users(:unconfirmed_email_user)
31
+ @resource = create(:user)
30
32
  @redirect_url = 'http://ng-token-auth.dev'
31
33
 
32
34
  post :create,
@@ -4,16 +4,14 @@ require 'test_helper'
4
4
 
5
5
  class Custom::RegistrationsControllerTest < ActionDispatch::IntegrationTest
6
6
  describe Custom::RegistrationsController do
7
- setup do
8
- @create_params = {
9
- email: Faker::Internet.email,
10
- password: 'secret123',
11
- password_confirmation: 'secret123',
7
+ include CustomControllersRoutes
8
+
9
+ before do
10
+ @create_params = attributes_for(:user,
12
11
  confirm_success_url: Faker::Internet.url,
13
- unpermitted_param: '(x_x)'
14
- }
12
+ unpermitted_param: '(x_x)')
15
13
 
16
- @existing_user = nice_users(:confirmed_email_user)
14
+ @existing_user = create(:user, :confirmed)
17
15
  @auth_headers = @existing_user.create_new_auth_token
18
16
  @client_id = @auth_headers['client']
19
17
 
@@ -4,17 +4,17 @@ require 'test_helper'
4
4
 
5
5
  class Custom::SessionsControllerTest < ActionController::TestCase
6
6
  describe Custom::SessionsController do
7
+ include CustomControllersRoutes
8
+
7
9
  before do
8
- @existing_user = users(:confirmed_email_user)
9
- @existing_user.skip_confirmation!
10
- @existing_user.save!
10
+ @existing_user = create(:user, :confirmed)
11
11
  end
12
12
 
13
13
  test 'yield resource to block on create success' do
14
14
  post :create,
15
15
  params: {
16
16
  email: @existing_user.email,
17
- password: 'secret123'
17
+ password: @existing_user.password
18
18
  }
19
19
  assert @controller.create_block_called?,
20
20
  'create failed to yield resource to provided block'
@@ -31,7 +31,7 @@ class Custom::SessionsControllerTest < ActionController::TestCase
31
31
  test 'render method override' do
32
32
  post :create,
33
33
  params: { email: @existing_user.email,
34
- password: 'secret123' }
34
+ password: @existing_user.password }
35
35
  @data = JSON.parse(response.body)
36
36
  assert_equal @data['custom'], 'foo'
37
37
  end
@@ -4,10 +4,10 @@ require 'test_helper'
4
4
 
5
5
  class Custom::TokenValidationsControllerTest < ActionDispatch::IntegrationTest
6
6
  describe Custom::TokenValidationsController do
7
+ include CustomControllersRoutes
8
+
7
9
  before do
8
- @resource = nice_users(:confirmed_email_user)
9
- @resource.skip_confirmation!
10
- @resource.save!
10
+ @resource = create(:user, :confirmed)
11
11
 
12
12
  @auth_headers = @resource.create_new_auth_token
13
13
 
@@ -13,9 +13,7 @@ class DemoGroupControllerTest < ActionDispatch::IntegrationTest
13
13
  describe 'Token access' do
14
14
  before do
15
15
  # user
16
- @resource = users(:confirmed_email_user)
17
- @resource.skip_confirmation!
18
- @resource.save!
16
+ @resource = create(:user, :confirmed)
19
17
 
20
18
  @resource_auth_headers = @resource.create_new_auth_token
21
19
 
@@ -24,9 +22,7 @@ class DemoGroupControllerTest < ActionDispatch::IntegrationTest
24
22
  @resource_expiry = @resource_auth_headers['expiry']
25
23
 
26
24
  # mang
27
- @mang = mangs(:confirmed_email_user)
28
- @mang.skip_confirmation!
29
- @mang.save!
25
+ @mang = create(:mang_user, :confirmed)
30
26
 
31
27
  @mang_auth_headers = @mang.create_new_auth_token
32
28
 
@@ -12,9 +12,7 @@ class DemoMangControllerTest < ActionDispatch::IntegrationTest
12
12
  describe DemoMangController do
13
13
  describe 'Token access' do
14
14
  before do
15
- @resource = mangs(:confirmed_email_user)
16
- @resource.skip_confirmation!
17
- @resource.save!
15
+ @resource = create(:mang_user, :confirmed)
18
16
 
19
17
  @auth_headers = @resource.create_new_auth_token
20
18
 
@@ -216,7 +214,7 @@ class DemoMangControllerTest < ActionDispatch::IntegrationTest
216
214
  end
217
215
 
218
216
  it 'should not return auth headers for second (batched) requests' do
219
- refute @second_access_token
217
+ assert_equal ' ', @second_access_token
220
218
  end
221
219
  end
222
220
 
@@ -284,4 +282,3 @@ class DemoMangControllerTest < ActionDispatch::IntegrationTest
284
282
  end
285
283
  end
286
284
  end
287
-
@@ -13,9 +13,7 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
13
13
  describe DemoUserController do
14
14
  describe 'Token access' do
15
15
  before do
16
- @resource = users(:confirmed_email_user)
17
- @resource.skip_confirmation!
18
- @resource.save!
16
+ @resource = create(:user, :confirmed)
19
17
 
20
18
  @auth_headers = @resource.create_new_auth_token
21
19
 
@@ -217,7 +215,7 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
217
215
  end
218
216
 
219
217
  it 'should not return auth headers for second (batched) requests' do
220
- refute @second_access_token
218
+ assert_equal ' ', @second_access_token
221
219
  end
222
220
  end
223
221
 
@@ -440,8 +438,8 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
440
438
 
441
439
  # get the oldest token client_id
442
440
  oldest_client_id, = @resource.reload.tokens.min_by do |cid, v|
443
- v[:expiry] || v["expiry"]
444
- end # => [ 'CLIENT_ID', {token: ...} ]
441
+ v[:expiry] || v['expiry']
442
+ end # => [ 'CLIENT_ID', {token: ...} ]
445
443
 
446
444
  # create another token, thereby dropping the oldest token
447
445
  @resource.create_new_auth_token
@@ -457,8 +455,7 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
457
455
 
458
456
  describe 'bypass_sign_in' do
459
457
  before do
460
- @resource = users(:unconfirmed_email_user)
461
- @resource.save!
458
+ @resource = create(:user)
462
459
 
463
460
  @auth_headers = @resource.create_new_auth_token
464
461
 
@@ -513,16 +510,14 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
513
510
 
514
511
  describe 'enable_standard_devise_support' do
515
512
  before do
516
- @resource = users(:confirmed_email_user)
513
+ @resource = create(:user, :confirmed)
517
514
  @auth_headers = @resource.create_new_auth_token
518
515
  DeviseTokenAuth.enable_standard_devise_support = true
519
516
  end
520
517
 
521
518
  describe 'Existing Warden authentication' do
522
519
  before do
523
- @resource = users(:second_confirmed_email_user)
524
- @resource.skip_confirmation!
525
- @resource.save!
520
+ @resource = create(:user, :confirmed)
526
521
  login_as(@resource, scope: :user)
527
522
 
528
523
  # no auth headers sent, testing that warden authenticates correctly.
@@ -549,8 +544,6 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
549
544
  refute_equal @resource, @controller.current_mang
550
545
  end
551
546
 
552
-
553
-
554
547
  end
555
548
 
556
549
  it 'should return success status' do
@@ -576,9 +569,7 @@ class DemoUserControllerTest < ActionDispatch::IntegrationTest
576
569
 
577
570
  describe 'existing Warden authentication with ignored token data' do
578
571
  before do
579
- @resource = users(:second_confirmed_email_user)
580
- @resource.skip_confirmation!
581
- @resource.save!
572
+ @resource = create(:user, :confirmed)
582
573
  login_as(@resource, scope: :user)
583
574
 
584
575
  get '/demo/members_only',
@@ -19,7 +19,7 @@ class DeviseTokenAuth::ConfirmationsControllerTest < ActionController::TestCase
19
19
  describe 'Confirmation' do
20
20
  before do
21
21
  @redirect_url = Faker::Internet.url
22
- @new_user = users(:unconfirmed_email_user)
22
+ @new_user = create(:user)
23
23
  @new_user.send_confirmation_instructions(redirect_url: @redirect_url)
24
24
  mail = ActionMailer::Base.deliveries.last
25
25
  @token, @client_config = token_and_client_config_from(mail.body)
@@ -90,7 +90,7 @@ class DeviseTokenAuth::ConfirmationsControllerTest < ActionController::TestCase
90
90
 
91
91
  before do
92
92
  @config_name = 'altUser'
93
- @new_user = mangs(:unconfirmed_email_user)
93
+ @new_user = create(:mang_user)
94
94
 
95
95
  @new_user.send_confirmation_instructions(client_config: @config_name)
96
96
 
@@ -12,7 +12,7 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
12
12
  describe DeviseTokenAuth::PasswordsController do
13
13
  describe 'Password reset' do
14
14
  before do
15
- @resource = users(:confirmed_email_user)
15
+ @resource = create(:user, :confirmed)
16
16
  @redirect_url = 'http://ng-token-auth.dev'
17
17
  end
18
18
 
@@ -53,8 +53,10 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
53
53
 
54
54
  test 'error message should be returned' do
55
55
  assert @data['errors']
56
- assert_equal @data['errors'],
57
- [I18n.t('devise_token_auth.passwords.missing_redirect_url')]
56
+ assert_equal(
57
+ @data['errors'],
58
+ [I18n.t('devise_token_auth.passwords.missing_redirect_url')]
59
+ )
58
60
  end
59
61
  end
60
62
 
@@ -113,7 +115,9 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
113
115
  end
114
116
 
115
117
  test 'response should contains message' do
116
- assert_equal @data['message'], I18n.t('devise_token_auth.passwords.sended', email: @resource.email)
118
+ assert_equal \
119
+ @data['message'],
120
+ I18n.t('devise_token_auth.passwords.sended', email: @resource.email)
117
121
  end
118
122
 
119
123
  test 'action should send an email' do
@@ -316,7 +320,7 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
316
320
 
317
321
  describe 'Using default_password_reset_url' do
318
322
  before do
319
- @resource = users(:confirmed_email_user)
323
+ @resource = create(:user, :confirmed)
320
324
  @redirect_url = 'http://ng-token-auth.dev'
321
325
 
322
326
  DeviseTokenAuth.default_password_reset_url = @redirect_url
@@ -350,7 +354,7 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
350
354
 
351
355
  describe 'Using redirect_whitelist' do
352
356
  before do
353
- @resource = users(:confirmed_email_user)
357
+ @resource = create(:user, :confirmed)
354
358
  @good_redirect_url = Faker::Internet.url
355
359
  @bad_redirect_url = Faker::Internet.url
356
360
  DeviseTokenAuth.redirect_whitelist = [@good_redirect_url]
@@ -548,7 +552,7 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
548
552
  end
549
553
 
550
554
  before do
551
- @resource = mangs(:confirmed_email_user)
555
+ @resource = create(:mang_user, :confirmed)
552
556
  @redirect_url = 'http://ng-token-auth.dev'
553
557
 
554
558
  post :create, params: { email: @resource.email,
@@ -575,7 +579,7 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
575
579
 
576
580
  describe 'unconfirmed user' do
577
581
  before do
578
- @resource = users(:unconfirmed_email_user)
582
+ @resource = create(:user)
579
583
  @redirect_url = 'http://ng-token-auth.dev'
580
584
 
581
585
  post :create, params: { email: @resource.email,
@@ -627,7 +631,7 @@ class DeviseTokenAuth::PasswordsControllerTest < ActionController::TestCase
627
631
 
628
632
  describe 'alternate user type' do
629
633
  before do
630
- @resource = users(:confirmed_email_user)
634
+ @resource = create(:user, :confirmed)
631
635
  @redirect_url = 'http://ng-token-auth.dev'
632
636
  @config_name = 'altUser'
633
637
 
@@ -376,7 +376,7 @@ class DeviseTokenAuth::RegistrationsControllerTest < ActionDispatch::Integration
376
376
 
377
377
  describe 'Existing users' do
378
378
  before do
379
- @existing_user = users(:confirmed_email_user)
379
+ @existing_user = create(:user, :confirmed)
380
380
 
381
381
  post '/auth',
382
382
  params: { email: @existing_user.email,
@@ -404,7 +404,7 @@ class DeviseTokenAuth::RegistrationsControllerTest < ActionDispatch::Integration
404
404
  describe 'Destroy user account' do
405
405
  describe 'success' do
406
406
  before do
407
- @existing_user = users(:confirmed_email_user)
407
+ @existing_user = create(:user, :confirmed)
408
408
  @auth_headers = @existing_user.create_new_auth_token
409
409
  @client_id = @auth_headers['client']
410
410
 
@@ -451,7 +451,7 @@ class DeviseTokenAuth::RegistrationsControllerTest < ActionDispatch::Integration
451
451
  describe 'Update user account' do
452
452
  describe 'existing user' do
453
453
  before do
454
- @existing_user = users(:confirmed_email_user)
454
+ @existing_user = create(:user, :confirmed)
455
455
  @auth_headers = @existing_user.create_new_auth_token
456
456
  @client_id = @auth_headers['client']
457
457
 
@@ -499,13 +499,13 @@ class DeviseTokenAuth::RegistrationsControllerTest < ActionDispatch::Integration
499
499
  end
500
500
 
501
501
  test 'Supply current password' do
502
- @request_params[:current_password] = 'secret123'
503
- @request_params[:email] = 'new.email@example.com'
502
+ @request_params[:current_password] = @existing_user.password
503
+ @request_params[:email] = @existing_user.email
504
504
 
505
505
  put '/auth', params: @request_params, headers: @auth_headers
506
506
  @data = JSON.parse(response.body)
507
507
  @existing_user.reload
508
- assert_equal @existing_user.email, 'new.email@example.com'
508
+ assert_equal @existing_user.email, @request_params[:email]
509
509
  end
510
510
  end
511
511
 
@@ -668,7 +668,7 @@ class DeviseTokenAuth::RegistrationsControllerTest < ActionDispatch::Integration
668
668
 
669
669
  describe 'invalid user' do
670
670
  before do
671
- @existing_user = users(:confirmed_email_user)
671
+ @existing_user = create(:user, :confirmed)
672
672
  @auth_headers = @existing_user.create_new_auth_token
673
673
  @client_id = @auth_headers['client']
674
674
 
@@ -705,7 +705,7 @@ class DeviseTokenAuth::RegistrationsControllerTest < ActionDispatch::Integration
705
705
 
706
706
  describe 'Ouath user has existing email' do
707
707
  before do
708
- @existing_user = users(:duplicate_email_facebook_user)
708
+ @existing_user = create(:user, :facebook, :confirmed)
709
709
 
710
710
  post '/auth',
711
711
  params: { email: @existing_user.email,
@@ -12,9 +12,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
12
12
  describe DeviseTokenAuth::SessionsController do
13
13
  describe 'Confirmed user' do
14
14
  before do
15
- @existing_user = users(:confirmed_email_user)
16
- @existing_user.skip_confirmation!
17
- @existing_user.save!
15
+ @existing_user = create(:user, :with_nickname, :confirmed)
18
16
  end
19
17
 
20
18
  describe 'success' do
@@ -28,7 +26,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
28
26
  post :create,
29
27
  params: {
30
28
  email: @existing_user.email,
31
- password: 'secret123'
29
+ password: @existing_user.password
32
30
  }
33
31
 
34
32
  @resource = assigns(:resource)
@@ -84,7 +82,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
84
82
 
85
83
  @user_session_params = {
86
84
  email: @existing_user.email,
87
- password: 'secret123'
85
+ password: @existing_user.password
88
86
  }
89
87
  end
90
88
 
@@ -112,7 +110,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
112
110
  end
113
111
 
114
112
  oldest_token, _ = @existing_user.reload.tokens \
115
- .min_by { |cid, v| v[:expiry] || v["expiry"] }
113
+ .min_by { |cid, v| v[:expiry] || v['expiry'] }
116
114
 
117
115
  post :create, params: @user_session_params
118
116
 
@@ -130,7 +128,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
130
128
  before do
131
129
  get :new,
132
130
  params: { nickname: @existing_user.nickname,
133
- password: 'secret123' }
131
+ password: @existing_user.password }
134
132
  @data = JSON.parse(response.body)
135
133
  end
136
134
 
@@ -147,7 +145,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
147
145
  before do
148
146
  request.headers.merge!(
149
147
  'email' => @existing_user.email,
150
- 'password' => 'secret123'
148
+ 'password' => @existing_user.password
151
149
  )
152
150
 
153
151
  head :create
@@ -163,7 +161,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
163
161
  before do
164
162
  post :create,
165
163
  params: { nickname: @existing_user.nickname,
166
- password: 'secret123' }
164
+ password: @existing_user.password }
167
165
  @data = JSON.parse(response.body)
168
166
  end
169
167
 
@@ -275,7 +273,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
275
273
  @resource_class = User
276
274
  @request_params = {
277
275
  email: @existing_user.email.upcase,
278
- password: 'secret123'
276
+ password: @existing_user.password
279
277
  }
280
278
  end
281
279
 
@@ -298,7 +296,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
298
296
  @request_params = {
299
297
  # adding whitespace before and after email
300
298
  email: " #{@existing_user.email} ",
301
- password: 'secret123'
299
+ password: @existing_user.password
302
300
  }
303
301
  end
304
302
 
@@ -318,9 +316,9 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
318
316
 
319
317
  describe 'Unconfirmed user' do
320
318
  before do
321
- @unconfirmed_user = users(:unconfirmed_email_user)
319
+ @unconfirmed_user = create(:user)
322
320
  post :create, params: { email: @unconfirmed_user.email,
323
- password: 'secret123' }
321
+ password: @unconfirmed_user.password }
324
322
  @resource = assigns(:resource)
325
323
  @data = JSON.parse(response.body)
326
324
  end
@@ -341,10 +339,10 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
341
339
  before do
342
340
  @original_duration = Devise.allow_unconfirmed_access_for
343
341
  Devise.allow_unconfirmed_access_for = 3.days
344
- @recent_unconfirmed_user = users(:recent_unconfirmed_email_user)
342
+ @recent_unconfirmed_user = create(:user)
345
343
  post :create,
346
344
  params: { email: @recent_unconfirmed_user.email,
347
- password: 'secret123' }
345
+ password: @recent_unconfirmed_user.password }
348
346
  @resource = assigns(:resource)
349
347
  @data = JSON.parse(response.body)
350
348
  end
@@ -364,20 +362,14 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
364
362
 
365
363
  describe 'Unconfirmed user with expired unconfirmed access' do
366
364
  before do
367
- @original_duration = Devise.allow_unconfirmed_access_for
368
- Devise.allow_unconfirmed_access_for = 3.days
369
- @unconfirmed_user = users(:unconfirmed_email_user)
365
+ @unconfirmed_user = create(:user, :unconfirmed)
370
366
  post :create,
371
367
  params: { email: @unconfirmed_user.email,
372
- password: 'secret123' }
368
+ password: @unconfirmed_user.password }
373
369
  @resource = assigns(:resource)
374
370
  @data = JSON.parse(response.body)
375
371
  end
376
372
 
377
- after do
378
- Devise.allow_unconfirmed_access_for = @original_duration
379
- end
380
-
381
373
  test 'request should fail' do
382
374
  assert_equal 401, response.status
383
375
  end
@@ -415,13 +407,11 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
415
407
  end
416
408
 
417
409
  before do
418
- @existing_user = mangs(:confirmed_email_user)
419
- @existing_user.skip_confirmation!
420
- @existing_user.save!
410
+ @existing_user = create(:mang_user, :confirmed)
421
411
 
422
412
  post :create,
423
413
  params: { email: @existing_user.email,
424
- password: 'secret123' }
414
+ password: @existing_user.password }
425
415
 
426
416
  @resource = assigns(:resource)
427
417
  @data = JSON.parse(response.body)
@@ -446,12 +436,11 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
446
436
  end
447
437
 
448
438
  before do
449
- @existing_user = only_email_users(:user)
450
- @existing_user.save!
439
+ @existing_user = create(:only_email_user)
451
440
 
452
441
  post :create,
453
442
  params: { email: @existing_user.email,
454
- password: 'secret123' }
443
+ password: @existing_user.password }
455
444
 
456
445
  @resource = assigns(:resource)
457
446
  @data = JSON.parse(response.body)
@@ -489,10 +478,10 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
489
478
 
490
479
  describe 'locked user' do
491
480
  before do
492
- @locked_user = lockable_users(:locked_user)
481
+ @locked_user = create(:lockable_user, :locked)
493
482
  post :create,
494
483
  params: { email: @locked_user.email,
495
- password: 'secret123' }
484
+ password: @locked_user.password }
496
485
  @data = JSON.parse(response.body)
497
486
  end
498
487
 
@@ -508,7 +497,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
508
497
 
509
498
  describe 'unlocked user with bad password' do
510
499
  before do
511
- @unlocked_user = lockable_users(:unlocked_user)
500
+ @unlocked_user = create(:lockable_user)
512
501
  post :create,
513
502
  params: { email: @unlocked_user.email,
514
503
  password: 'bad-password' }