Sha256: a2ddaeb9272c43511ac687d5d03c29001dd2b59526796730828b22e9c226f3e6

Contents?: true

Size: 1.08 KB

Versions: 9

Compression:

Stored size: 1.08 KB

Contents

describe 'fallback', proxy: :Fallback do
  context 'when the adapter is working' do
    moneta_build do
      Moneta.build do
        use :Fallback
        adapter :Memory
      end
    end

    moneta_specs STANDARD_SPECS.without_transform.returnsame.without_persist.with_each_key
  end

  context 'when the adapter is broken' do
    moneta_build do
      Moneta.build do
        use :Fallback #, rescue: [IOError, NoMethodError]
        adapter(Class.new do
          include Moneta::Defaults

          def load(key, options = {})
            raise IOError, "deliberate error for load"
          end

          def store(key, value, options = {})
            raise IOError, "deliberate error for store"
          end

          def delete(key, options = {})
            raise IOError, "deliberate error for delete"
          end

          def clear(options = {})
            raise IOError, "deliberate error for clear"
          end
        end.new)
      end
    end

    # Null adapter behaviour
    moneta_specs MonetaSpecs.new(specs: [:null, :not_increment, :not_create, :not_persist])
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
moneta-1.5.2 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.5.1 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.5.0 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.4.2 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.4.1 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.4.0 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.3.0 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.2.1 spec/moneta/proxies/fallback/fallback_spec.rb
moneta-1.2.0 spec/moneta/proxies/fallback/fallback_spec.rb