Sha256: c3e80393889c402c83812ad83c560d0fc24fd515aafd18e95107ffddf67d9c0a

Contents?: true

Size: 1.82 KB

Versions: 2

Compression:

Stored size: 1.82 KB

Contents

describe 'adapter_datamapper', broken: defined?(JRUBY_VERSION), adapter: :DataMapper, mysql: true do
  before :all do
    require 'dm-core'

    # DataMapper needs default repository to be setup
    DataMapper.setup(:default, adapter: :in_memory)
  end

  moneta_build do
    Moneta::Adapters::DataMapper.new(
      setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
      table: "adapter_datamapper"
    )
  end

  moneta_specs ADAPTER_SPECS.without_increment.with_values(:nil).without_values(:binary)

  it 'does not cross contaminate when storing' do
    first = Moneta::Adapters::DataMapper.new(
      setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
      table: "datamapper_first"
    )
    first.clear

    second = Moneta::Adapters::DataMapper.new(
      repository: :sample,
      setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
      table: "datamapper_second"
    )
    second.clear

    first['key'] = 'value'
    second['key'] = 'value2'

    first['key'].should == 'value'
    second['key'].should == 'value2'
  end

  it 'does not cross contaminate when deleting' do
    first = Moneta::Adapters::DataMapper.new(
      setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
      table: "datamapper_first"
    )
    first.clear

    second = Moneta::Adapters::DataMapper.new(
      repository: :sample,
      setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
      table: "datamapper_second"
    )
    second.clear

    first['key'] = 'value'
    second['key'] = 'value2'

    first.delete('key').should == 'value'
    first.key?('key').should be false
    second['key'].should == 'value2'
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
moneta-1.5.0 spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb
moneta-1.4.2 spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb