diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-02-09 18:02:11 +0300 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2018-03-07 17:34:01 +0300 |
commit | 235e87a3b98f0a5831789335252f2cef7065d9ae (patch) | |
tree | aa54ac669c6f3404c259b2ef87860a35f19d3670 /spec/features | |
parent | 86e95c4eb7df3987cf3258bdea305c0851259e98 (diff) |
Merge branch 'sh-fix-otp-backup-invalidation-10-5' into 'security-10-5'
Ensure that OTP backup codes are always invalidated - 10.5 port
See merge request gitlab/gitlabhq!2324
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/users/login_spec.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/features/users/login_spec.rb b/spec/features/users/login_spec.rb index 6ef235cf870..bc75dc5d19b 100644 --- a/spec/features/users/login_spec.rb +++ b/spec/features/users/login_spec.rb @@ -145,6 +145,18 @@ feature 'Login' do expect { enter_code(codes.sample) } .to change { user.reload.otp_backup_codes.size }.by(-1) end + + it 'invalidates backup codes twice in a row' do + random_code = codes.delete(codes.sample) + expect { enter_code(random_code) } + .to change { user.reload.otp_backup_codes.size }.by(-1) + + gitlab_sign_out + gitlab_sign_in(user) + + expect { enter_code(codes.sample) } + .to change { user.reload.otp_backup_codes.size }.by(-1) + end end context 'with invalid code' do |