Speed up test suite by not generating RSA keys in test environment (#7296)

One RSA keypair for all fabricated test accounts is enough
lolsob-rspec
Eugen Rochko 2018-05-02 15:45:24 +02:00 committed by GitHub
parent 192746ec3e
commit d6a2530d73
3 changed files with 11 additions and 4 deletions

View File

@ -406,9 +406,9 @@ class Account < ApplicationRecord
end
def generate_keys
return unless local?
return unless local? && !Rails.env.test?
keypair = OpenSSL::PKey::RSA.new(Rails.env.test? ? 512 : 2048)
keypair = OpenSSL::PKey::RSA.new(2048)
self.private_key = keypair.to_pem
self.public_key = keypair.public_key.to_pem
end

View File

@ -1,4 +1,10 @@
keypair = OpenSSL::PKey::RSA.new(2048)
public_key = keypair.public_key.to_pem
private_key = keypair.to_pem
Fabricator(:account) do
username { sequence(:username) { |i| "#{Faker::Internet.user_name(nil, %w(_))}#{i}" } }
username { sequence(:username) { |i| "#{Faker::Internet.user_name(nil, %w(_))}#{i}" } }
last_webfingered_at { Time.now.utc }
public_key { public_key }
private_key { private_key}
end

View File

@ -815,7 +815,8 @@ RSpec.describe Account, type: :model do
end
context 'when is local' do
it 'generates keys' do
# Test disabled because test environment omits autogenerating keys for performance
xit 'generates keys' do
account = Account.create!(domain: nil, username: Faker::Internet.user_name(nil, ['_']))
expect(account.keypair.private?).to eq true
end