*/
#include <gmock/gmock.h>
-
#include <gtest/gtest.h>
#include <cstdio>
+#include <fstream>
#include "cert_set_db_handler.hh"
#include "cert_get_db_handler.hh"
#include "create_db_handler.hh"
#include "db_type.hh"
-#include "mock/file_mock.h"
#include "parcel_utils.hh"
-
#include "pkgmgr-info.h"
#include "pkgmgrinfo_basic.h"
+#include "server/pkgmgrinfo_internal.h"
#define TEST_CERT_DB "test.pkgmgr_cert.db"
: psd::CreateDBHandler(uid, pid) {}
MOCK_METHOD0(Connect, bool());
- MOCK_METHOD0(GetConnection, std::vector<std::pair<sqlite3*, uid_t>>());
+ MOCK_METHOD0(GetConnection, const std::vector<std::pair<tizen_base::Database,
+ uid_t>>&());
};
class CertSetDBHandlerMock : public psd::CertSetDBHandler {
CertSetDBHandlerMock(uid_t uid, int pid) : psd::CertSetDBHandler(uid, pid) {}
MOCK_METHOD0(Connect, bool());
- MOCK_METHOD0(GetConnection, std::vector<std::pair<sqlite3*, uid_t>>());
+ MOCK_METHOD0(GetConnection, const std::vector<std::pair<tizen_base::Database,
+ uid_t>>&());
};
class CertGetDBHandlerMock : public psd::CertGetDBHandler {
CertGetDBHandlerMock(uid_t uid, int pid) : psd::CertGetDBHandler(uid, pid) {}
MOCK_METHOD0(Connect, bool());
- MOCK_METHOD0(GetConnection, std::vector<std::pair<sqlite3*, uid_t>>());
+ MOCK_METHOD0(GetConnection, const std::vector<std::pair<tizen_base::Database,
+ uid_t>>&());
};
class CertDBHandlerTest : public ::testing::Test {
public:
virtual void SetUp() {
- sqlite3 *db;
- ASSERT_EQ(sqlite3_open_v2(TEST_CERT_DB, &db,
- SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL), SQLITE_OK);
-
- SetDBHandles(
- std::vector<std::pair<sqlite3*, uid_t>> { std::make_pair(db, 0) });
+ tizen_base::Database db(TEST_CERT_DB, SQLITE_OPEN_READWRITE |
+ SQLITE_OPEN_CREATE);
+ db_handles_.emplace_back(std::move(db), 0);
CreateCertDBHandlerMock create_db_handler(0, 0);
EXPECT_CALL(create_db_handler, Connect())
.Times(2).WillRepeatedly(testing::Return(true));
EXPECT_CALL(create_db_handler, GetConnection())
- .Times(2).WillRepeatedly(testing::Return(GetDBHandles()));
+ .Times(2).WillRepeatedly(testing::ReturnRef(db_handles_));
- fopen_mock_setup(true);
+ MakeVersionFile();
+ pkgmgr_server::internal::SetEnableUnitTest(true);
ASSERT_EQ(create_db_handler.Execute(), 0);
- fopen_mock_setup(false);
+ pkgmgr_server::internal::SetEnableUnitTest(false);
}
virtual void TearDown() {
- for (auto& handle : db_handles_)
- sqlite3_close_v2(handle.first);
-
+ db_handles_.clear();
ASSERT_EQ(remove(TEST_CERT_DB), 0);
std::string journal_path(TEST_CERT_DB);
journal_path += "-journal";
ASSERT_EQ(remove(journal_path.c_str()), 0);
}
- const std::vector<std::pair<sqlite3*, uid_t>>& GetDBHandles() {
- return db_handles_;
- }
-
private:
- void SetDBHandles(std::vector<std::pair<sqlite3*, uid_t>> db_handles) {
- db_handles_ = std::move(db_handles);
+ void MakeVersionFile() {
+ std::remove("./pkg_db_version.txt");
+ std::ofstream ofs("./pkg_db_version.txt");
+ ofs << "30005";
}
- std::vector<std::pair<sqlite3*, uid_t>> db_handles_;
+ protected:
+ std::vector<std::pair<tizen_base::Database, uid_t>> db_handles_;
};
TEST_F(CertDBHandlerTest, CertDBHandlerTest) {
EXPECT_CALL(cert_set_db_handler, Connect()).WillOnce(testing::Return(true));
EXPECT_CALL(cert_set_db_handler, GetConnection())
- .WillOnce(testing::Return(GetDBHandles()));
+ .WillOnce(testing::ReturnRef(db_handles_));
ASSERT_EQ(cert_set_db_handler.Execute(), 0);
CertGetDBHandlerMock cert_get_db_handler(0, 0);
EXPECT_CALL(cert_get_db_handler, Connect()).WillOnce(testing::Return(true));
EXPECT_CALL(cert_get_db_handler, GetConnection())
- .WillOnce(testing::Return(GetDBHandles()));
+ .WillOnce(testing::ReturnRef(db_handles_));
cert_get_db_handler.SetPkgID("test_pkgid");
ASSERT_EQ(cert_get_db_handler.Execute(), PMINFO_R_OK);