diff options
Diffstat (limited to 'spec/migrations/20211126115449_encrypt_static_objects_external_storage_auth_token_spec.rb')
-rw-r--r-- | spec/migrations/20211126115449_encrypt_static_objects_external_storage_auth_token_spec.rb | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/spec/migrations/20211126115449_encrypt_static_objects_external_storage_auth_token_spec.rb b/spec/migrations/20211126115449_encrypt_static_objects_external_storage_auth_token_spec.rb new file mode 100644 index 00000000000..bc8b7c56676 --- /dev/null +++ b/spec/migrations/20211126115449_encrypt_static_objects_external_storage_auth_token_spec.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_migration! + +RSpec.describe EncryptStaticObjectsExternalStorageAuthToken, :migration do + let(:application_settings) do + Class.new(ActiveRecord::Base) do + self.table_name = 'application_settings' + end + end + + context 'when static_objects_external_storage_auth_token is not set' do + it 'does nothing' do + application_settings.create! + + reversible_migration do |migration| + migration.before -> { + settings = application_settings.first + + expect(settings.static_objects_external_storage_auth_token).to be_nil + expect(settings.static_objects_external_storage_auth_token_encrypted).to be_nil + } + + migration.after -> { + settings = application_settings.first + + expect(settings.static_objects_external_storage_auth_token).to be_nil + expect(settings.static_objects_external_storage_auth_token_encrypted).to be_nil + } + end + end + end + + context 'when static_objects_external_storage_auth_token is set' do + it 'encrypts static_objects_external_storage_auth_token' do + settings = application_settings.create! + settings.update_column(:static_objects_external_storage_auth_token, 'Test') + + reversible_migration do |migration| + migration.before -> { + settings = application_settings.first + + expect(settings.static_objects_external_storage_auth_token).to eq('Test') + expect(settings.static_objects_external_storage_auth_token_encrypted).to be_nil + } + migration.after -> { + settings = application_settings.first + + expect(settings.static_objects_external_storage_auth_token).to eq('Test') + expect(settings.static_objects_external_storage_auth_token_encrypted).to be_present + } + end + end + end +end |