Use configured values for Devise instead of hard-coded numbers
-
Review changes -
-
Download -
Patches
-
Plain diff
All threads resolved!
All threads resolved!
What does this MR do and why?
Fixes master:broken gitlab-org/quality/engineering-productivity/master-broken-incidents#8934 (closed).
# spec/initializers/8_devise_spec.rb
allow(Gitlab::CurrentSettings).to receive(:max_login_attempts).and_return(35)
allow(Gitlab::CurrentSettings).to receive(:failed_login_attempts_unlock_period_in_minutes).and_return(15)
The state resulting to the above stubs are leaked causing specs in spec/models/concerns/require_email_verification_spec.rb
to fail.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before
$ bin/rspec spec/initializers/8_devise_spec.rb spec/models/concerns/require_email_verification_spec.rb
......F.F....F.F....F.F....F.F....F.F....F.F....F.F...........F.F....F.F....F.F....F.F....F.F....F.F....F.F....F.F.
Finished in 24.78 seconds (files took 43.14 seconds to load)
115 examples, 30 failures
Failed examples:
rspec './spec/models/concerns/require_email_verification_spec.rb[1:2:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: true, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:2:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: true, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:3:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: true, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:3:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: true, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:4:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: false, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:4:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: false, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:5:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: false, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:5:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: true, oauth_user: false, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:6:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: false, oauth_user: true, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:6:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: false, oauth_user: true, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:7:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: false, oauth_user: true, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:7:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: false, oauth_user: true, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:8:2:3:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: false, oauth_user: false, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:8:3:2:1]' # RequireEmailVerification feature_flag_enabled: true, two_factor_enabled: false, oauth_user: false, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:10:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: true, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:10:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: true, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:11:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: true, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:11:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: true, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:12:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: false, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:12:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: false, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:13:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: false, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:13:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: true, oauth_user: false, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:14:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: true, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:14:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: true, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:15:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: true, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:15:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: true, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:16:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: false, skipped: true #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:16:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: false, skipped: true #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:17:2:3:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: false, skipped: false #attempts_exceeded? when failed_attempts is GTE Devise default amount is expected to eq true
rspec './spec/models/concerns/require_email_verification_spec.rb[1:17:3:2:1]' # RequireEmailVerification feature_flag_enabled: false, two_factor_enabled: false, oauth_user: false, skipped: false #lock_expired? when locked longer ago than Devise default time but shorter ago than overriden time is expected to eq true
After
$ bin/rspec spec/initializers/8_devise_spec.rb spec/models/concerns/require_email_verification_spec.rb
...................................................................................................................
Finished in 1 minute 0.38 seconds (files took 48.46 seconds to load)
115 examples, 0 failures
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
Edited by Eugie Limpin
Merge request reports
Compare and
1 file
+ 2
− 2
Compare changes
- Side-by-side
- Inline
@@ -67,7 +67,7 @@
@@ -87,7 +87,7 @@
Loading