Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
RSpec.shared_examples 'encrypted external credential' do |factory:, attribute:, value: 'secret-token'|
|
||||
before do
|
||||
skip('encryption keys missing; see run_mfa_spec workflow') unless Chatwoot.encryption_configured?
|
||||
if defined?(Facebook::Messenger::Subscriptions)
|
||||
allow(Facebook::Messenger::Subscriptions).to receive(:subscribe).and_return(true)
|
||||
allow(Facebook::Messenger::Subscriptions).to receive(:unsubscribe).and_return(true)
|
||||
end
|
||||
end
|
||||
|
||||
it "encrypts #{attribute} at rest" do
|
||||
record = create(factory, attribute => value)
|
||||
|
||||
raw_stored_value = record.reload.read_attribute_before_type_cast(attribute).to_s
|
||||
expect(raw_stored_value).to be_present
|
||||
expect(raw_stored_value).not_to include(value)
|
||||
expect(record.public_send(attribute)).to eq(value)
|
||||
expect(record.encrypted_attribute?(attribute)).to be(true)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user