diff options
Diffstat (limited to 'spec/models/key_spec.rb')
-rw-r--r-- | spec/models/key_spec.rb | 52 |
1 files changed, 3 insertions, 49 deletions
diff --git a/spec/models/key_spec.rb b/spec/models/key_spec.rb index 7a46e5e7e53..dd4dbd53a94 100644 --- a/spec/models/key_spec.rb +++ b/spec/models/key_spec.rb @@ -348,56 +348,10 @@ RSpec.describe Key, :mailer do end end - context 'validate it meets key restrictions' do - where(:factory, :minimum, :result) do - forbidden = ApplicationSetting::FORBIDDEN_KEY_VALUE + context 'ssh key' do + subject { build(:key) } - [ - [:rsa_key_2048, 0, true], - [:dsa_key_2048, 0, true], - [:ecdsa_key_256, 0, true], - [:ed25519_key_256, 0, true], - [:ecdsa_sk_key_256, 0, true], - [:ed25519_sk_key_256, 0, true], - - [:rsa_key_2048, 1024, true], - [:rsa_key_2048, 2048, true], - [:rsa_key_2048, 4096, false], - - [:dsa_key_2048, 1024, true], - [:dsa_key_2048, 2048, true], - [:dsa_key_2048, 4096, false], - - [:ecdsa_key_256, 256, true], - [:ecdsa_key_256, 384, false], - - [:ed25519_key_256, 256, true], - [:ed25519_key_256, 384, false], - - [:ecdsa_sk_key_256, 256, true], - [:ecdsa_sk_key_256, 384, false], - - [:ed25519_sk_key_256, 256, true], - [:ed25519_sk_key_256, 384, false], - - [:rsa_key_2048, forbidden, false], - [:dsa_key_2048, forbidden, false], - [:ecdsa_key_256, forbidden, false], - [:ed25519_key_256, forbidden, false], - [:ecdsa_sk_key_256, forbidden, false], - [:ed25519_sk_key_256, forbidden, false] - ] - end - - with_them do - subject(:key) { build(factory) } - - before do - stub_application_setting("#{key.public_key.type}_key_restriction" => minimum) - end - - it { expect(key.valid?).to eq(result) } - end + it_behaves_like 'meets ssh key restrictions' end context 'callbacks' do |