#define TEST_CERT_DB "test.pkgmgr_cert.db"
-class CreateDBHandlerMock : public pkgmgr_server::database::CreateDBHandler {
+class CreateCertDBHandlerMock : public pkgmgr_server::database::CreateDBHandler {
public:
- CreateDBHandlerMock(uid_t uid, int pid)
+ CreateCertDBHandlerMock(uid_t uid, int pid)
: pkgmgr_server::database::CreateDBHandler(uid, pid) {}
MOCK_METHOD0(Connect, bool());
SetDBHandles(
std::vector<std::pair<sqlite3*, uid_t>> { std::make_pair(db, 0) });
- CreateDBHandlerMock create_db_handler(0, 0);
+ CreateCertDBHandlerMock create_db_handler(0, 0);
EXPECT_CALL(create_db_handler, Connect())
.Times(2).WillRepeatedly(testing::Return(true));
#include "appinfo_db_handler.hh"
#include "create_db_handler.hh"
+#include "depinfo_db_handler.hh"
#include "db_type.hh"
#include "parcel_utils.hh"
#include "pkg_get_db_handler.hh"
namespace psd = pkgmgr_server::database;
-class CreateDBHandlerMock : public psd::CreateDBHandler {
+class CreateParserDBHandlerMock : public psd::CreateDBHandler {
public:
- CreateDBHandlerMock(uid_t uid, int pid)
+ CreateParserDBHandlerMock(uid_t uid, int pid)
: psd::CreateDBHandler(uid, pid) {}
MOCK_METHOD0(Connect, bool());
MOCK_METHOD0(GetConnection, std::vector<std::pair<sqlite3*, uid_t>>());
};
+class DepInfoGetDBHandlerMock : public psd::DepInfoGetDBHandler {
+ public:
+ DepInfoGetDBHandlerMock(uid_t uid, int pid) :
+ psd::DepInfoGetDBHandler(uid, pid) {}
+
+ MOCK_METHOD0(Connect, bool());
+ MOCK_METHOD0(GetConnection, std::vector<std::pair<sqlite3*, uid_t>>());
+};
+
class Mocks : public ::testing::NiceMock<SystemInfoMock> {};
class ParserDBHandlerTest : public TestFixture {
SetDBHandles(
std::vector<std::pair<sqlite3*, uid_t>> { std::make_pair(db, 0) });
- CreateDBHandlerMock create_db_handler(0, 0);
+ CreateParserDBHandlerMock create_db_handler(0, 0);
EXPECT_CALL(create_db_handler, Connect())
.Times(2).WillRepeatedly(testing::Return(true));
ASSERT_EQ(IsEqualApplicationsInfo(lappinfo_list, rappinfo_list), true);
}
+
+TEST_F(ParserDBHandlerTest, DepInfoDBHandlerTest) {
+ PkgSetDBHandlerMock pkg_set_db_handler(0, 0);
+ pkg_set_db_handler.SetWriteType(pkgmgr_common::PkgWriteType::Insert);
+ std::unique_ptr<package_x, decltype(pkgmgrinfo_basic_free_package)*> ptr(
+ GetTestPackage("test_package"), pkgmgrinfo_basic_free_package);
+ pkg_set_db_handler.SetPkgInfo(ptr.get());
+
+ EXPECT_CALL(pkg_set_db_handler, Connect()).WillOnce(testing::Return(true));
+ EXPECT_CALL(pkg_set_db_handler, GetConnection())
+ .WillOnce(testing::Return(GetDBHandles()));
+ ASSERT_EQ(pkg_set_db_handler.Execute(), 0);
+
+ DepInfoGetDBHandlerMock depinfo_get_db_handler(0, 0);
+ depinfo_get_db_handler.SetPkgID("depends_on_pkgid");
+ EXPECT_CALL(depinfo_get_db_handler,
+ Connect()).WillOnce(testing::Return(true));
+ EXPECT_CALL(depinfo_get_db_handler, GetConnection())
+ .WillOnce(testing::Return(GetDBHandles()));
+ ASSERT_EQ(depinfo_get_db_handler.Execute(), 0);
+
+ auto depinfo_from_db = depinfo_get_db_handler.GetDependencyList();
+ ASSERT_EQ(depinfo_from_db.size(), 1);
+
+ std::vector<dependency_x*> depinfo_list;
+ depinfo_list.emplace_back(GetTestDepInfo("test_package"));
+
+ EXPECT_TRUE(IsEqualDepInfo(depinfo_list, depinfo_from_db));
+}