Sha256: 0aa4ee5c70269f558def1d3f9b2a0c8d6ea44bb9b1d4eae8fe9bd37fead1a4e7

Contents?: true

Size: 1.69 KB

Versions: 4

Compression:

Stored size: 1.69 KB

Contents

# frozen_string_literal: true
require 'rspectacular'
require 'chamber/filters/secure_filter'

module    Chamber
module    Filters
describe  SecureFilter do
  it 'will return values which are marked as "secure"' do
    filtered_settings = SecureFilter.execute(data: {
                                               _secure_my_secure_setting: 'hello',
                                             })

    expect(filtered_settings._secure_my_secure_setting).to match 'hello'
  end

  it 'will not return values which are not marked as "secure"' do
    filtered_settings = SecureFilter.execute(data: {
                                               my_secure_setting: 'hello',
                                             })

    expect(filtered_settings.my_secure_setting).to be_nil
  end

  it 'will properly return values even if they are mixed and deeply nested' do
    filtered_settings = SecureFilter.execute(data: {
                                               _secure_setting: 'hello',
                                               secure_setting:  'goodbye',
                                               secure_group:    {
                                                 _secure_nested_setting:  'movie',
                                                 insecure_nested_setting: 'dinner',
                                               },
                                             })

    expect(filtered_settings._secure_setting).to                      eql 'hello'
    expect(filtered_settings.secure_setting).to                       be_nil
    expect(filtered_settings.secure_group._secure_nested_setting).to  eql 'movie'
    expect(filtered_settings.secure_group.insecure_nested_setting).to be_nil
  end
end
end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
chamber-2.10.1 spec/lib/chamber/filters/secure_filter_spec.rb
chamber-2.10.0 spec/lib/chamber/filters/secure_filter_spec.rb
chamber-2.9.1 spec/lib/chamber/filters/secure_filter_spec.rb
chamber-2.9.0 spec/lib/chamber/filters/secure_filter_spec.rb