Added save and destroy with cache tests.

This commit is contained in:
COLA@Redminetest 2017-01-15 19:55:39 +01:00 committed by Carl-Oskar Larsson
parent 75a443dac9
commit dd73aade58
3 changed files with 130 additions and 3 deletions

View File

@ -25,11 +25,15 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
:member_roles, :enabled_modules, :enumerations, :dmsf_locks :member_roles, :enabled_modules, :enumerations, :dmsf_locks
def setup def setup
@revision5 = DmsfFileRevision.find_by_id 5 @revision1 = DmsfFileRevision.find_by_id 1
@revision2 = DmsfFileRevision.find_by_id 2
@revision5 = DmsfFileRevision.find_by_id 5
end end
def test_truth def test_truth
assert_kind_of DmsfFileRevision, @revision5 assert_kind_of DmsfFileRevision, @revision1
assert_kind_of DmsfFileRevision, @revision2
assert_kind_of DmsfFileRevision, @revision5
end end
def test_delete_restore def test_delete_restore
@ -49,5 +53,38 @@ class DmsfFileRevisionTest < RedmineDmsf::Test::UnitTest
def test_create_digest def test_create_digest
assert_equal @revision5.create_digest, 0, "MD5 should be 0, if the file is missing" assert_equal @revision5.create_digest, 0, "MD5 should be 0, if the file is missing"
end end
def test_save_and_destroy_with_cache
RedmineDmsf::Webdav::Cache.init_testcache
# save
cache_key = @revision1.propfind_cache_key
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@revision1.save
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.delete("#{cache_key}.invalid")
# destroy
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@revision1.destroy
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
# save!
cache_key = @revision2.propfind_cache_key
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@revision2.save!
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.init_nullcache
end
end end

View File

@ -35,6 +35,7 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest
@file3 = DmsfFile.find_by_id 3 @file3 = DmsfFile.find_by_id 3
@file4 = DmsfFile.find_by_id 4 @file4 = DmsfFile.find_by_id 4
@file5 = DmsfFile.find_by_id 5 @file5 = DmsfFile.find_by_id 5
@file6 = DmsfFile.find_by_id 6
User.current = nil User.current = nil
end end
@ -47,6 +48,7 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest
assert_kind_of DmsfFile, @file3 assert_kind_of DmsfFile, @file3
assert_kind_of DmsfFile, @file4 assert_kind_of DmsfFile, @file4
assert_kind_of DmsfFile, @file5 assert_kind_of DmsfFile, @file5
assert_kind_of DmsfFile, @file6
end end
def test_project_file_count_differs_from_project_visibility_count def test_project_file_count_differs_from_project_visibility_count
@ -134,5 +136,47 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest
assert_equal 0, @file4.referenced_links.count assert_equal 0, @file4.referenced_links.count
@file4.dmsf_folder.lock! @file4.dmsf_folder.lock!
end end
def test_save_and_destroy_with_cache
RedmineDmsf::Webdav::Cache.init_testcache
# save
cache_key = @file5.propfind_cache_key
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@file5.save
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.delete("#{cache_key}.invalid")
# destroy
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@file5.destroy
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
# save!
cache_key = @file6.propfind_cache_key
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@file6.save!
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.delete("#{cache_key}.invalid")
# destroy!
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@file6.destroy!
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.init_nullcache
end
end end

View File

@ -25,10 +25,14 @@ class DmsfFolderTest < RedmineDmsf::Test::UnitTest
fixtures :projects, :users, :email_addresses, :dmsf_folders, :roles, :members, :member_roles fixtures :projects, :users, :email_addresses, :dmsf_folders, :roles, :members, :member_roles
def setup def setup
@folder4 = DmsfFolder.find_by_id 4
@folder5 = DmsfFolder.find_by_id 5
@folder6 = DmsfFolder.find_by_id 6 @folder6 = DmsfFolder.find_by_id 6
end end
def test_truth def test_truth
assert_kind_of DmsfFolder, @folder4
assert_kind_of DmsfFolder, @folder5
assert_kind_of DmsfFolder, @folder6 assert_kind_of DmsfFolder, @folder6
end end
@ -96,5 +100,47 @@ class DmsfFolderTest < RedmineDmsf::Test::UnitTest
assert_equal DmsfFolder.get_column_position('version_calculated'), 11, assert_equal DmsfFolder.get_column_position('version_calculated'), 11,
"The expected position of the 'version_calculated' column is 14" "The expected position of the 'version_calculated' column is 14"
end end
def test_save_and_destroy_with_cache
RedmineDmsf::Webdav::Cache.init_testcache
# save
cache_key = @folder4.propfind_cache_key
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@folder4.save
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.delete("#{cache_key}.invalid")
# destroy
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@folder4.destroy
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.cache.clear
# save!
cache_key = @folder5.propfind_cache_key
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@folder5.save!
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.delete("#{cache_key}.invalid")
# destroy!
RedmineDmsf::Webdav::Cache.write(cache_key, "")
assert RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert !RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
@folder5.destroy!
assert !RedmineDmsf::Webdav::Cache.exist?(cache_key)
assert RedmineDmsf::Webdav::Cache.exist?("#{cache_key}.invalid")
RedmineDmsf::Webdav::Cache.init_nullcache
end
end end