[unit test] Complete all providers unit tests #12
Some checks failed
Blockstorage/repertory/pipeline/head There was a failure building this commit
BlockStorage/repertory/pipeline/head There was a failure building this commit

This commit is contained in:
2025-09-17 12:23:00 -05:00
parent 1d004eeccf
commit 3f163315b6

View File

@@ -173,6 +173,14 @@ const auto decrypt_parts = [](const repertory::app_config &cfg,
path = repertory::utils::string::join(parts, '/'); path = repertory::utils::string::join(parts, '/');
} }
}; };
const auto pinned_includes_api_path =
[&](const auto &pinned, const std::string &expected_path) -> bool {
return std::ranges::any_of(pinned, [&expected_path](auto &&api_path) -> bool {
return api_path == expected_path;
});
};
/* /*
[[nodiscard]] auto read_all_plain(const std::string &path) -> std::string { [[nodiscard]] auto read_all_plain(const std::string &path) -> std::string {
repertory::utils::file::file file{path}; repertory::utils::file::file file{path};
@@ -1189,14 +1197,9 @@ static void get_pinned_files(i_provider &provider) {
auto pinned = provider.get_pinned_files(); auto pinned = provider.get_pinned_files();
EXPECT_EQ(std::size_t(2U), pinned.size()); EXPECT_EQ(std::size_t(2U), pinned.size());
const auto has_path = [&](std::string_view path) { EXPECT_TRUE(pinned_includes_api_path(pinned, "/pin01.txt"));
return std::ranges::any_of( EXPECT_TRUE(pinned_includes_api_path(pinned, "/pin02.txt"));
pinned, [&](const api_file &file) { return file.api_path == path; }); EXPECT_FALSE(pinned_includes_api_path(pinned, "/nopin01.txt"));
};
EXPECT_TRUE(has_path("/pin01.txt"));
EXPECT_TRUE(has_path("/pin02.txt"));
EXPECT_FALSE(has_path("/nopin01.txt"));
EXPECT_EQ(api_error::success, provider.remove_file("/pin01.txt")); EXPECT_EQ(api_error::success, provider.remove_file("/pin01.txt"));
EXPECT_EQ(api_error::success, provider.remove_file("/pin02.txt")); EXPECT_EQ(api_error::success, provider.remove_file("/pin02.txt"));
@@ -1224,17 +1227,12 @@ static void remove_pin_updates_pinned_files(i_provider &provider) {
auto pinned = provider.get_pinned_files(); auto pinned = provider.get_pinned_files();
EXPECT_EQ(std::size_t(2U), pinned.size()); EXPECT_EQ(std::size_t(2U), pinned.size());
const auto has_path = [&](std::string_view path) {
return std::ranges::any_of(
pinned, [&](const api_file &file) { return file.api_path == path; });
};
EXPECT_EQ(api_error::success, EXPECT_EQ(api_error::success,
provider.set_item_meta("/pin02.txt", META_PINNED, "false")); provider.set_item_meta("/pin02.txt", META_PINNED, "false"));
pinned = provider.get_pinned_files(); pinned = provider.get_pinned_files();
EXPECT_EQ(std::size_t(1U), pinned.size()); EXPECT_EQ(std::size_t(1U), pinned.size());
EXPECT_TRUE(has_path("/pin01.txt")); EXPECT_TRUE(pinned_includes_api_path(pinned, "/pin01.txt"));
EXPECT_FALSE(has_path("/pin02.txt")); EXPECT_FALSE(pinned_includes_api_path(pinned, "/pin02.txt"));
EXPECT_EQ(api_error::success, EXPECT_EQ(api_error::success,
provider.set_item_meta("/pin01.txt", META_PINNED, "false")); provider.set_item_meta("/pin01.txt", META_PINNED, "false"));
@@ -1270,21 +1268,16 @@ static void remove_file_updates_pinned_files(i_provider &provider) {
auto pinned = provider.get_pinned_files(); auto pinned = provider.get_pinned_files();
EXPECT_EQ(std::size_t(2U), pinned.size()); EXPECT_EQ(std::size_t(2U), pinned.size());
const auto has_path = [&](std::string_view path) { EXPECT_TRUE(pinned_includes_api_path(pinned, "/pin_keep.txt"));
return std::ranges::any_of( EXPECT_TRUE(pinned_includes_api_path(pinned, "/pin_delete.txt"));
pinned, [&](const api_file &file) { return file.api_path == path; }); EXPECT_FALSE(pinned_includes_api_path(pinned, "/nopin.txt"));
};
EXPECT_TRUE(has_path("/pin_keep.txt"));
EXPECT_TRUE(has_path("/pin_delete.txt"));
EXPECT_FALSE(has_path("/nopin.txt"));
EXPECT_EQ(api_error::success, provider.remove_file("/pin_delete.txt")); EXPECT_EQ(api_error::success, provider.remove_file("/pin_delete.txt"));
pinned = provider.get_pinned_files(); pinned = provider.get_pinned_files();
EXPECT_EQ(std::size_t(1U), pinned.size()); EXPECT_EQ(std::size_t(1U), pinned.size());
EXPECT_TRUE(has_path("/pin_keep.txt")); EXPECT_TRUE(pinned_includes_api_path(pinned, "/pin_keep.txt"));
EXPECT_FALSE(has_path("/pin_delete.txt")); EXPECT_FALSE(pinned_includes_api_path(pinned, "/pin_delete.txt"));
EXPECT_EQ(api_error::success, provider.remove_file("/pin_keep.txt")); EXPECT_EQ(api_error::success, provider.remove_file("/pin_keep.txt"));
EXPECT_EQ(api_error::success, provider.remove_file("/nopin.txt")); EXPECT_EQ(api_error::success, provider.remove_file("/nopin.txt"));