test/dreamback_test.rb in dreamback-0.0.4 vs test/dreamback_test.rb in dreamback-0.0.5

- old
+ new

@@ -1,9 +1,10 @@ require "rubygems" +require "json" require "test/unit" require File.expand_path('../../lib/dreamback/initializer', __FILE__) -require "json" +require File.expand_path('../../lib/dreamback/backup', __FILE__) # Used for testing private methods class Class def publicize_methods saved_private_instance_methods = self.private_instance_methods @@ -51,8 +52,80 @@ "days_to_keep": 7, "backup_server": "backup.dev" } EOS assert_equal settings_file, JSON.parse(settings_test, :symbolize_names => true) + end + + def test_time_machine_rotate + folders = [ + "dreamback.20120514", + "dreamback.20120513", + "dreamback.20120512", + "dreamback.20120511", + "dreamback.20120510", + "dreamback.20120509", + "dreamback.20120508", + "dreamback.20120501", + "dreamback.20120424", + "dreamback.20120413", + "dreamback.20120417", + "dreamback.20120411", + "dreamback.20120410", + "dreamback.20120403", + "dreamback.20120327", + "dreamback.20120325", + "dreamback.20120320", + "dreamback.20120321", + "dreamback.20120313", + "dreamback.20120312", + "dreamback.20120309", + "dreamback.20120308", + "dreamback.20120301", + "dreamback.20120227", + "dreamback.20120215", + "dreamback.20120207", + "dreamback.20120208" + ] + + folders_sorted = { + :keep=> + [ + "dreamback.20120207", + "dreamback.20120215", + "dreamback.20120227", + "dreamback.20120308", + "dreamback.20120312", + "dreamback.20120320", + "dreamback.20120327", + "dreamback.20120403", + "dreamback.20120410", + "dreamback.20120417", + "dreamback.20120424", + "dreamback.20120501", + "dreamback.20120508", + "dreamback.20120509", + "dreamback.20120510", + "dreamback.20120511", + "dreamback.20120512", + "dreamback.20120513", + "dreamback.20120514" + ], + :delete=> + [ + "dreamback.20120413", + "dreamback.20120411", + "dreamback.20120325", + "dreamback.20120321", + "dreamback.20120313", + "dreamback.20120309", + "dreamback.20120301", + "dreamback.20120208" + ] + } + + today = Date.strptime("20120514", "%Y%m%d") + + assert folders_sorted == Dreamback::Backup.rotate_time_machine(today, folders) end end \ No newline at end of file