Speed up test suite by not generating RSA keys in test environment (#7296)
One RSA keypair for all fabricated test accounts is enough
This commit is contained in:
parent
965345316f
commit
c5dcd7d836
3 changed files with 11 additions and 4 deletions
|
@ -406,9 +406,9 @@ class Account < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_keys
|
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.private_key = keypair.to_pem
|
||||||
self.public_key = keypair.public_key.to_pem
|
self.public_key = keypair.public_key.to_pem
|
||||||
end
|
end
|
||||||
|
|
|
@ -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
|
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 }
|
last_webfingered_at { Time.now.utc }
|
||||||
|
public_key { public_key }
|
||||||
|
private_key { private_key}
|
||||||
end
|
end
|
||||||
|
|
|
@ -815,7 +815,8 @@ RSpec.describe Account, type: :model do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when is local' do
|
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, ['_']))
|
account = Account.create!(domain: nil, username: Faker::Internet.user_name(nil, ['_']))
|
||||||
expect(account.keypair.private?).to eq true
|
expect(account.keypair.private?).to eq true
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue