meta db unit tests and fixes
This commit is contained in:
parent
d70aa968d6
commit
65efa8590f
@ -83,17 +83,6 @@ TYPED_TEST(meta_db_test,
|
||||
EXPECT_TRUE(api_path.empty());
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, set_item_meta_fails_with_missing_directory_meta) {
|
||||
auto test_file = create_test_file();
|
||||
auto test_source = create_test_file();
|
||||
EXPECT_EQ(api_error::error, this->meta_db->set_item_meta(
|
||||
test_file, {
|
||||
{META_SOURCE, test_source},
|
||||
}));
|
||||
EXPECT_EQ(api_error::error,
|
||||
this->meta_db->set_item_meta(test_file, META_SOURCE, test_source));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, can_get_api_file_list) {
|
||||
std::vector<std::string> directories{};
|
||||
for (auto idx = 0U; idx < 5U; ++idx) {
|
||||
@ -490,4 +479,140 @@ TYPED_TEST(meta_db_test, total_size_decreases_after_file_is_removed) {
|
||||
|
||||
EXPECT_EQ(2U, this->meta_db->get_total_size());
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, can_remove_api_path) {
|
||||
auto test_file = create_test_file();
|
||||
auto test_source = create_test_file();
|
||||
EXPECT_EQ(
|
||||
api_error::success,
|
||||
this->meta_db->set_item_meta(
|
||||
test_file, {
|
||||
{META_DIRECTORY, utils::string::from_bool(false)},
|
||||
{META_SOURCE, test_source},
|
||||
{META_SIZE, "2"},
|
||||
}));
|
||||
this->meta_db->remove_api_path(test_file);
|
||||
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::item_not_found,
|
||||
this->meta_db->get_item_meta(test_file, meta));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, can_rename_item_meta) {
|
||||
auto test_file = create_test_file();
|
||||
auto test_source = create_test_file();
|
||||
EXPECT_EQ(
|
||||
api_error::success,
|
||||
this->meta_db->set_item_meta(
|
||||
test_file, {
|
||||
{META_DIRECTORY, utils::string::from_bool(false)},
|
||||
{META_SOURCE, test_source},
|
||||
{META_SIZE, "2"},
|
||||
}));
|
||||
auto test_file2 = create_test_file();
|
||||
EXPECT_EQ(api_error::success,
|
||||
this->meta_db->rename_item_meta(test_file, test_file2));
|
||||
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::item_not_found,
|
||||
this->meta_db->get_item_meta(test_file, meta));
|
||||
|
||||
EXPECT_EQ(api_error::success, this->meta_db->get_item_meta(test_file2, meta));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, rename_item_meta_fails_if_not_found) {
|
||||
auto test_file = create_test_file();
|
||||
auto test_file2 = create_test_file();
|
||||
|
||||
EXPECT_EQ(api_error::item_not_found,
|
||||
this->meta_db->rename_item_meta(test_file, test_file2));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, set_item_meta_fails_with_missing_directory_meta) {
|
||||
auto test_file = create_test_file();
|
||||
auto test_source = create_test_file();
|
||||
EXPECT_EQ(api_error::error, this->meta_db->set_item_meta(
|
||||
test_file, {
|
||||
{META_SOURCE, test_source},
|
||||
}));
|
||||
EXPECT_EQ(api_error::error,
|
||||
this->meta_db->set_item_meta(test_file, META_SOURCE, test_source));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, check_size_is_ignored_for_directory) {
|
||||
auto test_dir = create_test_file();
|
||||
EXPECT_EQ(api_error::error,
|
||||
this->meta_db->set_item_meta(
|
||||
test_dir, {
|
||||
{META_DIRECTORY, utils::string::from_bool(true)},
|
||||
{META_SIZE, "2"},
|
||||
}));
|
||||
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::success, this->meta_db->get_item_meta(test_dir, meta));
|
||||
EXPECT_EQ(0U, utils::string::to_uint64(meta[META_SIZE]));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, check_pinned_is_ignored_for_directory) {
|
||||
auto test_dir = create_test_file();
|
||||
EXPECT_EQ(api_error::error,
|
||||
this->meta_db->set_item_meta(
|
||||
test_dir, {
|
||||
{META_DIRECTORY, utils::string::from_bool(true)},
|
||||
{META_PINNED, utils::string::from_bool(true)},
|
||||
}));
|
||||
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::success, this->meta_db->get_item_meta(test_dir, meta));
|
||||
EXPECT_FALSE(utils::string::to_bool(meta[META_PINNED]));
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, check_source_is_ignored_for_directory) {
|
||||
auto test_dir = create_test_file();
|
||||
auto test_source = create_test_file();
|
||||
EXPECT_EQ(api_error::error,
|
||||
this->meta_db->set_item_meta(
|
||||
test_dir, {
|
||||
{META_DIRECTORY, utils::string::from_bool(true)},
|
||||
{META_SOURCE, test_source},
|
||||
}));
|
||||
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::success, this->meta_db->get_item_meta(test_dir, meta));
|
||||
EXPECT_TRUE(meta[META_SOURCE].empty());
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, check_set_item_meta_directory_defaults) {
|
||||
auto test_dir = create_test_file();
|
||||
EXPECT_EQ(api_error::error,
|
||||
this->meta_db->set_item_meta(
|
||||
test_dir, {
|
||||
{META_DIRECTORY, utils::string::from_bool(true)},
|
||||
}));
|
||||
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::success, this->meta_db->get_item_meta(test_dir, meta));
|
||||
|
||||
EXPECT_TRUE(utils::string::to_bool(meta[META_DIRECTORY]));
|
||||
EXPECT_FALSE(utils::string::to_bool(meta[META_PINNED]));
|
||||
EXPECT_EQ(0U, utils::string::to_uint64(meta[META_SIZE]));
|
||||
EXPECT_TRUE(meta[META_SOURCE].empty());
|
||||
}
|
||||
|
||||
TYPED_TEST(meta_db_test, check_set_item_meta_file_defaults) {
|
||||
auto test_file = create_test_file();
|
||||
EXPECT_EQ(
|
||||
api_error::error,
|
||||
this->meta_db->set_item_meta(
|
||||
test_file, {
|
||||
{META_DIRECTORY, utils::string::from_bool(false)},
|
||||
}));
|
||||
api_meta_map meta;
|
||||
EXPECT_EQ(api_error::success, this->meta_db->get_item_meta(test_file, meta));
|
||||
|
||||
EXPECT_FALSE(utils::string::to_bool(meta[META_DIRECTORY]));
|
||||
EXPECT_FALSE(utils::string::to_bool(meta[META_PINNED]));
|
||||
EXPECT_EQ(0U, utils::string::to_uint64(meta[META_SIZE]));
|
||||
EXPECT_TRUE(meta[META_SOURCE].empty());
|
||||
}
|
||||
} // namespace repertory
|
||||
|
Loading…
x
Reference in New Issue
Block a user