[Unit Test] Complete all providers unit tests #12
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
This commit is contained in:
parent
56072da7a6
commit
a7580d9272
@ -285,8 +285,15 @@ auto base_provider::get_directory_items(const std::string &api_path,
|
|||||||
if (res != api_error::success) {
|
if (res != api_error::success) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (not exists) {
|
if (not exists) {
|
||||||
return api_error::directory_not_found;
|
res = is_file(api_path, exists);
|
||||||
|
if (res != api_error::success) {
|
||||||
|
utils::error::raise_api_path_error(
|
||||||
|
function_name, api_path, res, "failed to determine if file exists");
|
||||||
|
}
|
||||||
|
|
||||||
|
return exists ? api_error::item_exists : api_error::directory_not_found;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = get_directory_items_impl(api_path, list);
|
res = get_directory_items_impl(api_path, list);
|
||||||
|
@ -423,14 +423,7 @@ auto s3_provider::get_directory_items_impl(const std::string &api_path,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (response_code == http_error_codes::not_found) {
|
if (response_code == http_error_codes::not_found) {
|
||||||
bool exists{};
|
return api_error::directory_not_found;
|
||||||
auto res = is_file(api_path, exists);
|
|
||||||
if (res != api_error::success) {
|
|
||||||
utils::error::raise_api_path_error(
|
|
||||||
function_name, api_path, res, "failed to determine if file exists");
|
|
||||||
}
|
|
||||||
|
|
||||||
return exists ? api_error::item_exists : api_error::directory_not_found;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response_code != http_error_codes::ok) {
|
if (response_code != http_error_codes::ok) {
|
||||||
|
@ -440,6 +440,21 @@ static void get_directory_item_count(const app_config & /* cfg */,
|
|||||||
provider.get_api_path_from_source(source_path, api_path));
|
provider.get_api_path_from_source(source_path, api_path));
|
||||||
EXPECT_EQ(std::size_t(1U), provider.get_directory_item_count(api_path));
|
EXPECT_EQ(std::size_t(1U), provider.get_directory_item_count(api_path));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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));
|
||||||
|
|
||||||
|
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 get_directory_items(const app_config &cfg, i_provider &provider) {
|
static void get_directory_items(const app_config &cfg, i_provider &provider) {
|
||||||
@ -699,11 +714,11 @@ static void run_tests(const app_config &cfg, i_provider &provider) {
|
|||||||
|
|
||||||
get_directory_items(cfg, provider);
|
get_directory_items(cfg, provider);
|
||||||
get_directory_items_fails_if_directory_not_found(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_items_fails_if_item_is_file(cfg, provider);
|
||||||
|
|
||||||
get_directory_item_count(cfg, provider);
|
get_directory_item_count(cfg, provider);
|
||||||
|
|
||||||
|
// TODO continue here
|
||||||
get_file(cfg, provider);
|
get_file(cfg, provider);
|
||||||
get_file_fails_if_file_not_found(provider);
|
get_file_fails_if_file_not_found(provider);
|
||||||
get_file_fails_if_item_is_directory(cfg, provider);
|
get_file_fails_if_item_is_directory(cfg, provider);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user