fix all the rspecs

This commit is contained in:
Christian Mehlmauer
2014-12-15 13:12:19 +01:00
parent 6654f446a4
commit d988b6ccbf
2 changed files with 11 additions and 10 deletions

View File

@@ -12,14 +12,14 @@ require 'yaml'
require 'fileutils'
class CacheFileStore
attr_reader :storage_path, :serializer
attr_reader :storage_path, :cache_dir, :serializer
# The serializer must have the 2 methods .load and .dump
# (Marshal and YAML have them)
# YAML is Human Readable, contrary to Marshal which store in a binary format
# Marshal does not need any "require"
def initialize(storage_path, serializer = Marshal)
@storage_dir = File.expand_path(storage_path)
@cache_dir = File.expand_path(storage_path)
@storage_path = File.expand_path(File.join(storage_path, storage_dir))
@serializer = serializer
@@ -32,7 +32,7 @@ class CacheFileStore
def clean
# clean old directories
Dir[File.join(@storage_dir, '*')].each do |f|
Dir[File.join(@cache_dir, '*')].each do |f|
if File.directory?(f)
# delete directory if create time is older than 4 hours
FileUtils.rm_rf(f) if File.mtime(f) < (Time.now - (60*240))

View File

@@ -30,14 +30,15 @@ describe CacheFileStore do
describe '#clean' do
it "should remove all files from the cache dir (#{@cache_dir}" do
# let's create some files into the directory first
(0..5).each do |i|
File.new(@cache.storage_path + "/file_#{i}.txt", File::CREAT)
end
expect(count_files_in_dir(@cache.storage_path, 'file_*.txt')).to eq 6
# clean is executed by other tests before
before = count_files_in_dir(@cache.cache_dir)
test_dir = File.expand_path("#{@cache.cache_dir}/test")
Dir.mkdir test_dir
#change the modification date
%x[ touch -t 200701310846.26 #{test_dir} ]
expect(count_files_in_dir(@cache.cache_dir)).to eq (before + 1)
@cache.clean
expect(count_files_in_dir(@cache.storage_path)).to eq 0
expect(count_files_in_dir(@cache.cache_dir)).to eq before
end
end