#include <stdlib.h>
#include <gtest/gtest.h>
+#include <pkgmgrinfo_type.h>
#include "badge.h"
+#include "badge_db.h"
+#include "badge_internal.h"
+#include "badge_setting.h"
+#include "badge_setting_service.h"
#include <memory>
using ::testing::DoAll;
using ::testing::Return;
using ::testing::SetArgPointee;
+using ::testing::Invoke;
+
+
+typedef enum {
+ LOG_ID_INVALID = -1,
+ LOG_ID_MAIN,
+ LOG_ID_RADIO,
+ LOG_ID_SYSTEM,
+ LOG_ID_APPS,
+ LOG_ID_KMSG,
+ LOG_ID_SYSLOG,
+ LOG_ID_MAX
+} log_id_t;
+
+extern "C" int __dlog_print(
+ log_id_t log_id, int prio, const char* tag, const char* fmt, ...) {
+ va_list ap;
+ va_start(ap, fmt);
+ vprintf(fmt, ap);
+ va_end(ap);
+ printf("\n");
+
+ return 0;
+}
+
+extern "C" int __dlog_sec_print(
+ log_id_t log_id, int prio, const char* tag, const char* fmt, ...) {
+ va_list ap;
+ va_start(ap, fmt);
+ vprintf(fmt, ap);
+ va_end(ap);
+ printf("\n");
+
+ return 0;
+}
class Mocks : public ::testing::NiceMock<SystemInfoMock>,
public ::testing::NiceMock<GioMock>,
virtual ~BadgeTest() {}
virtual void SetUp() {
+ pkgid_ = const_cast<char*>("mypkgid");
+ pkgid2_ = const_cast<char*>("pkgname");
+ pkgid3_ = const_cast<char*>("pkgname2");
+ conn_ = static_cast<GDBusConnection*>(g_object_new(G_TYPE_OBJECT, NULL));
+ msg_ = static_cast<GDBusMessage*>(g_object_new(G_TYPE_OBJECT, NULL));
+ msg2_ = static_cast<GDBusMessage*>(g_object_new(G_TYPE_OBJECT, NULL));
+
}
virtual void TearDown() {
}
+
+ char* pkgid_ = nullptr;
+ char* pkgid2_ = nullptr;
+ char* pkgid3_ = nullptr;
+ GDBusConnection* conn_ = nullptr;
+ GDBusMessage* msg_ = nullptr;
+ GDBusMessage* msg2_ = nullptr;
};
TEST_F(BadgeTest, badge_new) {
int ret;
bool is_supported = true;
- char *_pkgid = (char *)"mypkgid";
- GDBusConnection *_conn = (GDBusConnection*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<AulMock>(),
aul_app_get_pkgname_bypid(_, _, _)).
- WillOnce(DoAll(SetArgPointee<1>(*_pkgid),
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
Return(0)));
EXPECT_CALL(GetMock<GioMock>(),
g_bus_get_sync(_, _, _)).
- WillOnce(Return(_conn));
+ WillOnce(Return(conn_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_to_gerror(_, _)).
ret = badge_new("testappid");
- g_object_unref(_conn);
+ g_object_unref(conn_);
EXPECT_EQ(ret, BADGE_ERROR_NONE);
}
TEST_F(BadgeTest, badge_add) {
int ret;
bool is_supported = true;
- char *_pkgid = (char *)"mypkgid";
- package_manager_compare_result_type_e comp_ret = PACKAGE_MANAGER_COMPARE_MATCH;
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
+ package_manager_compare_result_type_e comp_ret =
+ PACKAGE_MANAGER_COMPARE_MATCH;
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<AulMock>(),
aul_app_get_pkgname_bypid(_, _, _)).
- WillOnce(DoAll(SetArgPointee<1>(*_pkgid),
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
Return(0)));
EXPECT_CALL(GetMock<PackageManagerMock>(),
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_to_gerror(_, _)).
TEST_F(BadgeTest, badge_remove) {
int ret;
bool is_supported = true;
- char *_pkgid = (char *)"mypkgid";
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<AulMock>(),
aul_app_get_pkgname_bypid(_, _, _)).
- WillOnce(DoAll(SetArgPointee<1>(*_pkgid),
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
Return(0)));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_to_gerror(_, _)).
TEST_F(BadgeTest, badge_set_count) {
int ret;
bool is_supported = true;
- char *_pkgid = (char *)"mypkgid";
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<AulMock>(),
aul_app_get_pkgname_bypid(_, _, _)).
- WillOnce(DoAll(SetArgPointee<1>(*_pkgid),
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
Return(0)));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_to_gerror(_, _)).
int ret;
bool is_supported = true;
unsigned int count = 0;
- GVariant *body = g_variant_new("(i)", 3);
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
+ GVariant* body = g_variant_new("(i)", 3);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_get_body(_)).
TEST_F(BadgeTest, badge_set_display) {
int ret;
bool is_supported = true;
- char *_pkgid = (char *)"mypkgid";
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<AulMock>(),
aul_app_get_pkgname_bypid(_, _, _)).
- WillOnce(DoAll(SetArgPointee<1>(*_pkgid),
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
Return(0)));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_to_gerror(_, _)).
int ret;
bool is_supported = true;
unsigned int is_display = 0;
- GVariant *body = g_variant_new("(i)", 1);
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
+ GVariant* body = g_variant_new("(i)", 1);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_get_body(_)).
EXPECT_EQ(ret, BADGE_ERROR_NONE);
}
-bool _badge_foreach_cb(const char *app_id, unsigned int count, void *user_data) {
+bool _badge_foreach_cb(
+ const char* app_id, unsigned int count, void* user_data) {
return true;
}
TEST_F(BadgeTest, badge_foreach) {
int ret;
bool is_supported = true;
- GVariant *body = g_variant_new("(a(v))", NULL);
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
+ GVariant* body = g_variant_new("(a(v))", NULL);
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg));
+ WillOnce(Return(msg_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_get_body(_)).
EXPECT_EQ(ret, BADGE_ERROR_NONE);
}
-void _badge_change_cb(unsigned int action, const char *app_id,
- unsigned int count, void *user_data) {
+void _badge_change_cb(unsigned int action, const char* app_id,
+ unsigned int count, void* user_data) {
+}
+
+guint _signal_subscribe(GDBusConnection* connection, const gchar* sender,
+ const gchar* interface_name, const gchar* member,
+ const gchar* object_path, const gchar* arg0, GDBusSignalFlags flags,
+ GDBusSignalCallback callback, gpointer user_data,
+ GDestroyNotify user_data_free_func) {
+
+ GVariant* parameters = g_variant_new("(si)", "pkgname", 1000);
+ callback(nullptr, "", "", "", "insert_badge_notify", parameters, nullptr);
+ return 99;
}
TEST_F(BadgeTest, badge_register_changed_cb) {
int ret;
bool is_supported = true;
- GDBusMessage *_msg = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg2 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg3 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
- GDBusMessage *_msg4 = (GDBusMessage*)g_object_new(G_TYPE_OBJECT, NULL);
+ GDBusMessage* msg3 = static_cast<GDBusMessage*>(
+ g_object_new(G_TYPE_OBJECT, NULL));
+ GDBusMessage* msg4 = static_cast<GDBusMessage*>(
+ g_object_new(G_TYPE_OBJECT, NULL));
EXPECT_CALL(GetMock<SystemInfoMock>(),
system_info_get_platform_bool(_, _)).
WillRepeatedly(DoAll(SetArgPointee<1>(is_supported),
Return(0)));
-
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_signal_subscribe(
_, _, _, _, _, _, _, _, _, _)).
- WillOnce(Return(99));
+ WillOnce(Invoke(_signal_subscribe));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_new_method_call(_, _, _, _)).
- WillOnce(Return(_msg)).
- WillOnce(Return(_msg2));
+ WillOnce(Return(msg_)).
+ WillOnce(Return(msg2_));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_connection_send_message_with_reply_sync(
_, _, _, _, _, _, _)).
- WillOnce(Return(_msg3)).
- WillOnce(Return(_msg4));
+ WillOnce(Return(msg3)).
+ WillOnce(Return(msg4));
EXPECT_CALL(GetMock<GioMock>(),
g_dbus_message_to_gerror(_, _)).
EXPECT_EQ(ret, BADGE_ERROR_NONE);
}
+
+extern "C" const char* tzplatform_mkpath(
+ enum tzplatform_variable id, const char* path) {
+ return "badge.db";
+}
+
+TEST_F(BadgeTest, badge_db_is_existing) {
+ bool existing;
+ badge_db_init();
+ int ret = badge_db_is_existing("test", &existing, getuid());
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_insert) {
+ EXPECT_CALL(GetMock<AulMock>(),
+ aul_app_get_pkgname_bypid(_, _, _)).
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
+ Return(0)));
+ int ret = badge_db_insert(pkgid3_, "writable_pkg", "caller", 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_get_list) {
+ GList* list = nullptr;
+ int ret = badge_db_get_list(&list, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_delete) {
+ int ret = badge_db_delete(pkgid2_, "writable_pkgs", getuid(), getpid());
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_delete_by_pkgname) {
+ EXPECT_CALL(GetMock<AulMock>(),
+ aul_app_get_pkgname_bypid(_, _, _)).
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
+ Return(0)));
+ int ret = badge_db_insert(pkgid2_, "writable_pkg", "caller", 1000);
+ ret = badge_db_delete_by_pkgname(pkgid2_, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_set_count) {
+ int ret = badge_db_set_count(pkgid3_, "caller", 2, getuid(), getpid());
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_get_count) {
+ unsigned int cnt;
+ int ret = badge_db_get_count(pkgid3_, &cnt, getuid());
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_set_display_option) {
+ int ret = badge_db_set_display_option(pkgid3_, 1, getuid());
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_get_display_option) {
+ unsigned int is_display;
+ int ret = badge_db_get_display_option(pkgid3_, &is_display, getuid());
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_create_for_uid) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillOnce(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+
+ EXPECT_CALL(GetMock<AulMock>(),
+ aul_app_get_pkgname_bypid(_, _, _)).
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
+ Return(0)));
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_new_method_call(_, _, _, _)).
+ WillOnce(Return(msg_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_connection_send_message_with_reply_sync(
+ _, _, _, _, _, _, _)).
+ WillOnce(Return(msg2_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_to_gerror(_, _)).
+ WillOnce(Return(FALSE));
+ int ret = badge_create_for_uid(pkgid3_, "writable_pkg", 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_new_for) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillRepeatedly(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+
+ EXPECT_CALL(GetMock<AulMock>(),
+ aul_app_get_pkgname_bypid(_, _, _)).
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
+ Return(0)));
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_new_method_call(_, _, _, _)).
+ WillOnce(Return(msg_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_connection_send_message_with_reply_sync(
+ _, _, _, _, _, _, _)).
+ WillOnce(Return(msg2_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_to_gerror(_, _)).
+ WillOnce(Return(FALSE));
+ int ret = badge_new_for(nullptr, "writable_pkg");
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+extern "C" GVariant* g_dbus_connection_call_sync(
+ GDBusConnection* connection, const gchar* bus_name,
+ const gchar* object_path, const gchar* interface_name,
+ const gchar* method_name, GVariant* parameters,
+ const GVariantType* reply_type, GDBusCallFlags flags,
+ gint timeout_msec, GCancellable* cancellable, GError** error) {
+ return g_variant_new("(b)", 1);
+}
+
+TEST_F(BadgeTest, badge_is_service_ready) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillOnce(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+
+ int ret = badge_is_service_ready();
+ EXPECT_EQ(ret, 1);
+}
+
+void _deferred_task(void* data) {
+}
+
+TEST_F(BadgeTest, badge_add_deferred_task) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillOnce(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+ int ret = badge_add_deferred_task(_deferred_task, nullptr);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_del_deferred_task) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillOnce(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+ int ret = badge_del_deferred_task(_deferred_task);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_is_existing) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillRepeatedly(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_new_method_call(_, _, _, _)).
+ WillOnce(Return(msg_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_connection_send_message_with_reply_sync(
+ _, _, _, _, _, _, _)).
+ WillOnce(Return(msg2_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_to_gerror(_, _)).
+ WillOnce(Return(FALSE));
+ bool existing;
+ int ret = badge_is_existing(pkgid3_, &existing);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_create) {
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillRepeatedly(DoAll(
+ SetArgPointee<1>(true),
+ Return(0)));
+
+ EXPECT_CALL(GetMock<AulMock>(),
+ aul_app_get_pkgname_bypid(_, _, _)).
+ WillOnce(DoAll(SetArgPointee<1>(*pkgid_),
+ Return(0)));
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_new_method_call(_, _, _, _)).
+ WillOnce(Return(msg_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_connection_send_message_with_reply_sync(
+ _, _, _, _, _, _, _)).
+ WillOnce(Return(msg2_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_to_gerror(_, _)).
+ WillOnce(Return(FALSE));
+ int ret = badge_create("pkgname3", "writable");
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_setting_positive) {
+ badge_setting_h setting;
+ GVariant* reply_body = g_variant_new("(v)",
+ g_variant_new("(ssi)", pkgid2_, "appid", 1));
+ auto v_ptr =
+ std::unique_ptr<GVariant, decltype(g_object_unref)*>(
+ reply_body, g_object_unref);
+
+ EXPECT_CALL(GetMock<SystemInfoMock>(),
+ system_info_get_platform_bool(_, _)).
+ WillRepeatedly(DoAll(SetArgPointee<1>(true),
+ Return(0)));
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_new_method_call(_, _, _, _)).
+ WillRepeatedly(Return(msg_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_connection_send_message_with_reply_sync(
+ _, _, _, _, _, _, _)).
+ WillRepeatedly(Return(msg_));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_get_body(_)).
+ WillRepeatedly(Return(reply_body));
+
+ EXPECT_CALL(GetMock<GioMock>(),
+ g_dbus_message_to_gerror(_, _)).
+ WillRepeatedly(Return(FALSE));
+
+ int ret = badge_setting_get_setting_by_appid(&setting, "appid");
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+
+ char* pkgname;
+ ret = badge_setting_get_pkgname(setting, &pkgname);
+ if (pkgname)
+ free(pkgname);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+
+ char* appid;
+ ret = badge_setting_get_appid(setting, &appid);
+ if (appid)
+ free(appid);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+
+ ret = badge_setting_set_allow_to_display(setting, true);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+
+ bool allow;
+ ret = badge_setting_get_allow_to_display(setting, &allow);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+
+ ret = badge_setting_update_setting(setting);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+
+ ret = badge_setting_free_setting(setting);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_setting_negative) {
+ int ret = badge_setting_get_setting_by_appid(nullptr, nullptr);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+
+ char* pkgname;
+ ret = badge_setting_get_pkgname(nullptr, &pkgname);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+
+ char* appid;
+ ret = badge_setting_get_appid(nullptr, &appid);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+
+ ret = badge_setting_set_allow_to_display(nullptr, true);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+
+ bool allow;
+ ret = badge_setting_get_allow_to_display(nullptr, &allow);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+
+ ret = badge_setting_update_setting(nullptr);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+
+ ret = badge_setting_free_setting(nullptr);
+ EXPECT_EQ(ret, BADGE_ERROR_INVALID_PARAMETER);
+}
+
+TEST_F(BadgeTest, badge_db_get_setting_by_appid) {
+ badge_setting_h setting;
+ int ret = badge_db_get_setting_by_appid(pkgid3_, &setting, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+ badge_setting_free_setting(setting);
+}
+
+TEST_F(BadgeTest, badge_db_update_setting) {
+ int ret = badge_db_update_setting(pkgid3_, pkgid3_, 1, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_get_allow_to_display_by_appid) {
+ int allow_to_display;
+ int ret = badge_db_get_allow_to_display_by_appid(
+ pkgid3_, &allow_to_display, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_update_app_disabled) {
+ int ret = badge_db_update_app_disabled(
+ pkgid3_, true, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_db_update_pkg_disabled) {
+ int ret = badge_db_update_pkg_disabled(
+ pkgid3_, true, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+extern "C" int pkgmgrinfo_pkginfo_filter_create(
+ pkgmgrinfo_pkginfo_filter_h* handle) {
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_pkginfo_filter_add_string(
+ pkgmgrinfo_pkginfo_filter_h handle, const char* property,
+ const char* value) {
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_appinfo_filter_add_bool(
+ pkgmgrinfo_appinfo_filter_h handle,
+ const char* property, const bool value) {
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_pkginfo_get_pkgname(
+ pkgmgrinfo_pkginfo_h handle, char** pkg_name) {
+ *pkg_name = const_cast<char*>("pkgname");
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_appinfo_filter_create(
+ pkgmgrinfo_appinfo_filter_h* handle) {
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_appinfo_filter_add_string(
+ pkgmgrinfo_appinfo_filter_h handle, const char* property,
+ const char* value) {
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_pkginfo_usr_filter_foreach_pkginfo(
+ pkgmgrinfo_pkginfo_filter_h handle,
+ pkgmgrinfo_pkg_list_cb pkg_cb, void* user_data, uid_t uid) {
+ pkg_cb(nullptr, user_data);
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_appinfo_usr_filter_foreach_appinfo(
+ pkgmgrinfo_appinfo_filter_h handle,
+ pkgmgrinfo_app_list_cb app_cb, void* user_data, uid_t uid) {
+
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_appinfo_get_appid(
+ pkgmgrinfo_appinfo_h handle, char** appid) {
+ *appid = const_cast<char*>("pkgname");
+ return PMINFO_R_OK;
+}
+
+extern "C" int pkgmgrinfo_appinfo_get_pkgname(
+ pkgmgrinfo_appinfo_h handle, char** pkg_name) {
+ *pkg_name = const_cast<char*>("pkgname");
+ return PMINFO_R_OK;
+}
+
+TEST_F(BadgeTest, badge_setting_insert_package_for_uid) {
+ int ret = badge_setting_insert_package_for_uid(pkgid2_, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}
+
+TEST_F(BadgeTest, badge_setting_delete_package_for_uid) {
+ int ret = badge_setting_delete_package_for_uid(pkgid2_, 1000);
+ EXPECT_EQ(ret, BADGE_ERROR_NONE);
+}