[Unit Test] Complete all providers unit tests #12

This commit is contained in:
Scott E. Graves 2025-02-15 23:34:19 -06:00
parent dd75db3be3
commit 7d9dc52ba7

View File

@ -35,6 +35,7 @@
#include "utils/string.hpp"
#include "utils/time.hpp"
#include "utils/utils.hpp"
#include <spdlog/fmt/bundled/base.h>
namespace {
#if defined(_WIN32)
@ -176,6 +177,9 @@ const auto decrypt_parts = [](const repertory::app_config &cfg,
namespace repertory {
static void can_create_and_remove_directory(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
api_meta_map meta{};
EXPECT_EQ(api_error::not_implemented,
@ -194,6 +198,9 @@ static void can_create_and_remove_directory(i_provider &provider) {
}
static void create_directory_fails_if_already_exists(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -208,6 +215,9 @@ static void create_directory_fails_if_already_exists(i_provider &provider) {
static void
create_directory_fails_if_file_already_exists(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -221,6 +231,9 @@ create_directory_fails_if_file_already_exists(i_provider &provider) {
}
static void create_directory_clone_source_meta(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
EXPECT_EQ(api_error::not_implemented,
provider.create_directory_clone_source_meta("/moose", "/moose"));
@ -255,6 +268,9 @@ static void create_directory_clone_source_meta(i_provider &provider) {
static void create_directory_clone_source_meta_fails_if_already_exists(
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -270,6 +286,9 @@ static void create_directory_clone_source_meta_fails_if_already_exists(
static void create_directory_clone_source_meta_fails_if_directory_not_found(
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -280,6 +299,9 @@ static void create_directory_clone_source_meta_fails_if_directory_not_found(
static void create_directory_clone_source_meta_fails_if_file_already_exists(
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -295,6 +317,9 @@ static void create_directory_clone_source_meta_fails_if_file_already_exists(
}
static void can_create_and_remove_file(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
api_meta_map meta{};
EXPECT_EQ(api_error::not_implemented,
@ -315,6 +340,9 @@ static void can_create_and_remove_file(i_provider &provider) {
}
static void create_file_fails_if_already_exists(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -329,6 +357,9 @@ static void create_file_fails_if_already_exists(i_provider &provider) {
static void
create_file_fails_if_directory_already_exists(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.is_read_only()) {
return;
}
@ -343,6 +374,9 @@ create_file_fails_if_directory_already_exists(i_provider &provider) {
static void get_api_path_from_source(const app_config &cfg,
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.get_provider_type() == provider_type::encrypt) {
auto source_path =
utils::path::combine("./test_input/encrypt", {"test.txt"});
@ -374,6 +408,9 @@ static void get_api_path_from_source(const app_config &cfg,
static void
get_api_path_from_source_fails_if_file_not_found(const app_config &cfg,
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
std::string source_path{};
if (provider.get_provider_type() == provider_type::encrypt) {
source_path = utils::path::combine(cfg.get_encrypt_config().path,
@ -391,6 +428,9 @@ get_api_path_from_source_fails_if_file_not_found(const app_config &cfg,
static void get_directory_item_count(const app_config & /* cfg */,
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.get_provider_type() == provider_type::encrypt) {
EXPECT_EQ(std::size_t(2U), provider.get_directory_item_count("/"));
EXPECT_EQ(std::size_t(0U), provider.get_directory_item_count("/not_found"));
@ -406,6 +446,9 @@ static void get_directory_item_count(const app_config & /* cfg */,
}
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);
@ -475,6 +518,9 @@ static void get_directory_items(const app_config &cfg, i_provider &provider) {
static void
get_directory_items_fails_if_directory_not_found(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
directory_item_list list{};
EXPECT_EQ(api_error::directory_not_found,
provider.get_directory_items("/not_found", list));
@ -483,6 +529,9 @@ get_directory_items_fails_if_directory_not_found(i_provider &provider) {
static void get_directory_items_fails_if_item_is_file(const app_config &cfg,
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.get_provider_type() == provider_type::encrypt) {
auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"test.txt"});
@ -499,6 +548,9 @@ static void get_directory_items_fails_if_item_is_file(const app_config &cfg,
}
static void get_file(const app_config &cfg, i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.get_provider_type() == provider_type::encrypt) {
auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"test.txt"});
@ -524,12 +576,18 @@ static void get_file(const app_config &cfg, i_provider &provider) {
}
static void get_file_fails_if_file_not_found(i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
api_file file{};
EXPECT_EQ(api_error::item_not_found, provider.get_file("/not_found", file));
}
static void get_file_fails_if_item_is_directory(const app_config &cfg,
i_provider &provider) {
fmt::println("testing|{}{}",
app_config::get_provider_name(provider.get_provider_type()),
__FUNCTION__);
if (provider.get_provider_type() == provider_type::encrypt) {
auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"sub10"});