discourse/spec/support/backups_helpers.rb

30 lines
724 B
Ruby

# frozen_string_literal: true
module BackupsHelpers
def setup_local_backups
root_directory = Dir.mktmpdir
SiteSetting.backup_location = BackupLocationSiteSetting::LOCAL
root_directory
end
def teardown_local_backups(root_directory:)
FileUtils.remove_dir(root_directory, true)
end
def create_local_backup_file(root_directory:, db_name:, filename:, last_modified:, size_in_bytes:)
path = File.join(root_directory, db_name)
Dir.mkdir(path) unless Dir.exist?(path)
path = File.join(path, filename)
return if File.exist?(path)
FileUtils.touch(path)
File.truncate(path, size_in_bytes)
time = Time.parse(last_modified)
File.utime(time, time, path)
path
end
end