Added additional test cases for stc-manager firewall dbus methods
[platform/core/connectivity/stc-manager.git] / unittest / statistics.cpp
index 49ebd6a..2b4b5e5 100644 (file)
 #include <gtest/gtest.h>
 
 #include "statistics.h"
-
-static GMainLoop *g_pMainLoop = NULL;
-static guint g_nTimeoutId = 0;
-
-static gboolean CallbackTimeut(gpointer data)
-{
-       if (g_pMainLoop)
-               g_main_loop_quit(g_pMainLoop);
-
-       return false;
-}
-
-static void RunMainLoop(void)
-{
-       g_pMainLoop = g_main_loop_new(NULL, false);
-       g_nTimeoutId = g_timeout_add(GMAINTIMEOUT, CallbackTimeut, g_pMainLoop);
-       g_main_loop_run(g_pMainLoop);
-
-       g_source_remove(g_nTimeoutId);
-       g_pMainLoop = NULL;
-}
-
-static void QuitMainLoop(void)
-{
-       if (g_pMainLoop)
-               g_main_loop_quit(g_pMainLoop);
-}
+#include "common.h"
 
 static void AsyncReadyCallback(GObject *source_object,
        GAsyncResult *res, gpointer user_data)
 {
+       MainLoop *M = (MainLoop *)user_data;
        GLOGD("Succeeded to response async callback");
-       QuitMainLoop();
+       M->quit();
 }
 
 SRule::SRule()
@@ -209,6 +184,7 @@ error_e Statistics::InitStatistics(void)
 
 error_e Statistics::GetStatistics(void)
 {
+       MainLoop M;
        GVariant *params = NULL;
        error_e error = ERROR_NONE;
 
@@ -221,14 +197,14 @@ error_e Statistics::GetStatistics(void)
                params,
                DBUS_REPLY_TIMEOUT,
                AsyncReadyCallback,
-               NULL);
+               &M);
 
        if (error != ERROR_NONE) {
                GLOGD("Failed to invoke dbus method nonblock");
                return error;
        }
 
-       RunMainLoop();
+       M.run(GMAINTIMEOUT);
        GLOGD("Succeeded to get statistics per app ID");
 
        return ERROR_NONE;
@@ -236,6 +212,7 @@ error_e Statistics::GetStatistics(void)
 
 error_e Statistics::GetTotalStatistics(void)
 {
+       MainLoop M;
        GVariant *params = NULL;
        error_e error = ERROR_NONE;
 
@@ -248,14 +225,14 @@ error_e Statistics::GetTotalStatistics(void)
                params,
                DBUS_REPLY_TIMEOUT,
                AsyncReadyCallback,
-               NULL);
+               &M);
 
        if (error != ERROR_NONE) {
                GLOGD("Failed to invoke dbus method nonblock");
                return error;
        }
 
-       RunMainLoop();
+       M.run(GMAINTIMEOUT);
        GLOGD("Succeeded to get total statistics");
 
        return ERROR_NONE;
@@ -263,6 +240,7 @@ error_e Statistics::GetTotalStatistics(void)
 
 error_e Statistics::GetAllStatistics(void)
 {
+       MainLoop M;
        GVariant *params = NULL;
        error_e error = ERROR_NONE;
 
@@ -275,14 +253,14 @@ error_e Statistics::GetAllStatistics(void)
                params,
                DBUS_REPLY_TIMEOUT,
                AsyncReadyCallback,
-               NULL);
+               &M);
 
        if (error != ERROR_NONE) {
                GLOGD("Failed to invoke dbus method nonblock");
                return error;
        }
 
-       RunMainLoop();
+       M.run(GMAINTIMEOUT);
        GLOGD("Succeeded to get all statistics");
 
        return ERROR_NONE;