database_cleaner 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CONTRIBUTE.markdown +28 -0
- data/Gemfile.lock +182 -116
- data/History.rdoc +18 -1
- data/README.markdown +41 -4
- data/Rakefile +1 -17
- data/VERSION.yml +2 -3
- data/examples/Gemfile +17 -15
- data/examples/Gemfile.lock +182 -116
- data/examples/features/step_definitions/neo4j_steps.rb +23 -0
- data/examples/features/support/env.rb +0 -3
- data/examples/lib/mongoid_models.rb +1 -6
- data/examples/lib/neo4j_models.rb +17 -0
- data/examples/lib/sequel_models.rb +9 -0
- data/features/cleaning.feature +6 -0
- data/features/cleaning_default_strategy.feature +2 -0
- data/features/cleaning_multiple_dbs.feature +2 -0
- data/features/cleaning_multiple_orms.feature +19 -0
- data/features/step_definitions/database_cleaner_steps.rb +1 -1
- data/lib/database_cleaner/active_record/deletion.rb +30 -0
- data/lib/database_cleaner/active_record/truncation.rb +29 -1
- data/lib/database_cleaner/base.rb +4 -0
- data/lib/database_cleaner/configuration.rb +2 -0
- data/lib/database_cleaner/data_mapper/truncation.rb +5 -42
- data/lib/database_cleaner/mongo/base.rb +2 -0
- data/lib/database_cleaner/mongo/truncation.rb +40 -0
- data/lib/database_cleaner/mongoid/truncation.rb +8 -1
- data/lib/database_cleaner/moped/truncation_base.rb +1 -1
- data/lib/database_cleaner/neo4j/base.rb +58 -0
- data/lib/database_cleaner/neo4j/deletion.rb +16 -0
- data/lib/database_cleaner/neo4j/transaction.rb +35 -0
- data/lib/database_cleaner/neo4j/truncation.rb +9 -0
- data/lib/database_cleaner/sequel/base.rb +2 -2
- data/lib/database_cleaner/sequel/deletion.rb +47 -0
- data/lib/database_cleaner/sequel/transaction.rb +5 -5
- data/lib/database_cleaner/sequel/truncation.rb +41 -13
- data/spec/database_cleaner/active_record/truncation/mysql2_spec.rb +1 -3
- data/spec/database_cleaner/active_record/truncation/mysql_spec.rb +2 -4
- data/spec/database_cleaner/active_record/truncation/postgresql_spec.rb +13 -4
- data/spec/database_cleaner/active_record/truncation/sqlite3_spec.rb +0 -2
- data/spec/database_cleaner/base_spec.rb +48 -12
- data/spec/database_cleaner/configuration_spec.rb +5 -0
- data/spec/database_cleaner/data_mapper/truncation/sqlite3_spec.rb +41 -0
- data/spec/database_cleaner/moped/moped_examples.rb +6 -0
- data/spec/database_cleaner/moped/truncation_spec.rb +7 -2
- data/spec/database_cleaner/neo4j/base_spec.rb +36 -0
- data/spec/database_cleaner/neo4j/transaction_spec.rb +25 -0
- data/spec/database_cleaner/sequel/deletion_spec.rb +58 -0
- data/spec/database_cleaner/sequel/truncation_spec.rb +38 -0
- data/spec/support/active_record/mysql2_setup.rb +1 -2
- data/spec/support/active_record/mysql_setup.rb +1 -1
- data/spec/support/active_record/postgresql_setup.rb +1 -1
- data/spec/support/active_record/schema_setup.rb +8 -1
- data/spec/support/active_record/sqlite3_setup.rb +1 -1
- data/spec/support/data_mapper/schema_setup.rb +15 -0
- data/spec/support/data_mapper/sqlite3_setup.rb +39 -0
- metadata +136 -111
@@ -336,5 +336,10 @@ describe ::DatabaseCleaner do
|
|
336
336
|
subject.orm_module(:couch_potato).should eq DatabaseCleaner::CouchPotato
|
337
337
|
end
|
338
338
|
|
339
|
+
it "should return DatabaseCleaner::Neo4j for :neo4j" do
|
340
|
+
::DatabaseCleaner::Neo4j = double("nj module") unless defined? ::DatabaseCleaner::Neo4j
|
341
|
+
subject.orm_module(:neo4j).should eq DatabaseCleaner::Neo4j
|
342
|
+
end
|
343
|
+
|
339
344
|
end
|
340
345
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'dm-core'
|
3
|
+
require 'dm-sqlite-adapter'
|
4
|
+
require File.expand_path('../../../../support/data_mapper/sqlite3_setup', __FILE__)
|
5
|
+
require 'database_cleaner/data_mapper/truncation'
|
6
|
+
|
7
|
+
module DataMapper
|
8
|
+
module ConnectionAdapters
|
9
|
+
describe do
|
10
|
+
before(:all) { data_mapper_sqlite3_setup }
|
11
|
+
|
12
|
+
let(:adapter) { DataMapperSQLite3Adapter }
|
13
|
+
|
14
|
+
let(:connection) do
|
15
|
+
data_mapper_sqlite3_connection
|
16
|
+
end
|
17
|
+
|
18
|
+
before(:each) do
|
19
|
+
connection.truncate_tables(DataMapper::Model.descendants.map { |d| d.storage_names[:default] || d.name.underscore })
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "#truncate_table" do
|
23
|
+
it "truncates the table" do
|
24
|
+
2.times { DmUser.create }
|
25
|
+
|
26
|
+
connection.truncate_table(DmUser.storage_names[:default])
|
27
|
+
DmUser.count.should eq 0
|
28
|
+
end
|
29
|
+
|
30
|
+
it "resets AUTO_INCREMENT index of table" do
|
31
|
+
2.times { DmUser.create }
|
32
|
+
DmUser.destroy
|
33
|
+
|
34
|
+
connection.truncate_table(DmUser.storage_names[:default])
|
35
|
+
|
36
|
+
DmUser.create.id.should eq 1
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -39,12 +39,17 @@ module DatabaseCleaner
|
|
39
39
|
MopedTest::Gadget.new({:name => 'some gadget'}.merge(attrs)).save!
|
40
40
|
end
|
41
41
|
|
42
|
+
def create_system(attrs={})
|
43
|
+
MopedTest::System.new({:name => 'some system'}.merge(attrs)).save!
|
44
|
+
end
|
45
|
+
|
42
46
|
it "truncates all collections by default" do
|
43
47
|
create_widget
|
44
48
|
create_gadget
|
45
|
-
|
49
|
+
create_system
|
50
|
+
ensure_counts(MopedTest::Widget => 1, MopedTest::Gadget => 1, MopedTest::System => 1)
|
46
51
|
truncation.clean
|
47
|
-
ensure_counts(MopedTest::Widget => 0, MopedTest::Gadget => 0)
|
52
|
+
ensure_counts(MopedTest::Widget => 0, MopedTest::Gadget => 0, MopedTest::System => 0)
|
48
53
|
end
|
49
54
|
|
50
55
|
context "when collections are provided to the :only option" do
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'database_cleaner/neo4j/base'
|
3
|
+
require 'database_cleaner/shared_strategy'
|
4
|
+
|
5
|
+
module DatabaseCleaner
|
6
|
+
describe Neo4j do
|
7
|
+
it { should respond_to(:available_strategies) }
|
8
|
+
end
|
9
|
+
|
10
|
+
module Neo4j
|
11
|
+
class ExampleStrategy
|
12
|
+
include ::DatabaseCleaner::Neo4j::Base
|
13
|
+
end
|
14
|
+
|
15
|
+
describe ExampleStrategy do
|
16
|
+
|
17
|
+
it_should_behave_like "a generic strategy"
|
18
|
+
it { should respond_to(:db) }
|
19
|
+
it { should respond_to(:db=) }
|
20
|
+
|
21
|
+
it "should store my describe db" do
|
22
|
+
db_conf = {:connection => {:type => :server_db, :path => 'http://localhost:7474'}}
|
23
|
+
subject.db = db_conf
|
24
|
+
subject.db.should eq db_conf
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should default to nil" do
|
28
|
+
subject.db.should be_nil
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return default configuration" do
|
32
|
+
subject.database.should eq(:type => :server_db, :path => 'http://localhost:7475/')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
require 'neo4j-core'
|
3
|
+
require 'database_cleaner/neo4j/transaction'
|
4
|
+
|
5
|
+
module DatabaseCleaner
|
6
|
+
module Neo4j
|
7
|
+
|
8
|
+
describe Transaction do
|
9
|
+
before(:all) do
|
10
|
+
DatabaseCleaner[:neo4j, :connection => {:type => :server_db, :path => 'http://localhost:7474'}]
|
11
|
+
end
|
12
|
+
|
13
|
+
it_should_behave_like "a generic strategy"
|
14
|
+
it_should_behave_like "a generic transaction strategy"
|
15
|
+
|
16
|
+
describe "start" do
|
17
|
+
it "should start a transaction"
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "clean" do
|
21
|
+
it "should finish a transaction"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'database_cleaner/sequel/deletion'
|
3
|
+
require 'database_cleaner/shared_strategy'
|
4
|
+
require 'sequel'
|
5
|
+
require 'support/active_record/database_setup'
|
6
|
+
|
7
|
+
module DatabaseCleaner
|
8
|
+
module Sequel
|
9
|
+
describe Deletion do
|
10
|
+
it_should_behave_like "a generic strategy"
|
11
|
+
end
|
12
|
+
|
13
|
+
shared_examples 'a Sequel deletion strategy' do
|
14
|
+
let(:deletion) do
|
15
|
+
d = Deletion.new
|
16
|
+
d.db = db
|
17
|
+
d
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'when several tables have data' do
|
21
|
+
before(:each) do
|
22
|
+
db.create_table!(:precious_stones) { primary_key :id }
|
23
|
+
db.create_table!(:replaceable_trifles) { primary_key :id }
|
24
|
+
db.create_table!(:worthless_junk) { primary_key :id }
|
25
|
+
|
26
|
+
db[:precious_stones].insert
|
27
|
+
db[:replaceable_trifles].insert
|
28
|
+
db[:worthless_junk].insert
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'by default' do
|
32
|
+
it 'deletes all the tables' do
|
33
|
+
d = Deletion.new
|
34
|
+
d.db = db
|
35
|
+
d.clean
|
36
|
+
|
37
|
+
expect(db[:replaceable_trifles]).to have(0).rows
|
38
|
+
expect(db[:worthless_junk]).to have(0).rows
|
39
|
+
expect(db[:precious_stones]).to have(0).rows
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
supported_configurations = [
|
46
|
+
{ url: 'mysql:///', connection_options: db_config['mysql'] },
|
47
|
+
{ url: 'postgres:///', connection_options: db_config['postgres'] }
|
48
|
+
]
|
49
|
+
|
50
|
+
supported_configurations.each do |config|
|
51
|
+
describe "Sequel deletion (using a #{config[:url]} connection)" do
|
52
|
+
let(:db) { ::Sequel.connect(config[:url], config[:connection_options]) }
|
53
|
+
|
54
|
+
it_behaves_like 'a Sequel deletion strategy'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -130,6 +130,44 @@ module DatabaseCleaner
|
|
130
130
|
|
131
131
|
it_behaves_like 'a Sequel truncation strategy'
|
132
132
|
it_behaves_like 'a truncation strategy that resets autoincrement keys by default'
|
133
|
+
|
134
|
+
describe '#pre_count?' do
|
135
|
+
subject { Truncation.new.tap { |t| t.db = db } }
|
136
|
+
|
137
|
+
its(:pre_count?) { should eq false }
|
138
|
+
|
139
|
+
it 'should return true if @reset_id is set and non false or nil' do
|
140
|
+
subject.instance_variable_set(:"@pre_count", true)
|
141
|
+
subject.send(:pre_count?).should eq true
|
142
|
+
end
|
143
|
+
|
144
|
+
it 'should return false if @reset_id is set to false' do
|
145
|
+
subject.instance_variable_set(:"@pre_count", false)
|
146
|
+
subject.send(:pre_count?).should eq false
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe "relying on #pre_count_truncate_tables if asked to" do
|
151
|
+
subject { Truncation.new.tap { |t| t.db = db } }
|
152
|
+
|
153
|
+
it "should rely on #pre_count_truncate_tables if #pre_count? returns true" do
|
154
|
+
subject.instance_variable_set(:"@pre_count", true)
|
155
|
+
|
156
|
+
subject.should_not_receive(:truncate_tables)
|
157
|
+
subject.should_receive(:pre_count_truncate_tables)
|
158
|
+
|
159
|
+
subject.clean
|
160
|
+
end
|
161
|
+
|
162
|
+
it "should not rely on #pre_count_truncate_tables if #pre_count? return false" do
|
163
|
+
subject.instance_variable_set(:"@pre_count", false)
|
164
|
+
|
165
|
+
subject.should_not_receive(:pre_count_truncate_tables)
|
166
|
+
subject.should_receive(:truncate_tables)
|
167
|
+
|
168
|
+
subject.clean
|
169
|
+
end
|
170
|
+
end
|
133
171
|
end
|
134
172
|
end
|
135
173
|
half_supported_configurations.each do |config|
|
@@ -26,7 +26,7 @@ module MySQL2Helper
|
|
26
26
|
def active_record_mysql2_setup
|
27
27
|
create_db
|
28
28
|
establish_connection
|
29
|
-
|
29
|
+
active_record_load_schema
|
30
30
|
end
|
31
31
|
|
32
32
|
def active_record_mysql2_connection
|
@@ -37,4 +37,3 @@ end
|
|
37
37
|
RSpec.configure do |c|
|
38
38
|
c.include MySQL2Helper
|
39
39
|
end
|
40
|
-
|
@@ -1,10 +1,17 @@
|
|
1
|
-
def
|
1
|
+
def active_record_load_schema
|
2
2
|
ActiveRecord::Schema.define do
|
3
3
|
create_table :users, :force => true do |t|
|
4
4
|
t.integer :name
|
5
5
|
end
|
6
|
+
|
7
|
+
create_table :agents, :id => false, :force => true do |t|
|
8
|
+
t.integer :name
|
9
|
+
end
|
6
10
|
end
|
7
11
|
end
|
8
12
|
|
9
13
|
class ::User < ActiveRecord::Base
|
10
14
|
end
|
15
|
+
|
16
|
+
class ::Agent < ActiveRecord::Base
|
17
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'support/active_record/database_setup'
|
2
|
+
require 'support/data_mapper/schema_setup'
|
3
|
+
|
4
|
+
module DataMapperSQLite3Helper
|
5
|
+
|
6
|
+
puts "DataMapper #{DataMapper::VERSION}, sqlite3"
|
7
|
+
|
8
|
+
def config
|
9
|
+
db_config['sqlite3']
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_db
|
13
|
+
@encoding = config['encoding'] || ENV['CHARSET'] || 'utf8'
|
14
|
+
begin
|
15
|
+
establish_connection(config.merge('database' => 'sqlite3', 'schema_search_path' => 'public'))
|
16
|
+
rescue Exception => e
|
17
|
+
$stderr.puts e, *(e.backtrace)
|
18
|
+
$stderr.puts "Couldn't create database for #{config.inspect}"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def establish_connection(config = config)
|
23
|
+
DataMapper.setup(:default, config)
|
24
|
+
end
|
25
|
+
|
26
|
+
def data_mapper_sqlite3_setup
|
27
|
+
create_db
|
28
|
+
establish_connection
|
29
|
+
data_mapper_load_schema
|
30
|
+
end
|
31
|
+
|
32
|
+
def data_mapper_sqlite3_connection
|
33
|
+
DataMapper.repository.adapter
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
RSpec.configure do |c|
|
38
|
+
c.include(DataMapperSQLite3Helper)
|
39
|
+
end
|
metadata
CHANGED
@@ -1,350 +1,363 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: database_cleaner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ben Mabey
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-01-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
28
|
+
name: ruby-debug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ruby-debug19
|
32
43
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
44
|
requirements:
|
35
|
-
- -
|
45
|
+
- - ">="
|
36
46
|
- !ruby/object:Gem::Version
|
37
47
|
version: '0'
|
38
48
|
type: :development
|
39
49
|
prerelease: false
|
40
50
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
51
|
requirements:
|
43
|
-
- -
|
52
|
+
- - ">="
|
44
53
|
- !ruby/object:Gem::Version
|
45
54
|
version: '0'
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
56
|
+
name: bundler
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
61
|
version: '0'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - ">="
|
60
67
|
- !ruby/object:Gem::Version
|
61
68
|
version: '0'
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: json_pure
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- -
|
73
|
+
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '0'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- -
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: activerecord-mysql2-adapter
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
76
95
|
- !ruby/object:Gem::Version
|
77
96
|
version: '0'
|
78
97
|
- !ruby/object:Gem::Dependency
|
79
98
|
name: activerecord
|
80
99
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
100
|
requirements:
|
83
|
-
- -
|
101
|
+
- - ">="
|
84
102
|
- !ruby/object:Gem::Version
|
85
103
|
version: '0'
|
86
104
|
type: :development
|
87
105
|
prerelease: false
|
88
106
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
107
|
requirements:
|
91
|
-
- -
|
108
|
+
- - ">="
|
92
109
|
- !ruby/object:Gem::Version
|
93
110
|
version: '0'
|
94
111
|
- !ruby/object:Gem::Dependency
|
95
112
|
name: datamapper
|
96
113
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
114
|
requirements:
|
99
|
-
- -
|
115
|
+
- - ">="
|
100
116
|
- !ruby/object:Gem::Version
|
101
117
|
version: '0'
|
102
118
|
type: :development
|
103
119
|
prerelease: false
|
104
120
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
121
|
requirements:
|
107
|
-
- -
|
122
|
+
- - ">="
|
108
123
|
- !ruby/object:Gem::Version
|
109
124
|
version: '0'
|
110
125
|
- !ruby/object:Gem::Dependency
|
111
126
|
name: dm-migrations
|
112
127
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
135
|
requirements:
|
123
|
-
- -
|
136
|
+
- - ">="
|
124
137
|
- !ruby/object:Gem::Version
|
125
138
|
version: '0'
|
126
139
|
- !ruby/object:Gem::Dependency
|
127
140
|
name: dm-sqlite-adapter
|
128
141
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
142
|
requirements:
|
131
|
-
- -
|
143
|
+
- - ">="
|
132
144
|
- !ruby/object:Gem::Version
|
133
145
|
version: '0'
|
134
146
|
type: :development
|
135
147
|
prerelease: false
|
136
148
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
149
|
requirements:
|
139
|
-
- -
|
150
|
+
- - ">="
|
140
151
|
- !ruby/object:Gem::Version
|
141
152
|
version: '0'
|
142
153
|
- !ruby/object:Gem::Dependency
|
143
154
|
name: mongoid
|
144
155
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
156
|
requirements:
|
147
|
-
- -
|
157
|
+
- - ">="
|
148
158
|
- !ruby/object:Gem::Version
|
149
159
|
version: '0'
|
150
160
|
type: :development
|
151
161
|
prerelease: false
|
152
162
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
163
|
requirements:
|
155
|
-
- -
|
164
|
+
- - ">="
|
156
165
|
- !ruby/object:Gem::Version
|
157
166
|
version: '0'
|
158
167
|
- !ruby/object:Gem::Dependency
|
159
168
|
name: tzinfo
|
160
169
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
170
|
requirements:
|
163
|
-
- -
|
171
|
+
- - ">="
|
164
172
|
- !ruby/object:Gem::Version
|
165
173
|
version: '0'
|
166
174
|
type: :development
|
167
175
|
prerelease: false
|
168
176
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
177
|
requirements:
|
171
|
-
- -
|
178
|
+
- - ">="
|
172
179
|
- !ruby/object:Gem::Version
|
173
180
|
version: '0'
|
174
181
|
- !ruby/object:Gem::Dependency
|
175
182
|
name: mongo_ext
|
176
183
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
184
|
requirements:
|
179
|
-
- -
|
185
|
+
- - ">="
|
180
186
|
- !ruby/object:Gem::Version
|
181
187
|
version: '0'
|
182
188
|
type: :development
|
183
189
|
prerelease: false
|
184
190
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
191
|
requirements:
|
187
|
-
- -
|
192
|
+
- - ">="
|
188
193
|
- !ruby/object:Gem::Version
|
189
194
|
version: '0'
|
190
195
|
- !ruby/object:Gem::Dependency
|
191
196
|
name: bson_ext
|
192
197
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
198
|
requirements:
|
195
|
-
- -
|
199
|
+
- - ">="
|
196
200
|
- !ruby/object:Gem::Version
|
197
201
|
version: '0'
|
198
202
|
type: :development
|
199
203
|
prerelease: false
|
200
204
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
205
|
requirements:
|
203
|
-
- -
|
206
|
+
- - ">="
|
204
207
|
- !ruby/object:Gem::Version
|
205
208
|
version: '0'
|
206
209
|
- !ruby/object:Gem::Dependency
|
207
|
-
name:
|
210
|
+
name: mongoid-tree
|
208
211
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
212
|
requirements:
|
211
|
-
- -
|
213
|
+
- - ">="
|
212
214
|
- !ruby/object:Gem::Version
|
213
215
|
version: '0'
|
214
216
|
type: :development
|
215
217
|
prerelease: false
|
216
218
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
219
|
requirements:
|
219
|
-
- -
|
220
|
+
- - ">="
|
220
221
|
- !ruby/object:Gem::Version
|
221
222
|
version: '0'
|
222
223
|
- !ruby/object:Gem::Dependency
|
223
|
-
name:
|
224
|
+
name: mongo_mapper
|
224
225
|
requirement: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
226
|
requirements:
|
227
|
-
- -
|
227
|
+
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: '0'
|
230
230
|
type: :development
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
none: false
|
234
233
|
requirements:
|
235
|
-
- -
|
234
|
+
- - ">="
|
236
235
|
- !ruby/object:Gem::Version
|
237
236
|
version: '0'
|
238
237
|
- !ruby/object:Gem::Dependency
|
239
|
-
name:
|
238
|
+
name: moped
|
240
239
|
requirement: !ruby/object:Gem::Requirement
|
241
|
-
none: false
|
242
240
|
requirements:
|
243
|
-
- -
|
241
|
+
- - ">="
|
244
242
|
- !ruby/object:Gem::Version
|
245
|
-
version:
|
243
|
+
version: '0'
|
246
244
|
type: :development
|
247
245
|
prerelease: false
|
248
246
|
version_requirements: !ruby/object:Gem::Requirement
|
249
|
-
none: false
|
250
247
|
requirements:
|
251
|
-
- -
|
248
|
+
- - ">="
|
252
249
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
250
|
+
version: '0'
|
254
251
|
- !ruby/object:Gem::Dependency
|
255
|
-
name:
|
252
|
+
name: neo4j-core
|
256
253
|
requirement: !ruby/object:Gem::Requirement
|
257
|
-
none: false
|
258
254
|
requirements:
|
259
|
-
- -
|
255
|
+
- - ">="
|
260
256
|
- !ruby/object:Gem::Version
|
261
|
-
version:
|
257
|
+
version: '0'
|
262
258
|
type: :development
|
263
259
|
prerelease: false
|
264
260
|
version_requirements: !ruby/object:Gem::Requirement
|
265
|
-
none: false
|
266
261
|
requirements:
|
267
|
-
- -
|
262
|
+
- - ">="
|
268
263
|
- !ruby/object:Gem::Version
|
269
|
-
version:
|
264
|
+
version: '0'
|
270
265
|
- !ruby/object:Gem::Dependency
|
271
|
-
name:
|
266
|
+
name: couch_potato
|
272
267
|
requirement: !ruby/object:Gem::Requirement
|
273
|
-
none: false
|
274
268
|
requirements:
|
275
|
-
- -
|
269
|
+
- - ">="
|
276
270
|
- !ruby/object:Gem::Version
|
277
271
|
version: '0'
|
278
272
|
type: :development
|
279
273
|
prerelease: false
|
280
274
|
version_requirements: !ruby/object:Gem::Requirement
|
281
|
-
none: false
|
282
275
|
requirements:
|
283
|
-
- -
|
276
|
+
- - ">="
|
284
277
|
- !ruby/object:Gem::Version
|
285
278
|
version: '0'
|
286
279
|
- !ruby/object:Gem::Dependency
|
287
|
-
name:
|
280
|
+
name: sequel
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - "~>"
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: 3.21.0
|
286
|
+
type: :development
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - "~>"
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: 3.21.0
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: mysql
|
288
295
|
requirement: !ruby/object:Gem::Requirement
|
289
|
-
none: false
|
290
296
|
requirements:
|
291
|
-
- -
|
297
|
+
- - "~>"
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: 2.8.1
|
300
|
+
type: :development
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - "~>"
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: 2.8.1
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: mysql2
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ">="
|
292
312
|
- !ruby/object:Gem::Version
|
293
313
|
version: '0'
|
294
314
|
type: :development
|
295
315
|
prerelease: false
|
296
316
|
version_requirements: !ruby/object:Gem::Requirement
|
297
|
-
none: false
|
298
317
|
requirements:
|
299
|
-
- -
|
318
|
+
- - ">="
|
300
319
|
- !ruby/object:Gem::Version
|
301
320
|
version: '0'
|
302
321
|
- !ruby/object:Gem::Dependency
|
303
|
-
name:
|
322
|
+
name: pg
|
304
323
|
requirement: !ruby/object:Gem::Requirement
|
305
|
-
none: false
|
306
324
|
requirements:
|
307
|
-
- -
|
325
|
+
- - ">="
|
308
326
|
- !ruby/object:Gem::Version
|
309
327
|
version: '0'
|
310
328
|
type: :development
|
311
329
|
prerelease: false
|
312
330
|
version_requirements: !ruby/object:Gem::Requirement
|
313
|
-
none: false
|
314
331
|
requirements:
|
315
|
-
- -
|
332
|
+
- - ">="
|
316
333
|
- !ruby/object:Gem::Version
|
317
334
|
version: '0'
|
318
335
|
- !ruby/object:Gem::Dependency
|
319
336
|
name: ohm
|
320
337
|
requirement: !ruby/object:Gem::Requirement
|
321
|
-
none: false
|
322
338
|
requirements:
|
323
|
-
- - ~>
|
339
|
+
- - "~>"
|
324
340
|
- !ruby/object:Gem::Version
|
325
341
|
version: 0.1.3
|
326
342
|
type: :development
|
327
343
|
prerelease: false
|
328
344
|
version_requirements: !ruby/object:Gem::Requirement
|
329
|
-
none: false
|
330
345
|
requirements:
|
331
|
-
- - ~>
|
346
|
+
- - "~>"
|
332
347
|
- !ruby/object:Gem::Version
|
333
348
|
version: 0.1.3
|
334
349
|
- !ruby/object:Gem::Dependency
|
335
350
|
name: guard-rspec
|
336
351
|
requirement: !ruby/object:Gem::Requirement
|
337
|
-
none: false
|
338
352
|
requirements:
|
339
|
-
- -
|
353
|
+
- - ">="
|
340
354
|
- !ruby/object:Gem::Version
|
341
355
|
version: '0'
|
342
356
|
type: :development
|
343
357
|
prerelease: false
|
344
358
|
version_requirements: !ruby/object:Gem::Requirement
|
345
|
-
none: false
|
346
359
|
requirements:
|
347
|
-
- -
|
360
|
+
- - ">="
|
348
361
|
- !ruby/object:Gem::Version
|
349
362
|
version: '0'
|
350
363
|
description: Strategies for cleaning databases. Can be used to ensure a clean state
|
@@ -357,10 +370,13 @@ extra_rdoc_files:
|
|
357
370
|
- README.markdown
|
358
371
|
- TODO
|
359
372
|
files:
|
373
|
+
- CONTRIBUTE.markdown
|
360
374
|
- Gemfile.lock
|
361
375
|
- History.rdoc
|
376
|
+
- LICENSE
|
362
377
|
- README.markdown
|
363
378
|
- Rakefile
|
379
|
+
- TODO
|
364
380
|
- VERSION.yml
|
365
381
|
- cucumber.yml
|
366
382
|
- examples/Gemfile
|
@@ -376,6 +392,7 @@ files:
|
|
376
392
|
- examples/features/step_definitions/datamapper_steps.rb
|
377
393
|
- examples/features/step_definitions/mongoid_steps.rb
|
378
394
|
- examples/features/step_definitions/mongomapper_steps.rb
|
395
|
+
- examples/features/step_definitions/neo4j_steps.rb
|
379
396
|
- examples/features/step_definitions/translation_steps.rb
|
380
397
|
- examples/features/support/env.rb
|
381
398
|
- examples/lib/activerecord_models.rb
|
@@ -383,8 +400,10 @@ files:
|
|
383
400
|
- examples/lib/datamapper_models.rb
|
384
401
|
- examples/lib/mongoid_models.rb
|
385
402
|
- examples/lib/mongomapper_models.rb
|
403
|
+
- examples/lib/neo4j_models.rb
|
386
404
|
- examples/lib/ohm_models.rb
|
387
405
|
- examples/lib/redis_models.rb
|
406
|
+
- examples/lib/sequel_models.rb
|
388
407
|
- features/cleaning.feature
|
389
408
|
- features/cleaning_default_strategy.feature
|
390
409
|
- features/cleaning_multiple_dbs.feature
|
@@ -420,11 +439,16 @@ files:
|
|
420
439
|
- lib/database_cleaner/moped/base.rb
|
421
440
|
- lib/database_cleaner/moped/truncation.rb
|
422
441
|
- lib/database_cleaner/moped/truncation_base.rb
|
442
|
+
- lib/database_cleaner/neo4j/base.rb
|
443
|
+
- lib/database_cleaner/neo4j/deletion.rb
|
444
|
+
- lib/database_cleaner/neo4j/transaction.rb
|
445
|
+
- lib/database_cleaner/neo4j/truncation.rb
|
423
446
|
- lib/database_cleaner/null_strategy.rb
|
424
447
|
- lib/database_cleaner/ohm/truncation.rb
|
425
448
|
- lib/database_cleaner/redis/base.rb
|
426
449
|
- lib/database_cleaner/redis/truncation.rb
|
427
450
|
- lib/database_cleaner/sequel/base.rb
|
451
|
+
- lib/database_cleaner/sequel/deletion.rb
|
428
452
|
- lib/database_cleaner/sequel/transaction.rb
|
429
453
|
- lib/database_cleaner/sequel/truncation.rb
|
430
454
|
- spec/database_cleaner/active_record/base_spec.rb
|
@@ -440,6 +464,7 @@ files:
|
|
440
464
|
- spec/database_cleaner/couch_potato/truncation_spec.rb
|
441
465
|
- spec/database_cleaner/data_mapper/base_spec.rb
|
442
466
|
- spec/database_cleaner/data_mapper/transaction_spec.rb
|
467
|
+
- spec/database_cleaner/data_mapper/truncation/sqlite3_spec.rb
|
443
468
|
- spec/database_cleaner/data_mapper/truncation_spec.rb
|
444
469
|
- spec/database_cleaner/generic/base_spec.rb
|
445
470
|
- spec/database_cleaner/generic/truncation_spec.rb
|
@@ -450,10 +475,13 @@ files:
|
|
450
475
|
- spec/database_cleaner/mongo_mapper/truncation_spec.rb
|
451
476
|
- spec/database_cleaner/moped/moped_examples.rb
|
452
477
|
- spec/database_cleaner/moped/truncation_spec.rb
|
478
|
+
- spec/database_cleaner/neo4j/base_spec.rb
|
479
|
+
- spec/database_cleaner/neo4j/transaction_spec.rb
|
453
480
|
- spec/database_cleaner/ohm/truncation_spec.rb
|
454
481
|
- spec/database_cleaner/redis/base_spec.rb
|
455
482
|
- spec/database_cleaner/redis/truncation_spec.rb
|
456
483
|
- spec/database_cleaner/sequel/base_spec.rb
|
484
|
+
- spec/database_cleaner/sequel/deletion_spec.rb
|
457
485
|
- spec/database_cleaner/sequel/transaction_spec.rb
|
458
486
|
- spec/database_cleaner/sequel/truncation/sqlite3_spec.rb
|
459
487
|
- spec/database_cleaner/sequel/truncation_spec.rb
|
@@ -466,34 +494,31 @@ files:
|
|
466
494
|
- spec/support/active_record/postgresql_setup.rb
|
467
495
|
- spec/support/active_record/schema_setup.rb
|
468
496
|
- spec/support/active_record/sqlite3_setup.rb
|
469
|
-
-
|
470
|
-
-
|
497
|
+
- spec/support/data_mapper/schema_setup.rb
|
498
|
+
- spec/support/data_mapper/sqlite3_setup.rb
|
471
499
|
homepage: http://github.com/bmabey/database_cleaner
|
472
500
|
licenses: []
|
501
|
+
metadata: {}
|
473
502
|
post_install_message:
|
474
503
|
rdoc_options: []
|
475
504
|
require_paths:
|
476
505
|
- lib
|
477
506
|
required_ruby_version: !ruby/object:Gem::Requirement
|
478
|
-
none: false
|
479
507
|
requirements:
|
480
|
-
- -
|
508
|
+
- - ">="
|
481
509
|
- !ruby/object:Gem::Version
|
482
510
|
version: '0'
|
483
|
-
segments:
|
484
|
-
- 0
|
485
|
-
hash: 2066839847000143499
|
486
511
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
487
|
-
none: false
|
488
512
|
requirements:
|
489
|
-
- -
|
513
|
+
- - ">="
|
490
514
|
- !ruby/object:Gem::Version
|
491
515
|
version: '0'
|
492
516
|
requirements: []
|
493
517
|
rubyforge_project:
|
494
|
-
rubygems_version:
|
518
|
+
rubygems_version: 2.4.5
|
495
519
|
signing_key:
|
496
|
-
specification_version:
|
520
|
+
specification_version: 4
|
497
521
|
summary: Strategies for cleaning databases. Can be used to ensure a clean state for
|
498
522
|
testing.
|
499
523
|
test_files: []
|
524
|
+
has_rdoc:
|