[Unit Test] Complete all providers unit tests #12
This commit is contained in:
parent
5957d6f3a7
commit
5cf6948c03
@ -330,7 +330,6 @@ struct directory_item final {
|
||||
bool directory{false};
|
||||
std::uint64_t size{};
|
||||
api_meta_map meta;
|
||||
bool resolved{false};
|
||||
};
|
||||
|
||||
struct encrypt_config final {
|
||||
|
@ -263,7 +263,6 @@ auto encrypt_provider::get_directory_items(const std::string &api_path,
|
||||
dir_item.api_parent = file.api_parent;
|
||||
dir_item.api_path = file.api_path;
|
||||
dir_item.directory = dir_entry->is_directory_item();
|
||||
dir_item.resolved = true;
|
||||
dir_item.size = file.file_size;
|
||||
create_item_meta(dir_item.meta, dir_item.directory, file);
|
||||
|
||||
|
@ -185,7 +185,6 @@ auto sia_provider::get_directory_items_impl(const std::string &api_path,
|
||||
dir_item.api_path = file.api_path;
|
||||
dir_item.directory = directory;
|
||||
dir_item.meta = meta;
|
||||
dir_item.resolved = true;
|
||||
dir_item.size = file.file_size;
|
||||
list.emplace_back(std::move(dir_item));
|
||||
} catch (const std::exception &e) {
|
||||
|
@ -446,11 +446,11 @@ static void get_directory_items(const app_config &cfg, i_provider &provider) {
|
||||
fmt::println("testing|{}|{}",
|
||||
app_config::get_provider_name(provider.get_provider_type()),
|
||||
__FUNCTION__);
|
||||
directory_item_list list{};
|
||||
EXPECT_EQ(api_error::success, provider.get_directory_items("/", list));
|
||||
check_forced_dirs(list);
|
||||
|
||||
if (provider.get_provider_type() == provider_type::encrypt) {
|
||||
directory_item_list list{};
|
||||
EXPECT_EQ(api_error::success, provider.get_directory_items("/", list));
|
||||
check_forced_dirs(list);
|
||||
|
||||
EXPECT_EQ(std::size_t(4U), list.size());
|
||||
|
||||
directory_item_list list_decrypted{list.begin() + 2U, list.end()};
|
||||
@ -511,6 +511,49 @@ static void get_directory_items(const app_config &cfg, i_provider &provider) {
|
||||
EXPECT_EQ(std::size_t(45U), file2->size);
|
||||
#endif
|
||||
}
|
||||
|
||||
create_file(provider, "/pt01.txt");
|
||||
create_file(provider, "/pt02.txt");
|
||||
create_directory(provider, "/dir01");
|
||||
create_directory(provider, "/dir02");
|
||||
|
||||
directory_item_list list{};
|
||||
EXPECT_EQ(api_error::success, provider.get_directory_items("/", list));
|
||||
check_forced_dirs(list);
|
||||
EXPECT_GE(list.size(), std::size_t(6U));
|
||||
|
||||
auto iter = std::ranges::find_if(
|
||||
list, [](auto &&item) -> bool { return item.api_path == "/pt01.txt"; });
|
||||
EXPECT_NE(iter, list.end());
|
||||
EXPECT_STREQ("/", (*iter).api_parent.c_str());
|
||||
EXPECT_FALSE((*iter).directory);
|
||||
EXPECT_EQ(std::uint64_t{0U}, (*iter).size);
|
||||
|
||||
iter = std::ranges::find_if(
|
||||
list, [](auto &&item) -> bool { return item.api_path == "/pt02.txt"; });
|
||||
EXPECT_NE(iter, list.end());
|
||||
EXPECT_STREQ("/", (*iter).api_parent.c_str());
|
||||
EXPECT_FALSE((*iter).directory);
|
||||
EXPECT_EQ(std::uint64_t{0U}, (*iter).size);
|
||||
|
||||
iter = std::ranges::find_if(
|
||||
list, [](auto &&item) -> bool { return item.api_path == "/dir01"; });
|
||||
EXPECT_NE(iter, list.end());
|
||||
EXPECT_STREQ("/", (*iter).api_parent.c_str());
|
||||
EXPECT_TRUE((*iter).directory);
|
||||
EXPECT_EQ(std::uint64_t{0U}, (*iter).size);
|
||||
|
||||
iter = std::ranges::find_if(
|
||||
list, [](auto &&item) -> bool { return item.api_path == "/dir02"; });
|
||||
EXPECT_NE(iter, list.end());
|
||||
EXPECT_STREQ("/", (*iter).api_parent.c_str());
|
||||
EXPECT_TRUE((*iter).directory);
|
||||
EXPECT_EQ(std::uint64_t{0U}, (*iter).size);
|
||||
|
||||
EXPECT_EQ(api_error::success, provider.remove_file("/pt01.txt"));
|
||||
EXPECT_EQ(api_error::success, provider.remove_file("/pt02.txt"));
|
||||
EXPECT_EQ(api_error::success, provider.remove_directory("/dir01"));
|
||||
EXPECT_EQ(api_error::success, provider.remove_directory("/dir02"));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -646,9 +689,9 @@ static void run_tests(const app_config &cfg, i_provider &provider) {
|
||||
get_api_path_from_source(cfg, provider);
|
||||
get_api_path_from_source_fails_if_file_not_found(cfg, provider);
|
||||
|
||||
// TODO: continue here
|
||||
get_directory_items(cfg, provider);
|
||||
get_directory_items_fails_if_directory_not_found(provider);
|
||||
// TODO: continue here
|
||||
get_directory_items_fails_if_item_is_file(cfg, provider);
|
||||
|
||||
get_directory_item_count(cfg, provider);
|
||||
|
Loading…
x
Reference in New Issue
Block a user