[Unit Test] Complete all providers unit tests #12

This commit is contained in:
Scott E. Graves 2025-02-15 23:29:20 -06:00
parent 67fe189765
commit ad820dcc27
2 changed files with 35 additions and 26 deletions

View File

@ -40,6 +40,7 @@
#include "utils/file_utils.hpp" #include "utils/file_utils.hpp"
#include "utils/path.hpp" #include "utils/path.hpp"
#include "utils/polling.hpp" #include "utils/polling.hpp"
#include <spdlog/fmt/bundled/base.h>
namespace repertory { namespace repertory {
encrypt_provider::encrypt_provider(app_config &config) encrypt_provider::encrypt_provider(app_config &config)
@ -342,13 +343,23 @@ auto encrypt_provider::get_file_list(api_file_list &list,
const auto &cfg{get_encrypt_config()}; const auto &cfg{get_encrypt_config()};
try { try {
for (const auto &dir_entry : utils::file::directory{cfg.path}.get_items()) { using func = std::function<void(std::string path)>;
std::string api_path{}; const func process_directory = [&](std::string path) {
if (process_directory_entry(*dir_entry.get(), cfg, api_path)) { for (const auto &dir_entry : utils::file::directory{path}.get_items()) {
list.emplace_back(create_api_file( std::string api_path{};
api_path, dir_entry->is_directory_item(), dir_entry->get_path())); if (dir_entry->is_directory_item()) {
process_directory_entry(*dir_entry.get(), cfg, api_path);
process_directory(dir_entry->get_path());
continue;
}
if (process_directory_entry(*dir_entry.get(), cfg, api_path)) {
list.emplace_back(create_api_file(
api_path, dir_entry->is_directory_item(), dir_entry->get_path()));
}
} }
} };
process_directory(cfg.path);
return api_error::success; return api_error::success;
} catch (const std::exception &ex) { } catch (const std::exception &ex) {

View File

@ -19,8 +19,6 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
*/ */
#if 0
#include "test_common.hpp" #include "test_common.hpp"
#include "comm/curl/curl_comm.hpp" #include "comm/curl/curl_comm.hpp"
@ -346,8 +344,8 @@ create_file_fails_if_directory_already_exists(i_provider &provider) {
static void get_api_path_from_source(const app_config &cfg, static void get_api_path_from_source(const app_config &cfg,
i_provider &provider) { i_provider &provider) {
if (provider.get_provider_type() == provider_type::encrypt) { if (provider.get_provider_type() == provider_type::encrypt) {
const auto source_path = auto source_path =
utils::path::combine("./test_date/encrypt", {"test.txt"}); utils::path::combine("./test_input/encrypt", {"test.txt"});
std::string api_path{}; std::string api_path{};
EXPECT_EQ(api_error::success, EXPECT_EQ(api_error::success,
@ -391,13 +389,13 @@ get_api_path_from_source_fails_if_file_not_found(const app_config &cfg,
EXPECT_TRUE(api_path.empty()); EXPECT_TRUE(api_path.empty());
} }
static void get_directory_item_count(const app_config &cfg, static void get_directory_item_count(const app_config & /* cfg */,
i_provider &provider) { i_provider &provider) {
if (provider.get_provider_type() == provider_type::encrypt) { if (provider.get_provider_type() == provider_type::encrypt) {
EXPECT_EQ(std::size_t(2U), provider.get_directory_item_count("/")); EXPECT_EQ(std::size_t(2U), provider.get_directory_item_count("/"));
EXPECT_EQ(std::size_t(0U), provider.get_directory_item_count("/not_found")); EXPECT_EQ(std::size_t(0U), provider.get_directory_item_count("/not_found"));
const auto source_path = auto source_path =
utils::path::combine(test::get_test_input_dir(), {"encrypt", "sub10"}); utils::path::combine(test::get_test_input_dir(), {"encrypt", "sub10"});
std::string api_path{}; std::string api_path{};
@ -443,7 +441,7 @@ static void get_directory_items(const app_config &cfg, i_provider &provider) {
EXPECT_EQ(std::size_t(46U), file->size); EXPECT_EQ(std::size_t(46U), file->size);
#endif #endif
const auto source_path = auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"sub10"}); utils::path::combine(cfg.get_encrypt_config().path, {"sub10"});
std::string api_path{}; std::string api_path{};
EXPECT_EQ(api_error::success, EXPECT_EQ(api_error::success,
@ -486,7 +484,7 @@ 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, static void get_directory_items_fails_if_item_is_file(const app_config &cfg,
i_provider &provider) { i_provider &provider) {
if (provider.get_provider_type() == provider_type::encrypt) { if (provider.get_provider_type() == provider_type::encrypt) {
const auto source_path = auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"test.txt"}); utils::path::combine(cfg.get_encrypt_config().path, {"test.txt"});
std::string api_path{}; std::string api_path{};
@ -502,7 +500,7 @@ 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) { static void get_file(const app_config &cfg, i_provider &provider) {
if (provider.get_provider_type() == provider_type::encrypt) { if (provider.get_provider_type() == provider_type::encrypt) {
const auto source_path = auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"test.txt"}); utils::path::combine(cfg.get_encrypt_config().path, {"test.txt"});
std::string api_path{}; std::string api_path{};
@ -533,7 +531,7 @@ static void get_file_fails_if_file_not_found(i_provider &provider) {
static void get_file_fails_if_item_is_directory(const app_config &cfg, static void get_file_fails_if_item_is_directory(const app_config &cfg,
i_provider &provider) { i_provider &provider) {
if (provider.get_provider_type() == provider_type::encrypt) { if (provider.get_provider_type() == provider_type::encrypt) {
const auto source_path = auto source_path =
utils::path::combine(cfg.get_encrypt_config().path, {"sub10"}); utils::path::combine(cfg.get_encrypt_config().path, {"sub10"});
std::string api_path{}; std::string api_path{};
@ -630,8 +628,9 @@ static void run_tests(const app_config &cfg, i_provider &provider) {
} }
TEST(providers_test, encrypt_provider) { TEST(providers_test, encrypt_provider) {
const auto config_path = auto config_path = utils::path::combine(test::get_test_output_dir(),
utils::path::combine(test::get_test_output_dir(), {"encrypt_provider"}); {"provider", "encrypt"});
fmt::println("config|{}", config_path);
console_consumer consumer{}; console_consumer consumer{};
event_system::instance().start(); event_system::instance().start();
@ -639,8 +638,9 @@ TEST(providers_test, encrypt_provider) {
{ {
app_config cfg(provider_type::encrypt, config_path); app_config cfg(provider_type::encrypt, config_path);
const auto encrypt_path = auto encrypt_path =
utils::path::combine(test::get_test_input_dir(), {"encrypt"}); utils::path::combine(test::get_test_input_dir(), {"encrypt"});
fmt::println("encrypt|{}", encrypt_path);
EXPECT_STREQ( EXPECT_STREQ(
encrypt_path.c_str(), encrypt_path.c_str(),
@ -674,8 +674,8 @@ TEST(providers_test, encrypt_provider) {
} }
TEST(providers_test, s3_provider) { TEST(providers_test, s3_provider) {
const auto config_path = auto config_path =
utils::path::combine(test::get_test_output_dir(), {"s3_provider"}); utils::path::combine(test::get_test_output_dir(), {"provider", "s3"});
console_consumer consumer{}; console_consumer consumer{};
event_system::instance().start(); event_system::instance().start();
@ -685,7 +685,7 @@ TEST(providers_test, s3_provider) {
{ {
app_config src_cfg( app_config src_cfg(
provider_type::s3, provider_type::s3,
utils::path::combine(test::get_test_config_dir(), {"storj"})); utils::path::combine(test::get_test_config_dir(), {"s3"}));
cfg.set_s3_config(src_cfg.get_s3_config()); cfg.set_s3_config(src_cfg.get_s3_config());
} }
@ -714,8 +714,8 @@ TEST(providers_test, s3_provider) {
} }
TEST(providers_test, sia_provider) { TEST(providers_test, sia_provider) {
const auto config_path = auto config_path =
utils::path::combine(test::get_test_output_dir(), {"sia_provider"}); utils::path::combine(test::get_test_output_dir(), {"sia", "provider"});
console_consumer consumer{}; console_consumer consumer{};
event_system::instance().start(); event_system::instance().start();
@ -753,5 +753,3 @@ TEST(providers_test, sia_provider) {
event_system::instance().stop(); event_system::instance().stop();
} }
} // namespace repertory } // namespace repertory
#endif // 0