2 Commits

Author SHA1 Message Date
103dae6d08 unit tests and fixes
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-12 14:33:19 -06:00
821ed7b25e fix test 2023-11-12 14:27:11 -06:00
5 changed files with 25 additions and 7 deletions

View File

@ -362,6 +362,15 @@ auto s3_provider::get_directory_items(const std::string &api_path,
directory_item_list &list) const directory_item_list &list) const
-> api_error { -> api_error {
try { try {
bool exists{};
auto res = is_directory(api_path, exists);
if (res != api_error::success) {
return res;
}
if (not exists) {
return api_error::directory_not_found;
}
const auto cfg = get_config().get_s3_config(); const auto cfg = get_config().get_s3_config();
const auto is_encrypted = not cfg.encryption_token.empty(); const auto is_encrypted = not cfg.encryption_token.empty();
std::string key; std::string key;

View File

@ -40,8 +40,8 @@ TEST(encrypting_reader, get_encrypted_file_name) {
EXPECT_TRUE(source_file != nullptr); EXPECT_TRUE(source_file != nullptr);
if (source_file) { if (source_file) {
stop_type stop_requested = false; stop_type stop_requested = false;
utils::encryption::encrypting_reader reader("test.dat", source_file_name, utils::encryption::encrypting_reader reader(
stop_requested, token); "test.dat", source_file_name, stop_requested, token, std::nullopt);
auto file_name = reader.get_encrypted_file_name(); auto file_name = reader.get_encrypted_file_name();
std::cout << file_name << std::endl; std::cout << file_name << std::endl;

View File

@ -52,7 +52,7 @@ protected:
"./winfsp_test" + std::to_string(PROVIDER_INDEX))); "./winfsp_test" + std::to_string(PROVIDER_INDEX)));
app_config src_cfg(provider_type::s3, app_config src_cfg(provider_type::s3,
utils::path::combine(get_test_dir(), {"filebase"})); utils::path::combine(get_test_dir(), {"storj"}));
config = std::make_unique<app_config>( config = std::make_unique<app_config>(
provider_type::s3, provider_type::s3,
"./winfsp_test" + std::to_string(PROVIDER_INDEX)); "./winfsp_test" + std::to_string(PROVIDER_INDEX));
@ -68,6 +68,11 @@ protected:
->set_value_by_name("S3Config.Region", ->set_value_by_name("S3Config.Region",
src_cfg.get_s3_config().region) src_cfg.get_s3_config().region)
.empty()); .empty());
EXPECT_FALSE(
config
->set_value_by_name("S3Config.EncryptionToken",
src_cfg.get_s3_config().encryption_token)
.empty());
EXPECT_FALSE( EXPECT_FALSE(
config config
->set_value_by_name("S3Config.URL", src_cfg.get_s3_config().url) ->set_value_by_name("S3Config.URL", src_cfg.get_s3_config().url)

View File

@ -523,9 +523,8 @@ TEST(fuse_drive, all_tests) {
config_ptr = config_ptr =
std::make_unique<app_config>(provider_type::s3, cfg_directory); std::make_unique<app_config>(provider_type::s3, cfg_directory);
{ {
app_config src_cfg( app_config src_cfg(provider_type::s3,
provider_type::s3, utils::path::combine(get_test_dir(), {"storj"}));
utils::path::combine(get_test_dir(), {"filebase"}));
config_ptr->set_enable_drive_events(true); config_ptr->set_enable_drive_events(true);
config_ptr->set_event_level(event_level::verbose); config_ptr->set_event_level(event_level::verbose);
config_ptr->set_s3_config(src_cfg.get_s3_config()); config_ptr->set_s3_config(src_cfg.get_s3_config());

View File

@ -168,6 +168,10 @@ static void create_directory_clone_source_meta(i_provider &provider) {
EXPECT_EQ(meta_orig.size(), meta_clone.size()); EXPECT_EQ(meta_orig.size(), meta_clone.size());
for (const auto &kv : meta_orig) { for (const auto &kv : meta_orig) {
if (kv.first == META_KEY) {
EXPECT_STRNE(kv.second.c_str(), meta_clone[kv.first].c_str());
continue;
}
EXPECT_STREQ(kv.second.c_str(), meta_clone[kv.first].c_str()); EXPECT_STREQ(kv.second.c_str(), meta_clone[kv.first].c_str());
} }
@ -290,6 +294,7 @@ static void get_api_path_from_source(const app_config &cfg,
provider.get_api_path_from_source(fsi.source_path, api_path)); provider.get_api_path_from_source(fsi.source_path, api_path));
EXPECT_STREQ("/pt01.txt", api_path.c_str()); EXPECT_STREQ("/pt01.txt", api_path.c_str());
EXPECT_EQ(api_error::success, provider.remove_file("/pt01.txt"));
} }
static void static void
@ -579,7 +584,7 @@ TEST(providers, s3_provider) {
app_config cfg(provider_type::s3, config_path); app_config cfg(provider_type::s3, config_path);
{ {
app_config src_cfg(provider_type::s3, app_config src_cfg(provider_type::s3,
utils::path::combine(get_test_dir(), {"filebase"})); utils::path::combine(get_test_dir(), {"storj"}));
cfg.set_s3_config(src_cfg.get_s3_config()); cfg.set_s3_config(src_cfg.get_s3_config());
} }