Sha256: b7ed23c90a1618ce525fd512b446c2234447ddfbde28fcfb4771b725b749b710
Contents?: true
Size: 1.61 KB
Versions: 3
Compression:
Stored size: 1.61 KB
Contents
require 'spec_helper' require 'fileutils' include FileUtils describe 'tar backup' do before(:all) do # need both local and instance vars # instance variables are used in tests # local variables are used in the backup definition (instance vars can't be seen) @root = root = 'tmp/cleanup_example' # clean state rm_rf @root mkdir_p @root # create source tree @src = src = "#{@root}/src" mkdir_p src File.open(qwe = "#{@src}/qwe", 'w') {|f| f.write('qwe') } @dst = dst = "#{@root}/backup" mkdir_p "#{@dst}/archive" @now = Time.now @timestamp = @now.strftime('%y%m%d-%H%M') stub(Time).now {@now} # Freeze cp qwe, "#{dst}/archive/archive-foo.000001.tar.gz" cp qwe, "#{dst}/archive/archive-foo.000002.tar.gz" cp qwe, "#{dst}/archive/archive-foobar.000001.tar.gz" cp qwe, "#{dst}/archive/archive-foobar.000002.tar.gz" config = WebTranslateIt::Safe.safe do local :path => "#{dst}/:kind" tar do keep :local => 1 # only leave the latest archive :foo do files src end end end WebTranslateIt::Safe.process config @backup = "#{dst}/archive/archive-foo.#{@timestamp}.tar.gz" end it 'should create backup file' do File.exist?(@backup).should be true end it 'should remove old backups' do Dir["#{@dst}/archive/archive-foo.*"].should == [@backup] end it 'should NOT remove backups with base having same prefix' do Dir["#{@dst}/archive/archive-foobar.*"].sort.should == ["#{@dst}/archive/archive-foobar.000001.tar.gz", "#{@dst}/archive/archive-foobar.000002.tar.gz"] end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
webtranslateit-safe-0.4.2 | spec/integration/cleanup_spec.rb |
webtranslateit-safe-0.4.1 | spec/integration/cleanup_spec.rb |
webtranslateit-safe-0.4.0 | spec/integration/cleanup_spec.rb |