dump 1.0.3 → 1.0.4

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.
Files changed (42) hide show
  1. checksums.yaml +9 -9
  2. data/.travis.yml +9 -6
  3. data/Gemfile +5 -1
  4. data/LICENSE.txt +1 -1
  5. data/README.markdown +7 -5
  6. data/dump.gemspec +2 -2
  7. data/lib/dump_rake/dump_reader.rb +2 -0
  8. data/spec/.tmignore +1 -0
  9. data/spec/cycle_spec.rb +22 -16
  10. data/spec/dummy-4.1/.gitignore +16 -0
  11. data/spec/dummy-4.1/config.ru +4 -0
  12. data/spec/dummy-4.1/config/application.rb +30 -0
  13. data/spec/dummy-4.1/config/boot.rb +4 -0
  14. data/spec/dummy-4.1/config/database.yml +25 -0
  15. data/spec/dummy-4.1/config/environment.rb +5 -0
  16. data/spec/dummy-4.1/config/environments/development.rb +28 -0
  17. data/spec/dummy-4.1/config/environments/production.rb +67 -0
  18. data/spec/dummy-4.1/config/environments/test.rb +39 -0
  19. data/spec/dummy-4.1/config/initializers/backtrace_silencers.rb +7 -0
  20. data/spec/dummy-4.1/config/initializers/cookies_serializer.rb +3 -0
  21. data/spec/dummy-4.1/config/initializers/filter_parameter_logging.rb +4 -0
  22. data/spec/dummy-4.1/config/initializers/inflections.rb +16 -0
  23. data/spec/dummy-4.1/config/initializers/mime_types.rb +4 -0
  24. data/spec/dummy-4.1/config/initializers/session_store.rb +3 -0
  25. data/spec/dummy-4.1/config/initializers/wrap_parameters.rb +14 -0
  26. data/spec/dummy-4.1/config/locales/en.yml +23 -0
  27. data/spec/dummy-4.1/config/routes.rb +56 -0
  28. data/spec/dummy-4.1/config/secrets.yml +22 -0
  29. data/spec/dummy-4.1/db/seeds.rb +7 -0
  30. data/spec/dummy-4.1/log/.keep +0 -0
  31. data/spec/lib/dump_rake/dump_reader_spec.rb +223 -181
  32. data/spec/lib/dump_rake/dump_spec.rb +78 -78
  33. data/spec/lib/dump_rake/dump_writer_spec.rb +110 -110
  34. data/spec/lib/dump_rake/env/filter_spec.rb +24 -24
  35. data/spec/lib/dump_rake/env_spec.rb +33 -33
  36. data/spec/lib/dump_rake/rails_root_spec.rb +6 -6
  37. data/spec/lib/dump_rake/table_manipulation_spec.rb +60 -60
  38. data/spec/lib/dump_rake_spec.rb +93 -93
  39. data/spec/recipes/dump_spec.rb +128 -128
  40. data/spec/tasks/assets_spec.rb +18 -18
  41. data/spec/tasks/dump_spec.rb +9 -9
  42. metadata +49 -7
@@ -15,9 +15,9 @@ describe DumpRake::Dump do
15
15
  end
16
16
 
17
17
  it "should not yield if file does not exist" do
18
- @yield_receiver.should_not_receive(:fire)
18
+ expect(@yield_receiver).not_to receive(:fire)
19
19
 
20
- File.should_receive(:open).and_return(nil)
20
+ expect(File).to receive(:open).and_return(nil)
21
21
 
22
22
  DumpRake::Dump.new('hello').lock do
23
23
  @yield_receiver.fire
@@ -25,13 +25,13 @@ describe DumpRake::Dump do
25
25
  end
26
26
 
27
27
  it "should not yield if file can not be locked" do
28
- @yield_receiver.should_not_receive(:fire)
28
+ expect(@yield_receiver).not_to receive(:fire)
29
29
 
30
30
  @file = double('file')
31
- @file.should_receive(:flock).with(File::LOCK_EX | File::LOCK_NB).and_return(nil)
32
- @file.should_receive(:flock).with(File::LOCK_UN)
33
- @file.should_receive(:close)
34
- File.should_receive(:open).and_return(@file)
31
+ expect(@file).to receive(:flock).with(File::LOCK_EX | File::LOCK_NB).and_return(nil)
32
+ expect(@file).to receive(:flock).with(File::LOCK_UN)
33
+ expect(@file).to receive(:close)
34
+ expect(File).to receive(:open).and_return(@file)
35
35
 
36
36
  DumpRake::Dump.new('hello').lock do
37
37
  @yield_receiver.fire
@@ -39,13 +39,13 @@ describe DumpRake::Dump do
39
39
  end
40
40
 
41
41
  it "should yield if file can not be locked" do
42
- @yield_receiver.should_receive(:fire)
42
+ expect(@yield_receiver).to receive(:fire)
43
43
 
44
44
  @file = double('file')
45
- @file.should_receive(:flock).with(File::LOCK_EX | File::LOCK_NB).and_return(true)
46
- @file.should_receive(:flock).with(File::LOCK_UN)
47
- @file.should_receive(:close)
48
- File.should_receive(:open).and_return(@file)
45
+ expect(@file).to receive(:flock).with(File::LOCK_EX | File::LOCK_NB).and_return(true)
46
+ expect(@file).to receive(:flock).with(File::LOCK_UN)
47
+ expect(@file).to receive(:close)
48
+ expect(File).to receive(:open).and_return(@file)
49
49
 
50
50
  DumpRake::Dump.new('hello').lock do
51
51
  @yield_receiver.fire
@@ -55,39 +55,39 @@ describe DumpRake::Dump do
55
55
 
56
56
  describe "new" do
57
57
  it "should init with path if String sent" do
58
- DumpRake::Dump.new('hello').path.should == Pathname('hello')
58
+ expect(DumpRake::Dump.new('hello').path).to eq(Pathname('hello'))
59
59
  end
60
60
 
61
61
  it "should init with path if Pathname sent" do
62
- DumpRake::Dump.new(Pathname('hello')).path.should == Pathname('hello')
62
+ expect(DumpRake::Dump.new(Pathname('hello')).path).to eq(Pathname('hello'))
63
63
  end
64
64
 
65
65
  describe "with options" do
66
66
  before do
67
67
  @time = double('time')
68
- @time.stub(:utc).and_return(@time)
69
- @time.stub(:strftime).and_return('19650414065945')
70
- Time.stub(:now).and_return(@time)
68
+ allow(@time).to receive(:utc).and_return(@time)
69
+ allow(@time).to receive(:strftime).and_return('19650414065945')
70
+ allow(Time).to receive(:now).and_return(@time)
71
71
  end
72
72
 
73
73
  it "should generate path with no options" do
74
- DumpRake::Dump.new.path.should == Pathname('19650414065945.tgz')
74
+ expect(DumpRake::Dump.new.path).to eq(Pathname('19650414065945.tgz'))
75
75
  end
76
76
 
77
77
  it "should generate with dir" do
78
- DumpRake::Dump.new(:dir => 'dump_dir').path.should == Pathname('dump_dir/19650414065945.tgz')
78
+ expect(DumpRake::Dump.new(:dir => 'dump_dir').path).to eq(Pathname('dump_dir/19650414065945.tgz'))
79
79
  end
80
80
 
81
81
  it "should generate path with description" do
82
- DumpRake::Dump.new(:dir => 'dump_dir', :desc => 'hello world').path.should == Pathname('dump_dir/19650414065945-hello world.tgz')
82
+ expect(DumpRake::Dump.new(:dir => 'dump_dir', :desc => 'hello world').path).to eq(Pathname('dump_dir/19650414065945-hello world.tgz'))
83
83
  end
84
84
 
85
85
  it "should generate path with tags" do
86
- DumpRake::Dump.new(:dir => 'dump_dir', :tags => ' mirror, hello world ').path.should == Pathname('dump_dir/19650414065945@hello world,mirror.tgz')
86
+ expect(DumpRake::Dump.new(:dir => 'dump_dir', :tags => ' mirror, hello world ').path).to eq(Pathname('dump_dir/19650414065945@hello world,mirror.tgz'))
87
87
  end
88
88
 
89
89
  it "should generate path with description and tags" do
90
- DumpRake::Dump.new(:dir => 'dump_dir', :desc => 'Anniversary backup', :tags => ' mirror, hello world ').path.should == Pathname('dump_dir/19650414065945-Anniversary backup@hello world,mirror.tgz')
90
+ expect(DumpRake::Dump.new(:dir => 'dump_dir', :desc => 'Anniversary backup', :tags => ' mirror, hello world ').path).to eq(Pathname('dump_dir/19650414065945-Anniversary backup@hello world,mirror.tgz'))
91
91
  end
92
92
  end
93
93
  end
@@ -97,25 +97,25 @@ describe DumpRake::Dump do
97
97
  def stub_glob
98
98
  paths = %w[123 345 567].map do |name|
99
99
  path = dump_path("#{name}.tgz")
100
- File.should_receive(:file?).with(path).at_least(1).and_return(true)
100
+ expect(File).to receive(:file?).with(path).at_least(1).and_return(true)
101
101
  path
102
102
  end
103
- Dir.stub(:[]).and_return(paths)
103
+ allow(Dir).to receive(:[]).and_return(paths)
104
104
  end
105
105
 
106
106
  it "should search for files in dump dir when asked for list" do
107
- Dir.should_receive(:[]).with(dump_path('*.tgz')).and_return([])
107
+ expect(Dir).to receive(:[]).with(dump_path('*.tgz')).and_return([])
108
108
  DumpRake::Dump.list
109
109
  end
110
110
 
111
111
  it "should return selves instances for each found file" do
112
112
  stub_glob
113
- DumpRake::Dump.list.all?{ |dump| dump.should be_a(DumpRake::Dump) }
113
+ DumpRake::Dump.list.all?{ |dump| expect(dump).to be_a(DumpRake::Dump) }
114
114
  end
115
115
 
116
116
  it "should return dumps with name containting :like" do
117
117
  stub_glob
118
- DumpRake::Dump.list(:like => '3').should == DumpRake::Dump.list.values_at(0, 1)
118
+ expect(DumpRake::Dump.list(:like => '3')).to eq(DumpRake::Dump.list.values_at(0, 1))
119
119
  end
120
120
  end
121
121
 
@@ -125,14 +125,14 @@ describe DumpRake::Dump do
125
125
  dumps_tags = [''] + %w[a a,d a,d,o a,d,s a,d,s,o a,o a,s a,s,o d d,o d,s d,s,o o s s,o z]
126
126
  paths = dumps_tags.each_with_index.map do |dump_tags, i|
127
127
  path = dump_path("196504140659#{10 + i}@#{dump_tags}.tgz")
128
- File.should_receive(:file?).with(path).at_least(1).and_return(true)
128
+ expect(File).to receive(:file?).with(path).at_least(1).and_return(true)
129
129
  path
130
130
  end
131
- Dir.stub(:[]).and_return(paths)
131
+ allow(Dir).to receive(:[]).and_return(paths)
132
132
  end
133
133
 
134
134
  it "should return all dumps if no tags send" do
135
- DumpRake::Dump.list(:tags => '').should == DumpRake::Dump.list
135
+ expect(DumpRake::Dump.list(:tags => '')).to eq(DumpRake::Dump.list)
136
136
  end
137
137
 
138
138
  {
@@ -147,7 +147,7 @@ describe DumpRake::Dump do
147
147
  '+d,+a' => [2, 3, 4, 5],
148
148
  }.each do |tags, ids|
149
149
  it "should return dumps filtered by #{tags}" do
150
- DumpRake::Dump.list(:tags => tags).should == DumpRake::Dump.list.values_at(*ids)
150
+ expect(DumpRake::Dump.list(:tags => tags)).to eq(DumpRake::Dump.list.values_at(*ids))
151
151
  end
152
152
  end
153
153
  end
@@ -155,7 +155,7 @@ describe DumpRake::Dump do
155
155
 
156
156
  describe "name" do
157
157
  it "should return file name" do
158
- new_dump("19650414065945.tgz").name.should == '19650414065945.tgz'
158
+ expect(new_dump("19650414065945.tgz").name).to eq('19650414065945.tgz')
159
159
  end
160
160
  end
161
161
 
@@ -171,121 +171,121 @@ describe DumpRake::Dump do
171
171
 
172
172
  %w[tmp tgz].each do |ext|
173
173
  it "should return empty results for dump with wrong name" do
174
- dump_name_parts("196504140659.#{ext}").should == [nil, '', [], nil]
175
- dump_name_parts("196504140659-lala.#{ext}").should == [nil, '', [], nil]
176
- dump_name_parts("196504140659@lala.#{ext}").should == [nil, '', [], nil]
177
- dump_name_parts("19650414065945.ops").should == [nil, '', [], nil]
174
+ expect(dump_name_parts("196504140659.#{ext}")).to eq([nil, '', [], nil])
175
+ expect(dump_name_parts("196504140659-lala.#{ext}")).to eq([nil, '', [], nil])
176
+ expect(dump_name_parts("196504140659@lala.#{ext}")).to eq([nil, '', [], nil])
177
+ expect(dump_name_parts("19650414065945.ops")).to eq([nil, '', [], nil])
178
178
  end
179
179
 
180
180
  it "should return tags for dump with tags" do
181
- dump_name_parts("19650414065945.#{ext}").should == [@time, '', [], ext]
182
- dump_name_parts("19650414065945- Hello world &&& .#{ext}").should == [@time, 'Hello world _', [], ext]
183
- dump_name_parts("19650414065945- Hello world &&& @ test , hello world , bad tag ~~~~.#{ext}").should == [@time, 'Hello world _', ['bad tag _', 'hello world', 'test'], ext]
184
- dump_name_parts("19650414065945@test, test , hello world , bad tag ~~~~.#{ext}").should == [@time, '', ['bad tag _', 'hello world', 'test'], ext]
185
- dump_name_parts("19650414065945-Hello world@test,super tag.#{ext}").should == [@time, 'Hello world', ['super tag', 'test'], ext]
181
+ expect(dump_name_parts("19650414065945.#{ext}")).to eq([@time, '', [], ext])
182
+ expect(dump_name_parts("19650414065945- Hello world &&& .#{ext}")).to eq([@time, 'Hello world _', [], ext])
183
+ expect(dump_name_parts("19650414065945- Hello world &&& @ test , hello world , bad tag ~~~~.#{ext}")).to eq([@time, 'Hello world _', ['bad tag _', 'hello world', 'test'], ext])
184
+ expect(dump_name_parts("19650414065945@test, test , hello world , bad tag ~~~~.#{ext}")).to eq([@time, '', ['bad tag _', 'hello world', 'test'], ext])
185
+ expect(dump_name_parts("19650414065945-Hello world@test,super tag.#{ext}")).to eq([@time, 'Hello world', ['super tag', 'test'], ext])
186
186
  end
187
187
  end
188
188
  end
189
189
 
190
190
  describe "path" do
191
191
  it "should return path" do
192
- new_dump("19650414065945.tgz").path.should == Pathname(File.join(DumpRake::RailsRoot, 'dump', "19650414065945.tgz"))
192
+ expect(new_dump("19650414065945.tgz").path).to eq(Pathname(File.join(DumpRake::RailsRoot, 'dump', "19650414065945.tgz")))
193
193
  end
194
194
  end
195
195
 
196
196
  describe "tgz_path" do
197
197
  it "should return path if extension is already tgz" do
198
- new_dump("19650414065945.tgz").tgz_path.should == new_dump("19650414065945.tgz").path
198
+ expect(new_dump("19650414065945.tgz").tgz_path).to eq(new_dump("19650414065945.tgz").path)
199
199
  end
200
200
 
201
201
  it "should return path with tgz extension" do
202
- new_dump("19650414065945.tmp").tgz_path.should == new_dump("19650414065945.tgz").path
202
+ expect(new_dump("19650414065945.tmp").tgz_path).to eq(new_dump("19650414065945.tgz").path)
203
203
  end
204
204
  end
205
205
 
206
206
  describe "tmp_path" do
207
207
  it "should return path if extension is already tmp" do
208
- new_dump("19650414065945.tmp").tmp_path.should == new_dump("19650414065945.tmp").path
208
+ expect(new_dump("19650414065945.tmp").tmp_path).to eq(new_dump("19650414065945.tmp").path)
209
209
  end
210
210
 
211
211
  it "should return path with tmp extension" do
212
- new_dump("19650414065945.tgz").tmp_path.should == new_dump("19650414065945.tmp").path
212
+ expect(new_dump("19650414065945.tgz").tmp_path).to eq(new_dump("19650414065945.tmp").path)
213
213
  end
214
214
  end
215
215
 
216
216
  describe "clean_description" do
217
217
  it "should shorten string to 50 chars and replace special symblos with '-'" do
218
- DumpRake::Dump.new('').send(:clean_description, 'Special Dump #12837192837 (before fixind *&^*&^ photos)').should == 'Special Dump #12837192837 (before fixind _ photos)'
219
- DumpRake::Dump.new('').send(:clean_description, "To#{'o' * 100} long description").should == "T#{'o' * 49}"
218
+ expect(DumpRake::Dump.new('').send(:clean_description, 'Special Dump #12837192837 (before fixind *&^*&^ photos)')).to eq('Special Dump #12837192837 (before fixind _ photos)')
219
+ expect(DumpRake::Dump.new('').send(:clean_description, "To#{'o' * 100} long description")).to eq("T#{'o' * 49}")
220
220
  end
221
221
 
222
222
  it "should accept non string" do
223
- DumpRake::Dump.new('').send(:clean_description, nil).should == ''
223
+ expect(DumpRake::Dump.new('').send(:clean_description, nil)).to eq('')
224
224
  end
225
225
  end
226
226
 
227
227
  describe "clean_tag" do
228
228
  it "should shorten string to 20 chars and replace special symblos with '-'" do
229
- DumpRake::Dump.new('').send(:clean_tag, 'Very special tag #12837192837 (fixind *&^*&^)').should == 'very special tag _12'
230
- DumpRake::Dump.new('').send(:clean_tag, "To#{'o' * 100} long tag").should == "t#{'o' * 19}"
229
+ expect(DumpRake::Dump.new('').send(:clean_tag, 'Very special tag #12837192837 (fixind *&^*&^)')).to eq('very special tag _12')
230
+ expect(DumpRake::Dump.new('').send(:clean_tag, "To#{'o' * 100} long tag")).to eq("t#{'o' * 19}")
231
231
  end
232
232
 
233
233
  it "should not allow '-' or '+' to be first symbol" do
234
- DumpRake::Dump.new('').send(:clean_tag, ' Very special tag').should == 'very special tag'
235
- DumpRake::Dump.new('').send(:clean_tag, '-Very special tag').should == 'very special tag'
236
- DumpRake::Dump.new('').send(:clean_tag, '-----------').should == ''
237
- DumpRake::Dump.new('').send(:clean_tag, '+Very special tag').should == '_very special tag'
238
- DumpRake::Dump.new('').send(:clean_tag, '+++++++++++').should == '_'
234
+ expect(DumpRake::Dump.new('').send(:clean_tag, ' Very special tag')).to eq('very special tag')
235
+ expect(DumpRake::Dump.new('').send(:clean_tag, '-Very special tag')).to eq('very special tag')
236
+ expect(DumpRake::Dump.new('').send(:clean_tag, '-----------')).to eq('')
237
+ expect(DumpRake::Dump.new('').send(:clean_tag, '+Very special tag')).to eq('_very special tag')
238
+ expect(DumpRake::Dump.new('').send(:clean_tag, '+++++++++++')).to eq('_')
239
239
  end
240
240
 
241
241
  it "should accept non string" do
242
- DumpRake::Dump.new('').send(:clean_tag, nil).should == ''
242
+ expect(DumpRake::Dump.new('').send(:clean_tag, nil)).to eq('')
243
243
  end
244
244
  end
245
245
 
246
246
  describe "clean_tags" do
247
247
  it "should split string and return uniq non blank sorted tags" do
248
- DumpRake::Dump.new('').send(:clean_tags, ' perfect tag , hello,Hello,this is (*^(*&').should == ['hello', 'perfect tag', 'this is _']
249
- DumpRake::Dump.new('').send(:clean_tags, "l#{'o' * 100}ng tag").should == ["l#{'o' * 19}"]
248
+ expect(DumpRake::Dump.new('').send(:clean_tags, ' perfect tag , hello,Hello,this is (*^(*&')).to eq(['hello', 'perfect tag', 'this is _'])
249
+ expect(DumpRake::Dump.new('').send(:clean_tags, "l#{'o' * 100}ng tag")).to eq(["l#{'o' * 19}"])
250
250
  end
251
251
 
252
252
  it "should accept non string" do
253
- DumpRake::Dump.new('').send(:clean_tags, nil).should == []
253
+ expect(DumpRake::Dump.new('').send(:clean_tags, nil)).to eq([])
254
254
  end
255
255
  end
256
256
 
257
257
  describe "get_filter_tags" do
258
258
  it "should split string and return uniq non blank sorted tags" do
259
- DumpRake::Dump.new('').send(:get_filter_tags, 'a,+b,+c,-d').should == {:simple => %w[a], :mandatory => %w[b c], :forbidden => %w[d]}
260
- DumpRake::Dump.new('').send(:get_filter_tags, ' a , + b , + c , - d ').should == {:simple => %w[a], :mandatory => %w[b c], :forbidden => %w[d]}
261
- DumpRake::Dump.new('').send(:get_filter_tags, ' a , + c , + b , - d ').should == {:simple => %w[a], :mandatory => %w[b c], :forbidden => %w[d]}
262
- DumpRake::Dump.new('').send(:get_filter_tags, ' a , + b , + , - ').should == {:simple => %w[a], :mandatory => %w[b], :forbidden => []}
263
- DumpRake::Dump.new('').send(:get_filter_tags, ' a , a , + b , + b , - d , - d ').should == {:simple => %w[a], :mandatory => %w[b], :forbidden => %w[d]}
264
- proc{ DumpRake::Dump.new('').send(:get_filter_tags, 'a,+a') }.should_not raise_error
265
- proc{ DumpRake::Dump.new('').send(:get_filter_tags, 'a,-a') }.should raise_error
266
- proc{ DumpRake::Dump.new('').send(:get_filter_tags, '+a,-a') }.should raise_error
259
+ expect(DumpRake::Dump.new('').send(:get_filter_tags, 'a,+b,+c,-d')).to eq({:simple => %w[a], :mandatory => %w[b c], :forbidden => %w[d]})
260
+ expect(DumpRake::Dump.new('').send(:get_filter_tags, ' a , + b , + c , - d ')).to eq({:simple => %w[a], :mandatory => %w[b c], :forbidden => %w[d]})
261
+ expect(DumpRake::Dump.new('').send(:get_filter_tags, ' a , + c , + b , - d ')).to eq({:simple => %w[a], :mandatory => %w[b c], :forbidden => %w[d]})
262
+ expect(DumpRake::Dump.new('').send(:get_filter_tags, ' a , + b , + , - ')).to eq({:simple => %w[a], :mandatory => %w[b], :forbidden => []})
263
+ expect(DumpRake::Dump.new('').send(:get_filter_tags, ' a , a , + b , + b , - d , - d ')).to eq({:simple => %w[a], :mandatory => %w[b], :forbidden => %w[d]})
264
+ expect{ DumpRake::Dump.new('').send(:get_filter_tags, 'a,+a') }.not_to raise_error
265
+ expect{ DumpRake::Dump.new('').send(:get_filter_tags, 'a,-a') }.to raise_error
266
+ expect{ DumpRake::Dump.new('').send(:get_filter_tags, '+a,-a') }.to raise_error
267
267
  end
268
268
 
269
269
  it "should accept non string" do
270
- DumpRake::Dump.new('').send(:get_filter_tags, nil).should == {:simple => [], :mandatory => [], :forbidden => []}
270
+ expect(DumpRake::Dump.new('').send(:get_filter_tags, nil)).to eq({:simple => [], :mandatory => [], :forbidden => []})
271
271
  end
272
272
  end
273
273
 
274
274
  describe "assets_root_link" do
275
275
  it "should create tem dir, chdir there, symlink rails app root to assets, yield and unlink assets ever if something raised" do
276
- Dir.should_receive(:mktmpdir).and_yield('/tmp/abc')
277
- Dir.should_receive(:chdir).with('/tmp/abc').and_yield
278
- File.should_receive(:symlink).with(DumpRake::RailsRoot, 'assets')
279
- File.should_receive(:unlink).with('assets')
280
- proc{
276
+ expect(Dir).to receive(:mktmpdir).and_yield('/tmp/abc')
277
+ expect(Dir).to receive(:chdir).with('/tmp/abc').and_yield
278
+ expect(File).to receive(:symlink).with(DumpRake::RailsRoot, 'assets')
279
+ expect(File).to receive(:unlink).with('assets')
280
+ expect{
281
281
  DumpRake::Dump.new('').send(:assets_root_link) do |dir, prefix|
282
- dir.should == '/tmp/abc'
283
- prefix.should == 'assets'
282
+ expect(dir).to eq('/tmp/abc')
283
+ expect(prefix).to eq('assets')
284
284
  @yielded = true
285
285
  raise 'just test'
286
286
  end
287
- }.should raise_error('just test')
288
- @yielded.should == true
287
+ }.to raise_error('just test')
288
+ expect(@yielded).to eq(true)
289
289
  end
290
290
  end
291
291
  end
@@ -7,21 +7,21 @@ describe DumpWriter do
7
7
  describe "create" do
8
8
  it "should create selves instance and open" do
9
9
  @dump = double('dump')
10
- @dump.should_receive(:open)
11
- DumpWriter.should_receive(:new).with('/abc/123.tmp').and_return(@dump)
10
+ expect(@dump).to receive(:open)
11
+ expect(DumpWriter).to receive(:new).with('/abc/123.tmp').and_return(@dump)
12
12
  DumpWriter.create('/abc/123.tmp')
13
13
  end
14
14
 
15
15
  it "should call dump subroutines" do
16
16
  @dump = double('dump')
17
- @dump.stub(:open).and_yield(@dump)
18
- @dump.stub(:silence).and_yield
19
- DumpWriter.stub(:new).and_return(@dump)
17
+ allow(@dump).to receive(:open).and_yield(@dump)
18
+ allow(@dump).to receive(:silence).and_yield
19
+ allow(DumpWriter).to receive(:new).and_return(@dump)
20
20
 
21
- @dump.should_receive(:write_schema).ordered
22
- @dump.should_receive(:write_tables).ordered
23
- @dump.should_receive(:write_assets).ordered
24
- @dump.should_receive(:write_config).ordered
21
+ expect(@dump).to receive(:write_schema).ordered
22
+ expect(@dump).to receive(:write_tables).ordered
23
+ expect(@dump).to receive(:write_assets).ordered
24
+ expect(@dump).to receive(:write_config).ordered
25
25
 
26
26
  DumpWriter.create('/abc/123.tmp')
27
27
  end
@@ -29,24 +29,24 @@ describe DumpWriter do
29
29
 
30
30
  describe "open" do
31
31
  it "should create dir for dump" do
32
- Zlib::GzipWriter.stub(:open)
33
- FileUtils.should_receive(:mkpath).with('/abc/def/ghi')
32
+ allow(Zlib::GzipWriter).to receive(:open)
33
+ expect(FileUtils).to receive(:mkpath).with('/abc/def/ghi')
34
34
  DumpWriter.new('/abc/def/ghi/123.tgz').open
35
35
  end
36
36
 
37
37
  it "should set stream to gzipped tar writer" do
38
- FileUtils.stub(:mkpath)
38
+ allow(FileUtils).to receive(:mkpath)
39
39
  @gzip = double('gzip')
40
40
  @stream = double('stream')
41
- Zlib::GzipWriter.should_receive(:open).with(Pathname("123.tgz")).and_yield(@gzip)
42
- Archive::Tar::Minitar::Output.should_receive(:open).with(@gzip).and_yield(@stream)
43
- @gzip.should_receive(:mtime=).with(Time.utc(2000))
41
+ expect(Zlib::GzipWriter).to receive(:open).with(Pathname("123.tgz")).and_yield(@gzip)
42
+ expect(Archive::Tar::Minitar::Output).to receive(:open).with(@gzip).and_yield(@stream)
43
+ expect(@gzip).to receive(:mtime=).with(Time.utc(2000))
44
44
 
45
45
  @dump = DumpWriter.new('123.tgz')
46
- @dump.should_receive(:lock).and_yield
46
+ expect(@dump).to receive(:lock).and_yield
47
47
  @dump.open do |dump|
48
- dump.should == @dump
49
- dump.stream.should == @stream
48
+ expect(dump).to eq(@dump)
49
+ expect(dump.stream).to eq(@stream)
50
50
  end
51
51
  end
52
52
  end
@@ -57,25 +57,25 @@ describe DumpWriter do
57
57
  @stream = double('stream', :tar => @tar)
58
58
  @config = {:tables => {}}
59
59
  @dump = DumpWriter.new('123.tgz')
60
- @dump.stub(:stream).and_return(@stream)
61
- @dump.stub(:config).and_return(@config)
62
- Progress.stub(:io).and_return(StringIO.new)
60
+ allow(@dump).to receive(:stream).and_return(@stream)
61
+ allow(@dump).to receive(:config).and_return(@config)
62
+ allow(Progress).to receive(:io).and_return(StringIO.new)
63
63
  end
64
64
 
65
65
  describe "create_file" do
66
66
  it "should create temp file, yield it for writing, create file in tar and write it there" do
67
67
  @temp = double('temp', :open => true, :length => 6, :read => 'qwfpgj')
68
- @temp.should_receive(:write).with('qwfpgj')
69
- @temp.stub(:eof?).and_return(false, true)
70
- Tempfile.should_receive(:open).and_yield(@temp)
68
+ expect(@temp).to receive(:write).with('qwfpgj')
69
+ allow(@temp).to receive(:eof?).and_return(false, true)
70
+ expect(Tempfile).to receive(:open).and_yield(@temp)
71
71
 
72
72
  @file = double('file')
73
- @file.should_receive(:write).with('qwfpgj')
73
+ expect(@file).to receive(:write).with('qwfpgj')
74
74
 
75
- @stream.tar.should_receive(:add_file_simple).with('abc/def.txt', :mode => 0100444, :size => 6).and_yield(@file)
75
+ expect(@stream.tar).to receive(:add_file_simple).with('abc/def.txt', :mode => 0100444, :size => 6).and_yield(@file)
76
76
 
77
77
  @dump.create_file('abc/def.txt') do |file|
78
- file.should == @temp
78
+ expect(file).to eq(@temp)
79
79
  file.write('qwfpgj')
80
80
  end
81
81
  end
@@ -83,40 +83,40 @@ describe DumpWriter do
83
83
 
84
84
  describe "write_schema" do
85
85
  it "should create file schema.rb" do
86
- @dump.should_receive(:create_file).with('schema.rb')
86
+ expect(@dump).to receive(:create_file).with('schema.rb')
87
87
  @dump.write_schema
88
88
  end
89
89
 
90
90
  it "should set ENV[SCHEMA] to path of returned file" do
91
91
  @file = double('file', :path => 'db/schema.rb')
92
- @dump.stub(:create_file).and_yield(@file)
93
- DumpRake::Env.should_receive(:with_env).with('SCHEMA' => 'db/schema.rb')
92
+ allow(@dump).to receive(:create_file).and_yield(@file)
93
+ expect(DumpRake::Env).to receive(:with_env).with('SCHEMA' => 'db/schema.rb')
94
94
  @dump.write_schema
95
95
  end
96
96
 
97
97
  it "should call rake task db:schema:dump" do
98
98
  @file = double('file', :path => 'db/schema.rb')
99
- @dump.stub(:create_file).and_yield(@file)
99
+ allow(@dump).to receive(:create_file).and_yield(@file)
100
100
  @task = double('task')
101
- Rake::Task.should_receive(:[]).with('db:schema:dump').and_return(@task)
102
- @task.should_receive(:invoke)
101
+ expect(Rake::Task).to receive(:[]).with('db:schema:dump').and_return(@task)
102
+ expect(@task).to receive(:invoke)
103
103
  @dump.write_schema
104
104
  end
105
105
  end
106
106
 
107
107
  describe "write_tables" do
108
108
  it "should verify connection" do
109
- @dump.stub(:tables_to_dump).and_return([])
110
- @dump.should_receive(:verify_connection)
109
+ allow(@dump).to receive(:tables_to_dump).and_return([])
110
+ expect(@dump).to receive(:verify_connection)
111
111
  @dump.write_tables
112
112
  end
113
113
 
114
114
  it "should call write_table for each table returned by tables_to_dump" do
115
- @dump.stub(:verify_connection)
116
- @dump.stub(:tables_to_dump).and_return(%w[first second])
115
+ allow(@dump).to receive(:verify_connection)
116
+ allow(@dump).to receive(:tables_to_dump).and_return(%w[first second])
117
117
 
118
- @dump.should_receive(:write_table).with('first')
119
- @dump.should_receive(:write_table).with('second')
118
+ expect(@dump).to receive(:write_table).with('first')
119
+ expect(@dump).to receive(:write_table).with('second')
120
120
 
121
121
  @dump.write_tables
122
122
  end
@@ -124,15 +124,15 @@ describe DumpWriter do
124
124
 
125
125
  describe "write_table" do
126
126
  it "should get row count and store it to config" do
127
- @dump.should_receive(:table_row_count).with('first').and_return(666)
128
- @dump.stub(:create_file)
127
+ expect(@dump).to receive(:table_row_count).with('first').and_return(666)
128
+ allow(@dump).to receive(:create_file)
129
129
  @dump.write_table('first')
130
- @config[:tables]['first'].should == 666
130
+ expect(@config[:tables]['first']).to eq(666)
131
131
  end
132
132
 
133
133
  it "should create_file" do
134
- @dump.stub(:table_row_count).and_return(666)
135
- @dump.should_receive(:create_file)
134
+ allow(@dump).to receive(:table_row_count).and_return(666)
135
+ expect(@dump).to receive(:create_file)
136
136
  @dump.write_table('first')
137
137
  end
138
138
 
@@ -142,24 +142,24 @@ describe DumpWriter do
142
142
  double('column', :name => 'name'),
143
143
  double('column', :name => 'associated_id')
144
144
  ]
145
- ActiveRecord::Base.connection.stub(:columns).and_return(@column_definitions)
145
+ allow(ActiveRecord::Base.connection).to receive(:columns).and_return(@column_definitions)
146
146
  @rows = [
147
147
  {'id' => 1, 'name' => 'a', 'associated_id' => 100},
148
148
  {'id' => 2, 'name' => 'b', 'associated_id' => 666},
149
149
  ]
150
150
 
151
151
  @file = double('file')
152
- @dump.stub(:table_row_count).and_return(666)
153
- @dump.stub(:create_file).and_yield(@file)
152
+ allow(@dump).to receive(:table_row_count).and_return(666)
153
+ allow(@dump).to receive(:create_file).and_yield(@file)
154
154
 
155
155
  column_names = @column_definitions.map(&:name).sort
156
- @file.should_receive(:write).with(Marshal.dump(column_names)).ordered
157
- each_tabler_row_yielder = @dump.should_receive(:each_table_row)
156
+ expect(Marshal).to receive(:dump).with(column_names, @file).ordered
157
+ each_tabler_row_yielder = expect(@dump).to receive(:each_table_row)
158
158
  @rows.each do |row|
159
159
  each_tabler_row_yielder.and_yield(row)
160
- @file.should_receive(:write).with(Marshal.dump(row.values_at(*column_names))).ordered
160
+ expect(Marshal).to receive(:dump).with(row.values_at(*column_names), @file).ordered
161
161
  @column_definitions.each do |column_definition|
162
- column_definition.should_receive(:type_cast).with(row[column_definition.name]).and_return(row[column_definition.name])
162
+ expect(column_definition).to receive(:type_cast).with(row[column_definition.name]).and_return(row[column_definition.name])
163
163
  end
164
164
  end
165
165
 
@@ -169,87 +169,87 @@ describe DumpWriter do
169
169
 
170
170
  describe "write_assets" do
171
171
  before do
172
- @dump.stub(:assets_root_link).and_yield('/tmp', 'assets')
172
+ allow(@dump).to receive(:assets_root_link).and_yield('/tmp', 'assets')
173
173
  end
174
174
 
175
175
  it "should call assets_to_dump" do
176
- @dump.should_receive(:assets_to_dump).and_return([])
176
+ expect(@dump).to receive(:assets_to_dump).and_return([])
177
177
  @dump.write_assets
178
178
  end
179
179
 
180
180
  it "should change root to rails app root" do
181
181
  @file = double('file')
182
- @dump.stub(:assets_to_dump).and_return(%w[images videos])
183
- @dump.stub(:create_file).and_yield(@file)
182
+ allow(@dump).to receive(:assets_to_dump).and_return(%w[images videos])
183
+ allow(@dump).to receive(:create_file).and_yield(@file)
184
184
 
185
- Dir.should_receive(:chdir).with(DumpRake::RailsRoot)
185
+ expect(Dir).to receive(:chdir).with(DumpRake::RailsRoot)
186
186
  @dump.write_assets
187
187
  end
188
188
 
189
189
  it "should put assets to config" do
190
190
  @file = double('file')
191
- @dump.stub(:assets_to_dump).and_return(%w[images/* videos])
192
- @dump.stub(:create_file).and_yield(@file)
193
- Dir.stub(:chdir).and_yield
191
+ allow(@dump).to receive(:assets_to_dump).and_return(%w[images/* videos])
192
+ allow(@dump).to receive(:create_file).and_yield(@file)
193
+ allow(Dir).to receive(:chdir).and_yield
194
194
  @tar = double('tar_writer')
195
- Archive::Tar::Minitar::Output.stub(:open).and_yield(@tar)
196
- Dir.stub(:[]).and_return([])
197
- Dir.should_receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
195
+ allow(Archive::Tar::Minitar::Output).to receive(:open).and_yield(@tar)
196
+ allow(Dir).to receive(:[]).and_return([])
197
+ expect(Dir).to receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
198
198
 
199
199
  @dump.write_assets
200
200
  counts = {:files => 0, :total => 0}
201
- @config[:assets].should == {'images/a' => counts, 'images/b' => counts, 'videos' => counts}
201
+ expect(@config[:assets]).to eq({'images/a' => counts, 'images/b' => counts, 'videos' => counts})
202
202
  end
203
203
 
204
204
  it "should use glob to find files" do
205
205
  @file = double('file')
206
- @dump.stub(:assets_to_dump).and_return(%w[images/* videos])
207
- @dump.stub(:create_file).and_yield(@file)
208
- Dir.stub(:chdir).and_yield
206
+ allow(@dump).to receive(:assets_to_dump).and_return(%w[images/* videos])
207
+ allow(@dump).to receive(:create_file).and_yield(@file)
208
+ allow(Dir).to receive(:chdir).and_yield
209
209
  @tar = double('tar_writer')
210
- Archive::Tar::Minitar::Output.stub(:open).and_yield(@tar)
210
+ allow(Archive::Tar::Minitar::Output).to receive(:open).and_yield(@tar)
211
211
 
212
- Dir.should_receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
213
- Dir.should_receive(:[]).with('images/a/**/*').and_return([])
214
- Dir.should_receive(:[]).with('images/b/**/*').and_return([])
215
- Dir.should_receive(:[]).with('videos/**/*').and_return([])
212
+ expect(Dir).to receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
213
+ expect(Dir).to receive(:[]).with('images/a/**/*').and_return([])
214
+ expect(Dir).to receive(:[]).with('images/b/**/*').and_return([])
215
+ expect(Dir).to receive(:[]).with('videos/**/*').and_return([])
216
216
 
217
217
  @dump.write_assets
218
218
  end
219
219
 
220
220
  it "should pack each file from assets_root_link" do
221
221
  @file = double('file')
222
- @dump.stub(:assets_to_dump).and_return(%w[images/* videos])
223
- @dump.stub(:create_file).and_yield(@file)
224
- Dir.stub(:chdir).and_yield
222
+ allow(@dump).to receive(:assets_to_dump).and_return(%w[images/* videos])
223
+ allow(@dump).to receive(:create_file).and_yield(@file)
224
+ allow(Dir).to receive(:chdir).and_yield
225
225
  @tar = double('tar_writer')
226
- Archive::Tar::Minitar::Output.stub(:open).and_yield(@tar)
226
+ allow(Archive::Tar::Minitar::Output).to receive(:open).and_yield(@tar)
227
227
 
228
- Dir.should_receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
229
- Dir.should_receive(:[]).with('images/a/**/*').and_return([])
230
- Dir.should_receive(:[]).with('images/b/**/*').and_return([])
231
- Dir.should_receive(:[]).with('videos/**/*').and_return([])
228
+ expect(Dir).to receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
229
+ expect(Dir).to receive(:[]).with('images/a/**/*').and_return([])
230
+ expect(Dir).to receive(:[]).with('images/b/**/*').and_return([])
231
+ expect(Dir).to receive(:[]).with('videos/**/*').and_return([])
232
232
 
233
- @dump.should_receive(:assets_root_link).exactly(3).times
233
+ expect(@dump).to receive(:assets_root_link).exactly(3).times
234
234
 
235
235
  @dump.write_assets
236
236
  end
237
237
 
238
238
  it "should pack each file" do
239
239
  @file = double('file')
240
- @dump.stub(:assets_to_dump).and_return(%w[images/* videos])
241
- @dump.stub(:create_file).and_yield(@file)
242
- Dir.stub(:chdir).and_yield
240
+ allow(@dump).to receive(:assets_to_dump).and_return(%w[images/* videos])
241
+ allow(@dump).to receive(:create_file).and_yield(@file)
242
+ allow(Dir).to receive(:chdir).and_yield
243
243
  @tar = double('tar_writer')
244
- Archive::Tar::Minitar::Output.stub(:open).and_yield(@tar)
244
+ allow(Archive::Tar::Minitar::Output).to receive(:open).and_yield(@tar)
245
245
 
246
- Dir.should_receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
247
- Dir.should_receive(:[]).with('images/a/**/*').and_return(%w[a.jpg b.jpg])
248
- Dir.should_receive(:[]).with('images/b/**/*').and_return(%w[c.jpg d.jpg])
249
- Dir.should_receive(:[]).with('videos/**/*').and_return(%w[a.mov b.mov])
246
+ expect(Dir).to receive(:[]).with(*%w[images/* videos]).and_return(%w[images/a images/b videos])
247
+ expect(Dir).to receive(:[]).with('images/a/**/*').and_return(%w[a.jpg b.jpg])
248
+ expect(Dir).to receive(:[]).with('images/b/**/*').and_return(%w[c.jpg d.jpg])
249
+ expect(Dir).to receive(:[]).with('videos/**/*').and_return(%w[a.mov b.mov])
250
250
 
251
251
  %w[a.jpg b.jpg c.jpg d.jpg a.mov b.mov].each do |file_name|
252
- Archive::Tar::Minitar.should_receive(:pack_file).with("assets/#{file_name}", @stream)
252
+ expect(Archive::Tar::Minitar).to receive(:pack_file).with("assets/#{file_name}", @stream)
253
253
  end
254
254
 
255
255
  @dump.write_assets
@@ -257,17 +257,17 @@ describe DumpWriter do
257
257
 
258
258
  it "should not raise if something fails when packing" do
259
259
  @file = double('file')
260
- @dump.stub(:assets_to_dump).and_return(%w[videos])
261
- @dump.stub(:create_file).and_yield(@file)
262
- Dir.stub(:chdir).and_yield
260
+ allow(@dump).to receive(:assets_to_dump).and_return(%w[videos])
261
+ allow(@dump).to receive(:create_file).and_yield(@file)
262
+ allow(Dir).to receive(:chdir).and_yield
263
263
  @tar = double('tar_writer')
264
- Archive::Tar::Minitar::Output.stub(:open).and_yield(@tar)
264
+ allow(Archive::Tar::Minitar::Output).to receive(:open).and_yield(@tar)
265
265
 
266
- Dir.should_receive(:[]).with(*%w[videos]).and_return(%w[videos])
267
- Dir.should_receive(:[]).with('videos/**/*').and_return(%w[a.mov b.mov])
266
+ expect(Dir).to receive(:[]).with(*%w[videos]).and_return(%w[videos])
267
+ expect(Dir).to receive(:[]).with('videos/**/*').and_return(%w[a.mov b.mov])
268
268
 
269
- Archive::Tar::Minitar.should_receive(:pack_file).with('assets/a.mov', @stream).and_raise('file not found')
270
- Archive::Tar::Minitar.should_receive(:pack_file).with('assets/b.mov', @stream)
269
+ expect(Archive::Tar::Minitar).to receive(:pack_file).with('assets/a.mov', @stream).and_raise('file not found')
270
+ expect(Archive::Tar::Minitar).to receive(:pack_file).with('assets/b.mov', @stream)
271
271
 
272
272
  grab_output {
273
273
  @dump.write_assets
@@ -278,16 +278,16 @@ describe DumpWriter do
278
278
 
279
279
  describe "write_config" do
280
280
  it "should create file config" do
281
- @dump.should_receive(:create_file).with('config')
281
+ expect(@dump).to receive(:create_file).with('config')
282
282
  @dump.write_config
283
283
  end
284
284
 
285
285
  it "should dump column names and values of each row" do
286
286
  @file = double('file')
287
- @dump.stub(:create_file).and_yield(@file)
287
+ allow(@dump).to receive(:create_file).and_yield(@file)
288
288
  @config.replace({:tables => {'first' => 1, 'second' => 2}, :assets => %w[images videos]})
289
289
 
290
- @file.should_receive(:write).with(Marshal.dump(@config))
290
+ expect(Marshal).to receive(:dump).with(@config, @file)
291
291
  @dump.write_config
292
292
  end
293
293
  end
@@ -295,33 +295,33 @@ describe DumpWriter do
295
295
  describe "assets_to_dump" do
296
296
  it "should call rake task assets" do
297
297
  @task = double('task')
298
- Rake::Task.should_receive(:[]).with('assets').and_return(@task)
299
- @task.should_receive(:invoke)
298
+ expect(Rake::Task).to receive(:[]).with('assets').and_return(@task)
299
+ expect(@task).to receive(:invoke)
300
300
  @dump.assets_to_dump
301
301
  end
302
302
 
303
303
  it "should return array of assets if separator is colon" do
304
304
  @task = double('task')
305
- Rake::Task.stub(:[]).and_return(@task)
306
- @task.stub(:invoke)
305
+ allow(Rake::Task).to receive(:[]).and_return(@task)
306
+ allow(@task).to receive(:invoke)
307
307
  DumpRake::Env.with_env(:assets => 'images:videos') do
308
- @dump.assets_to_dump.should == %w[images videos]
308
+ expect(@dump.assets_to_dump).to eq(%w[images videos])
309
309
  end
310
310
  end
311
311
 
312
312
  it "should return array of assets if separator is comma" do
313
313
  @task = double('task')
314
- Rake::Task.stub(:[]).and_return(@task)
315
- @task.stub(:invoke)
314
+ allow(Rake::Task).to receive(:[]).and_return(@task)
315
+ allow(@task).to receive(:invoke)
316
316
  DumpRake::Env.with_env(:assets => 'images,videos') do
317
- @dump.assets_to_dump.should == %w[images videos]
317
+ expect(@dump.assets_to_dump).to eq(%w[images videos])
318
318
  end
319
319
  end
320
320
 
321
321
  it "should return empty array if calling rake task assets raises an exception" do
322
- Rake::Task.stub(:[]).and_raise('task assets not found')
322
+ allow(Rake::Task).to receive(:[]).and_raise('task assets not found')
323
323
  DumpRake::Env.with_env(:assets => 'images:videos') do
324
- @dump.assets_to_dump.should == []
324
+ expect(@dump.assets_to_dump).to eq([])
325
325
  end
326
326
  end
327
327
  end