devise-security 0.13.0 → 0.14.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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -1
  3. data/.gitignore +1 -0
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +30 -12
  6. data/Appraisals +21 -5
  7. data/Gemfile +8 -1
  8. data/README.md +47 -7
  9. data/app/views/devise/paranoid_verification_code/show.html.erb +1 -1
  10. data/app/views/devise/password_expired/show.html.erb +1 -1
  11. data/config/locales/de.yml +11 -11
  12. data/config/locales/fr.yml +13 -13
  13. data/config/locales/ja.yml +29 -0
  14. data/devise-security.gemspec +12 -6
  15. data/gemfiles/rails_4.2_stable.gemfile +9 -1
  16. data/gemfiles/rails_5.0_stable.gemfile +8 -1
  17. data/gemfiles/rails_5.1_stable.gemfile +8 -1
  18. data/gemfiles/{rails_5.2.0.gemfile → rails_5.2_stable.gemfile} +8 -1
  19. data/gemfiles/rails_6.0_beta.gemfile +15 -0
  20. data/lib/devise-security.rb +2 -4
  21. data/lib/devise-security/models/{old_password.rb → active_record/old_password.rb} +1 -2
  22. data/lib/devise-security/models/compatibility.rb +6 -15
  23. data/lib/devise-security/models/compatibility/active_record.rb +29 -0
  24. data/lib/devise-security/models/compatibility/mongoid.rb +21 -0
  25. data/lib/devise-security/models/database_authenticatable_patch.rb +1 -1
  26. data/lib/devise-security/models/expirable.rb +6 -2
  27. data/lib/devise-security/models/mongoid/old_password.rb +21 -0
  28. data/lib/devise-security/models/password_archivable.rb +16 -7
  29. data/lib/devise-security/models/password_expirable.rb +5 -0
  30. data/lib/devise-security/models/secure_validatable.rb +2 -2
  31. data/lib/devise-security/orm/mongoid.rb +7 -0
  32. data/lib/devise-security/patches/controller_security_question.rb +1 -1
  33. data/lib/devise-security/version.rb +1 -1
  34. data/lib/generators/devise_security/install_generator.rb +1 -1
  35. data/test/dummy/app/models/application_record.rb +8 -2
  36. data/test/dummy/app/models/application_user_record.rb +11 -0
  37. data/test/dummy/app/models/captcha_user.rb +5 -2
  38. data/test/dummy/app/models/mongoid/confirmable_fields.rb +13 -0
  39. data/test/dummy/app/models/mongoid/database_authenticable_fields.rb +17 -0
  40. data/test/dummy/app/models/mongoid/expirable_fields.rb +11 -0
  41. data/test/dummy/app/models/mongoid/lockable_fields.rb +13 -0
  42. data/test/dummy/app/models/mongoid/mappings.rb +13 -0
  43. data/test/dummy/app/models/mongoid/omniauthable_fields.rb +11 -0
  44. data/test/dummy/app/models/mongoid/paranoid_verification_fields.rb +10 -0
  45. data/test/dummy/app/models/mongoid/password_archivable_fields.rb +9 -0
  46. data/test/dummy/app/models/mongoid/password_expirable_fields.rb +10 -0
  47. data/test/dummy/app/models/mongoid/recoverable_fields.rb +11 -0
  48. data/test/dummy/app/models/mongoid/registerable_fields.rb +19 -0
  49. data/test/dummy/app/models/mongoid/rememberable_fields.rb +10 -0
  50. data/test/dummy/app/models/mongoid/secure_validatable_fields.rb +11 -0
  51. data/test/dummy/app/models/mongoid/security_questionable_fields.rb +13 -0
  52. data/test/dummy/app/models/mongoid/session_limitable_fields.rb +10 -0
  53. data/test/dummy/app/models/mongoid/timeoutable_fields.rb +9 -0
  54. data/test/dummy/app/models/mongoid/trackable_fields.rb +14 -0
  55. data/test/dummy/app/models/mongoid/validatable_fields.rb +7 -0
  56. data/test/dummy/app/models/secure_user.rb +5 -1
  57. data/test/dummy/app/models/security_question_user.rb +7 -4
  58. data/test/dummy/app/models/user.rb +5 -0
  59. data/test/dummy/app/models/widget.rb +4 -0
  60. data/test/dummy/app/mongoid/admin.rb +31 -0
  61. data/test/dummy/app/mongoid/one_user.rb +58 -0
  62. data/test/dummy/app/mongoid/shim.rb +25 -0
  63. data/test/dummy/app/mongoid/user_on_engine.rb +41 -0
  64. data/test/dummy/app/mongoid/user_on_main_app.rb +41 -0
  65. data/test/dummy/app/mongoid/user_with_validations.rb +37 -0
  66. data/test/dummy/app/mongoid/user_without_email.rb +35 -0
  67. data/test/dummy/config/application.rb +10 -7
  68. data/test/dummy/config/environments/test.rb +2 -2
  69. data/test/dummy/config/initializers/devise.rb +3 -4
  70. data/test/dummy/config/initializers/migration_class.rb +8 -6
  71. data/test/dummy/config/mongoid.yml +6 -0
  72. data/test/dummy/lib/shared_expirable_columns.rb +14 -0
  73. data/test/dummy/lib/shared_security_questions_fields.rb +16 -0
  74. data/test/dummy/lib/shared_user.rb +32 -0
  75. data/test/dummy/lib/shared_user_with_password_verification.rb +13 -0
  76. data/test/dummy/lib/shared_user_without_email.rb +28 -0
  77. data/test/dummy/lib/shared_user_without_omniauth.rb +15 -0
  78. data/test/dummy/lib/shared_verification_fields.rb +15 -0
  79. data/test/orm/active_record.rb +12 -0
  80. data/test/orm/mongoid.rb +12 -0
  81. data/test/support/mongoid.yml +6 -0
  82. data/test/test_helper.rb +16 -9
  83. data/test/test_install_generator.rb +1 -0
  84. data/test/test_password_archivable.rb +6 -7
  85. data/test/test_password_expirable.rb +3 -1
  86. data/test/test_secure_validatable.rb +11 -10
  87. data/test/test_security_question_controller.rb +9 -11
  88. metadata +125 -16
@@ -7,15 +7,15 @@ class TestWithSecurityQuestion < ActionController::TestCase
7
7
  tests SecurityQuestion::UnlocksController
8
8
 
9
9
  setup do
10
- @user = User.create(username: 'hello', email: 'hello@path.travel',
11
- password: '1234', security_question_answer: 'Right Answer')
10
+ @user = SecurityQuestionUser.create!(username: 'hello', email: 'hello@microsoft.com',
11
+ password: 'A1234567z!', security_question_answer: 'Right Answer')
12
12
  @user.lock_access!
13
-
13
+ assert @user.locked_at.present?
14
14
  @request.env['devise.mapping'] = Devise.mappings[:security_question_user]
15
15
  end
16
16
 
17
17
  test 'When security question is enabled, it is inserted correctly' do
18
- if Rails.version < "5"
18
+ if Rails.gem_version.release <= Gem::Version.new('5.0')
19
19
  post :create, {
20
20
  security_question_user: {
21
21
  email: @user.email
@@ -28,13 +28,12 @@ class TestWithSecurityQuestion < ActionController::TestCase
28
28
  }, security_question_answer: "wrong answer"
29
29
  }
30
30
  end
31
-
32
- assert_equal 'The security question answer was invalid.', flash[:alert]
31
+ assert_equal I18n.t('devise.invalid_security_question'), flash[:alert]
33
32
  assert_redirected_to new_security_question_user_unlock_path
34
33
  end
35
34
 
36
35
  test 'When security_question is valid, it runs as normal' do
37
- if Rails.version < "5"
36
+ if Rails.gem_version.release <= Gem::Version.new('5.0')
38
37
  post :create, {
39
38
  security_question_user: {
40
39
  email: @user.email
@@ -48,7 +47,7 @@ class TestWithSecurityQuestion < ActionController::TestCase
48
47
  }
49
48
  end
50
49
 
51
- assert_equal 'You will receive an email with instructions for how to unlock your account in a few minutes.', flash[:notice]
50
+ assert_equal I18n.t('devise.unlocks.send_instructions'), flash[:notice]
52
51
  assert_redirected_to new_security_question_user_session_path
53
52
  end
54
53
  end
@@ -61,12 +60,11 @@ class TestWithoutSecurityQuestion < ActionController::TestCase
61
60
  @user = User.create(username: 'hello', email: 'hello@path.travel',
62
61
  password: '1234', security_question_answer: 'Right Answer')
63
62
  @user.lock_access!
64
-
65
63
  @request.env['devise.mapping'] = Devise.mappings[:user]
66
64
  end
67
65
 
68
66
  test 'When security question is not enabled it is not inserted' do
69
- if Rails.version < "5"
67
+ if Rails.gem_version.release <= Gem::Version.new('5.0')
70
68
  post :create, {
71
69
  user: {
72
70
  email: @user.email
@@ -80,7 +78,7 @@ class TestWithoutSecurityQuestion < ActionController::TestCase
80
78
  }
81
79
  end
82
80
 
83
- assert_equal 'You will receive an email with instructions for how to unlock your account in a few minutes.', flash[:notice]
81
+ assert_equal I18n.t('devise.unlocks.send_instructions'), flash[:notice]
84
82
  assert_redirected_to new_user_session_path
85
83
  end
86
84
  end
metadata CHANGED
@@ -1,20 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-security
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Scholl
8
8
  - Alexander Dreher
9
9
  - Nate Bird
10
10
  - Dillon Welch
11
+ - Kevin Olbrich
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
- date: 2018-10-19 00:00:00.000000000 Z
15
+ date: 2019-03-07 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
- name: rails
18
+ name: railties
18
19
  requirement: !ruby/object:Gem::Requirement
19
20
  requirements:
20
21
  - - ">="
@@ -39,7 +40,7 @@ dependencies:
39
40
  requirements:
40
41
  - - ">="
41
42
  - !ruby/object:Gem::Version
42
- version: 4.2.0
43
+ version: 4.3.0
43
44
  - - "<"
44
45
  - !ruby/object:Gem::Version
45
46
  version: '5.0'
@@ -49,7 +50,7 @@ dependencies:
49
50
  requirements:
50
51
  - - ">="
51
52
  - !ruby/object:Gem::Version
52
- version: 4.2.0
53
+ version: 4.3.0
53
54
  - - "<"
54
55
  - !ruby/object:Gem::Version
55
56
  version: '5.0'
@@ -95,6 +96,20 @@ dependencies:
95
96
  - - ">="
96
97
  - !ruby/object:Gem::Version
97
98
  version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: database_cleaner
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
98
113
  - !ruby/object:Gem::Dependency
99
114
  name: easy_captcha
100
115
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +153,7 @@ dependencies:
138
153
  - !ruby/object:Gem::Version
139
154
  version: '0'
140
155
  - !ruby/object:Gem::Dependency
141
- name: pry-byebug
156
+ name: omniauth
142
157
  requirement: !ruby/object:Gem::Requirement
143
158
  requirements:
144
159
  - - ">="
@@ -152,7 +167,7 @@ dependencies:
152
167
  - !ruby/object:Gem::Version
153
168
  version: '0'
154
169
  - !ruby/object:Gem::Dependency
155
- name: pry-rescue
170
+ name: pry-byebug
156
171
  requirement: !ruby/object:Gem::Requirement
157
172
  requirements:
158
173
  - - ">="
@@ -166,7 +181,7 @@ dependencies:
166
181
  - !ruby/object:Gem::Version
167
182
  version: '0'
168
183
  - !ruby/object:Gem::Dependency
169
- name: pry
184
+ name: pry-rescue
170
185
  requirement: !ruby/object:Gem::Requirement
171
186
  requirements:
172
187
  - - ">="
@@ -199,14 +214,14 @@ dependencies:
199
214
  requirements:
200
215
  - - "~>"
201
216
  - !ruby/object:Gem::Version
202
- version: 0.58.0
217
+ version: 0.59.2
203
218
  type: :development
204
219
  prerelease: false
205
220
  version_requirements: !ruby/object:Gem::Requirement
206
221
  requirements:
207
222
  - - "~>"
208
223
  - !ruby/object:Gem::Version
209
- version: 0.58.0
224
+ version: 0.59.2
210
225
  - !ruby/object:Gem::Dependency
211
226
  name: sqlite3
212
227
  requirement: !ruby/object:Gem::Requirement
@@ -221,6 +236,20 @@ dependencies:
221
236
  - - ">="
222
237
  - !ruby/object:Gem::Version
223
238
  version: '0'
239
+ - !ruby/object:Gem::Dependency
240
+ name: wwtd
241
+ requirement: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: '0'
224
253
  description: An enterprise security extension for devise.
225
254
  email: natebird@gmail.com
226
255
  executables: []
@@ -248,22 +277,27 @@ files:
248
277
  - config/locales/es.yml
249
278
  - config/locales/fr.yml
250
279
  - config/locales/it.yml
280
+ - config/locales/ja.yml
251
281
  - config/locales/tr.yml
252
282
  - devise-security.gemspec
253
283
  - gemfiles/rails_4.2_stable.gemfile
254
284
  - gemfiles/rails_5.0_stable.gemfile
255
285
  - gemfiles/rails_5.1_stable.gemfile
256
- - gemfiles/rails_5.2.0.gemfile
286
+ - gemfiles/rails_5.2_stable.gemfile
287
+ - gemfiles/rails_6.0_beta.gemfile
257
288
  - lib/devise-security.rb
258
289
  - lib/devise-security/controllers/helpers.rb
259
290
  - lib/devise-security/hooks/expirable.rb
260
291
  - lib/devise-security/hooks/paranoid_verification.rb
261
292
  - lib/devise-security/hooks/password_expirable.rb
262
293
  - lib/devise-security/hooks/session_limitable.rb
294
+ - lib/devise-security/models/active_record/old_password.rb
263
295
  - lib/devise-security/models/compatibility.rb
296
+ - lib/devise-security/models/compatibility/active_record.rb
297
+ - lib/devise-security/models/compatibility/mongoid.rb
264
298
  - lib/devise-security/models/database_authenticatable_patch.rb
265
299
  - lib/devise-security/models/expirable.rb
266
- - lib/devise-security/models/old_password.rb
300
+ - lib/devise-security/models/mongoid/old_password.rb
267
301
  - lib/devise-security/models/paranoid_verification.rb
268
302
  - lib/devise-security/models/password_archivable.rb
269
303
  - lib/devise-security/models/password_expirable.rb
@@ -271,6 +305,7 @@ files:
271
305
  - lib/devise-security/models/security_questionable.rb
272
306
  - lib/devise-security/models/session_limitable.rb
273
307
  - lib/devise-security/orm/active_record.rb
308
+ - lib/devise-security/orm/mongoid.rb
274
309
  - lib/devise-security/patches.rb
275
310
  - lib/devise-security/patches/confirmations_controller_captcha.rb
276
311
  - lib/devise-security/patches/confirmations_controller_security_question.rb
@@ -296,11 +331,37 @@ files:
296
331
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
297
332
  - test/dummy/app/models/.gitkeep
298
333
  - test/dummy/app/models/application_record.rb
334
+ - test/dummy/app/models/application_user_record.rb
299
335
  - test/dummy/app/models/captcha_user.rb
336
+ - test/dummy/app/models/mongoid/confirmable_fields.rb
337
+ - test/dummy/app/models/mongoid/database_authenticable_fields.rb
338
+ - test/dummy/app/models/mongoid/expirable_fields.rb
339
+ - test/dummy/app/models/mongoid/lockable_fields.rb
340
+ - test/dummy/app/models/mongoid/mappings.rb
341
+ - test/dummy/app/models/mongoid/omniauthable_fields.rb
342
+ - test/dummy/app/models/mongoid/paranoid_verification_fields.rb
343
+ - test/dummy/app/models/mongoid/password_archivable_fields.rb
344
+ - test/dummy/app/models/mongoid/password_expirable_fields.rb
345
+ - test/dummy/app/models/mongoid/recoverable_fields.rb
346
+ - test/dummy/app/models/mongoid/registerable_fields.rb
347
+ - test/dummy/app/models/mongoid/rememberable_fields.rb
348
+ - test/dummy/app/models/mongoid/secure_validatable_fields.rb
349
+ - test/dummy/app/models/mongoid/security_questionable_fields.rb
350
+ - test/dummy/app/models/mongoid/session_limitable_fields.rb
351
+ - test/dummy/app/models/mongoid/timeoutable_fields.rb
352
+ - test/dummy/app/models/mongoid/trackable_fields.rb
353
+ - test/dummy/app/models/mongoid/validatable_fields.rb
300
354
  - test/dummy/app/models/secure_user.rb
301
355
  - test/dummy/app/models/security_question_user.rb
302
356
  - test/dummy/app/models/user.rb
303
357
  - test/dummy/app/models/widget.rb
358
+ - test/dummy/app/mongoid/admin.rb
359
+ - test/dummy/app/mongoid/one_user.rb
360
+ - test/dummy/app/mongoid/shim.rb
361
+ - test/dummy/app/mongoid/user_on_engine.rb
362
+ - test/dummy/app/mongoid/user_on_main_app.rb
363
+ - test/dummy/app/mongoid/user_with_validations.rb
364
+ - test/dummy/app/mongoid/user_without_email.rb
304
365
  - test/dummy/app/views/foos/index.html.erb
305
366
  - test/dummy/config.ru
306
367
  - test/dummy/config/application.rb
@@ -310,6 +371,7 @@ files:
310
371
  - test/dummy/config/environments/test.rb
311
372
  - test/dummy/config/initializers/devise.rb
312
373
  - test/dummy/config/initializers/migration_class.rb
374
+ - test/dummy/config/mongoid.yml
313
375
  - test/dummy/config/routes.rb
314
376
  - test/dummy/config/secrets.yml
315
377
  - test/dummy/db/migrate/20120508165529_create_tables.rb
@@ -321,6 +383,16 @@ files:
321
383
  - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
322
384
  - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
323
385
  - test/dummy/db/migrate/20180319114023_add_widget.rb
386
+ - test/dummy/lib/shared_expirable_columns.rb
387
+ - test/dummy/lib/shared_security_questions_fields.rb
388
+ - test/dummy/lib/shared_user.rb
389
+ - test/dummy/lib/shared_user_with_password_verification.rb
390
+ - test/dummy/lib/shared_user_without_email.rb
391
+ - test/dummy/lib/shared_user_without_omniauth.rb
392
+ - test/dummy/lib/shared_verification_fields.rb
393
+ - test/orm/active_record.rb
394
+ - test/orm/mongoid.rb
395
+ - test/support/mongoid.yml
324
396
  - test/test_captcha_controller.rb
325
397
  - test/test_complexity_validator.rb
326
398
  - test/test_helper.rb
@@ -343,15 +415,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
343
415
  requirements:
344
416
  - - ">="
345
417
  - !ruby/object:Gem::Version
346
- version: 2.3.7
418
+ version: 2.3.0
347
419
  required_rubygems_version: !ruby/object:Gem::Requirement
348
420
  requirements:
349
- - - ">="
421
+ - - ">"
350
422
  - !ruby/object:Gem::Version
351
- version: '0'
423
+ version: 1.3.1
352
424
  requirements: []
353
425
  rubyforge_project:
354
- rubygems_version: 2.7.7
426
+ rubygems_version: 2.7.8
355
427
  signing_key:
356
428
  specification_version: 4
357
429
  summary: Security extension for devise
@@ -363,11 +435,37 @@ test_files:
363
435
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
364
436
  - test/dummy/app/models/.gitkeep
365
437
  - test/dummy/app/models/application_record.rb
438
+ - test/dummy/app/models/application_user_record.rb
366
439
  - test/dummy/app/models/captcha_user.rb
440
+ - test/dummy/app/models/mongoid/confirmable_fields.rb
441
+ - test/dummy/app/models/mongoid/database_authenticable_fields.rb
442
+ - test/dummy/app/models/mongoid/expirable_fields.rb
443
+ - test/dummy/app/models/mongoid/lockable_fields.rb
444
+ - test/dummy/app/models/mongoid/mappings.rb
445
+ - test/dummy/app/models/mongoid/omniauthable_fields.rb
446
+ - test/dummy/app/models/mongoid/paranoid_verification_fields.rb
447
+ - test/dummy/app/models/mongoid/password_archivable_fields.rb
448
+ - test/dummy/app/models/mongoid/password_expirable_fields.rb
449
+ - test/dummy/app/models/mongoid/recoverable_fields.rb
450
+ - test/dummy/app/models/mongoid/registerable_fields.rb
451
+ - test/dummy/app/models/mongoid/rememberable_fields.rb
452
+ - test/dummy/app/models/mongoid/secure_validatable_fields.rb
453
+ - test/dummy/app/models/mongoid/security_questionable_fields.rb
454
+ - test/dummy/app/models/mongoid/session_limitable_fields.rb
455
+ - test/dummy/app/models/mongoid/timeoutable_fields.rb
456
+ - test/dummy/app/models/mongoid/trackable_fields.rb
457
+ - test/dummy/app/models/mongoid/validatable_fields.rb
367
458
  - test/dummy/app/models/secure_user.rb
368
459
  - test/dummy/app/models/security_question_user.rb
369
460
  - test/dummy/app/models/user.rb
370
461
  - test/dummy/app/models/widget.rb
462
+ - test/dummy/app/mongoid/admin.rb
463
+ - test/dummy/app/mongoid/one_user.rb
464
+ - test/dummy/app/mongoid/shim.rb
465
+ - test/dummy/app/mongoid/user_on_engine.rb
466
+ - test/dummy/app/mongoid/user_on_main_app.rb
467
+ - test/dummy/app/mongoid/user_with_validations.rb
468
+ - test/dummy/app/mongoid/user_without_email.rb
371
469
  - test/dummy/app/views/foos/index.html.erb
372
470
  - test/dummy/config.ru
373
471
  - test/dummy/config/application.rb
@@ -377,6 +475,7 @@ test_files:
377
475
  - test/dummy/config/environments/test.rb
378
476
  - test/dummy/config/initializers/devise.rb
379
477
  - test/dummy/config/initializers/migration_class.rb
478
+ - test/dummy/config/mongoid.yml
380
479
  - test/dummy/config/routes.rb
381
480
  - test/dummy/config/secrets.yml
382
481
  - test/dummy/db/migrate/20120508165529_create_tables.rb
@@ -388,6 +487,16 @@ test_files:
388
487
  - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
389
488
  - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
390
489
  - test/dummy/db/migrate/20180319114023_add_widget.rb
490
+ - test/dummy/lib/shared_expirable_columns.rb
491
+ - test/dummy/lib/shared_security_questions_fields.rb
492
+ - test/dummy/lib/shared_user.rb
493
+ - test/dummy/lib/shared_user_with_password_verification.rb
494
+ - test/dummy/lib/shared_user_without_email.rb
495
+ - test/dummy/lib/shared_user_without_omniauth.rb
496
+ - test/dummy/lib/shared_verification_fields.rb
497
+ - test/orm/active_record.rb
498
+ - test/orm/mongoid.rb
499
+ - test/support/mongoid.yml
391
500
  - test/test_captcha_controller.rb
392
501
  - test/test_complexity_validator.rb
393
502
  - test/test_helper.rb