This commit is contained in:
Scott E. Graves 2024-10-17 13:13:13 -05:00
parent cbd36efd91
commit 40682e37c0

View File

@ -40,10 +40,12 @@
#include "utils/time.hpp"
#include "utils/utils.hpp"
namespace repertory {
static std::string file_manager_dir =
utils::path::combine(test::get_test_output_dir(), {"file_manager_test"});
namespace {
static const auto file_manager_dir = repertory::utils::path::combine(
repertory::test::get_test_output_dir(), {"file_manager_test"});
}
namespace repertory {
auto file_manager::open(std::shared_ptr<i_closeable_open_file> of,
const open_file_data &ofd, std::uint64_t &handle,
std::shared_ptr<i_open_file> &f) -> api_error {
@ -81,10 +83,11 @@ TEST(file_manager, can_start_and_stop) {
fm.stop();
ec.wait_for_empty();
event_system::instance().stop();
}
event_system::instance().stop();
// EXPECT_TRUE(utils::file::remove_directory(file_manager_dir, true));
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
TEST(file_manager, can_create_and_close_file) {
@ -197,10 +200,11 @@ TEST(file_manager, can_create_and_close_file) {
EXPECT_EQ(std::size_t(0u), fm.get_open_file_count());
fm.stop();
polling::instance().stop();
event_system::instance().stop();
}
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
@ -313,10 +317,11 @@ TEST(file_manager, can_open_and_close_file) {
EXPECT_EQ(std::size_t(0u), fm.get_open_file_count());
fm.stop();
polling::instance().stop();
event_system::instance().stop();
}
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
@ -386,10 +391,11 @@ TEST(file_manager, can_open_and_close_multiple_handles_for_same_file) {
EXPECT_EQ(std::size_t(0u), fm.get_open_file_count());
EXPECT_EQ(std::size_t(0u), fm.get_open_handle_count());
polling::instance().stop();
event_system::instance().stop();
}
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
@ -540,9 +546,10 @@ TEST(file_manager, download_is_stored_after_write_if_partially_downloaded) {
EXPECT_EQ(std::size_t(0u), fm.get_open_handle_count());
nf.close();
event_system::instance().stop();
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
@ -656,15 +663,15 @@ TEST(file_manager, upload_occurs_after_write_if_fully_downloaded) {
fm.stop();
nf.close();
polling::instance().stop();
event_system::instance().stop();
}
polling::instance().stop();
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
TEST(file_manager, can_evict_file) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
console_consumer c;
event_system::instance().start();
@ -762,14 +769,14 @@ TEST(file_manager, can_evict_file) {
EXPECT_FALSE(utils::file::file(source_path).exists());
fm.stop();
event_system::instance().stop();
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
TEST(file_manager, evict_file_fails_if_file_is_pinned) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -788,15 +795,14 @@ TEST(file_manager, evict_file_fails_if_file_is_pinned) {
});
EXPECT_FALSE(fm.evict_file("/test_open.txt"));
event_system::instance().stop();
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
TEST(file_manager, evict_file_fails_if_provider_is_direct_only) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -811,8 +817,6 @@ TEST(file_manager, evict_file_fails_if_provider_is_direct_only) {
}
TEST(file_manager, evict_file_fails_if_file_is_open) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -862,8 +866,6 @@ TEST(file_manager, evict_file_fails_if_file_is_open) {
TEST(file_manager,
evict_file_fails_if_unable_to_get_source_path_from_item_meta) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -896,8 +898,6 @@ TEST(file_manager,
}
TEST(file_manager, evict_file_fails_if_source_path_is_empty) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -930,7 +930,6 @@ TEST(file_manager, evict_file_fails_if_source_path_is_empty) {
}
TEST(file_manager, evict_file_fails_if_file_is_uploading) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
console_consumer c;
event_system::instance().start();
@ -1019,15 +1018,14 @@ TEST(file_manager, evict_file_fails_if_file_is_uploading) {
EXPECT_TRUE(utils::file::file(source_path).exists());
fm.stop();
event_system::instance().stop();
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
TEST(file_manager, evict_file_fails_if_file_is_in_upload_queue) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1051,8 +1049,6 @@ TEST(file_manager, evict_file_fails_if_file_is_in_upload_queue) {
}
TEST(file_manager, evict_file_fails_if_file_is_modified) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1097,8 +1093,6 @@ TEST(file_manager, evict_file_fails_if_file_is_modified) {
}
TEST(file_manager, evict_file_fails_if_file_is_not_complete) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1145,8 +1139,6 @@ TEST(file_manager, evict_file_fails_if_file_is_not_complete) {
}
TEST(file_manager, can_get_directory_items) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1179,8 +1171,6 @@ TEST(file_manager, can_get_directory_items) {
}
TEST(file_manager, file_is_not_opened_if_provider_create_file_fails) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1215,8 +1205,6 @@ TEST(file_manager, file_is_not_opened_if_provider_create_file_fails) {
}
TEST(file_manager, create_fails_if_provider_create_is_unsuccessful) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1246,9 +1234,6 @@ TEST(file_manager, create_fails_if_provider_create_is_unsuccessful) {
}
TEST(file_manager, get_open_file_fails_if_file_is_not_open) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1271,8 +1256,6 @@ TEST(file_manager, get_open_file_fails_if_file_is_not_open) {
TEST(file_manager,
get_open_file_promotes_non_writeable_file_if_writeable_is_specified) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1359,8 +1342,6 @@ TEST(file_manager,
}
TEST(file_manager, open_file_fails_if_file_is_not_found) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1384,8 +1365,6 @@ TEST(file_manager, open_file_fails_if_file_is_not_found) {
}
TEST(file_manager, open_file_fails_if_provider_get_filesystem_item_fails) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1428,8 +1407,6 @@ TEST(file_manager, open_file_fails_if_provider_get_filesystem_item_fails) {
}
TEST(file_manager, open_file_fails_if_provider_set_item_meta_fails) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1479,8 +1456,6 @@ TEST(file_manager, open_file_fails_if_provider_set_item_meta_fails) {
}
TEST(file_manager, open_file_creates_source_path_if_empty) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1542,8 +1517,6 @@ TEST(file_manager, open_file_creates_source_path_if_empty) {
}
TEST(file_manager, open_file_first_file_handle_is_not_zero) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1590,8 +1563,6 @@ TEST(file_manager, open_file_first_file_handle_is_not_zero) {
}
TEST(file_manager, can_remove_file) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1631,12 +1602,9 @@ TEST(file_manager, can_remove_file) {
}
TEST(file_manager, can_queue_and_remove_upload) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
console_consumer c;
event_system::instance().start();
{
console_consumer c;
event_system::instance().start();
event_capture ec({"file_upload_queued", "download_resume_removed"});
app_config cfg(provider_type::sia, file_manager_dir);
@ -1659,9 +1627,10 @@ TEST(file_manager, can_queue_and_remove_upload) {
EXPECT_FALSE(fm.is_processing("/test_queue.txt"));
ec.wait_for_empty();
event_system::instance().stop();
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
@ -1757,14 +1726,13 @@ TEST(file_manager, file_is_closed_after_download_timeout) {
fm.stop();
polling::instance().stop();
event_system::instance().stop();
}
event_system::instance().stop();
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
}
TEST(file_manager, remove_file_fails_if_file_does_not_exist) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);
@ -1789,8 +1757,6 @@ TEST(file_manager, remove_file_fails_if_file_does_not_exist) {
}
TEST(file_manager, remove_file_fails_if_provider_remove_file_fails) {
EXPECT_TRUE(utils::file::directory(file_manager_dir).remove_recursively());
{
app_config cfg(provider_type::sia, file_manager_dir);
cfg.set_enable_chunk_downloader_timeout(false);