Add core test case for reset 80/272880/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Tue, 22 Mar 2022 03:53:27 +0000 (12:53 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Mon, 28 Mar 2022 01:51:29 +0000 (10:51 +0900)
Change-Id: I49830c414098c2cbe24c4007cbe507e180e95d58
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
tests/unittest/mocks/thread-mock-dbus.cpp
tests/unittest/mocks/thread-mock-dummy.cpp
tests/unittest/mocks/thread-mock-dummy.h
tests/unittest/thread-unittest-core.cpp

index bed2d02..be8d356 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <glib.h>
 #include <gio/gio.h>
+#include "thread-private.h"
 #include "thread-mock-dummy.h"
 
 GDBusConnection *g_bus_get_sync(GBusType bus_type,
@@ -61,6 +62,19 @@ void g_dbus_connection_signal_unsubscribe(GDBusConnection *connection,
 {
 }
 
+GVariant *g_dbus_proxy_call_sync(GDBusProxy *proxy,
+                                 const gchar *method_name,
+                                 GVariant *parameters,
+                                 GDBusCallFlags flags,
+                                 gint timeout_msec,
+                                 GCancellable *cancellable,
+                                 GError **error)
+{
+       retv_if(proxy == NULL, NULL);
+
+       return _handle_sync_method(method_name, parameters);
+}
+
 void g_object_unref(gpointer object)
 {
 }
\ No newline at end of file
index 726cf3c..3c6d4ed 100644 (file)
  * limitations under the License.
  */
 
+#include "thread-private.h"
+#include "thread-dbus-handler.h"
 #include "thread-mock-dummy.h"
 
-static GVariant * __properties_changed()
+static GVariant * __signal_properties_changed()
 {
        return nullptr;
 }
 
+static GVariant *__method_reset(GVariant *parameters)
+{
+       return g_variant_new("(i)", THREAD_ERROR_NONE);
+}
+
 struct {
        const gchar *interface_name;
        const gchar *signal_name;
@@ -29,9 +36,9 @@ struct {
        gpointer user_data;
 } thread_gdbus_signal_list[] = {
        [PROPERTIES_CHANGED] = {
-               "org.freedesktop.DBus.Properties",
-               "PropertiesChanged",
-               __properties_changed,
+               THREAD_EVENT_INTERFACE,
+               THREAD_EVENT_NAME,
+               __signal_properties_changed,
                NULL,
                NULL,
        },
@@ -44,12 +51,31 @@ struct {
        },
 };
 
+struct {
+       const gchar *method_name;
+       GVariant *(*sync_handler)(GVariant *parameters);
+} thread_gdbus_method_list[] = {
+       {
+               THREAD_DBUS_RESET_METHOD,
+               __method_reset,
+       },
+       {
+               NULL,
+               NULL,
+       }
+};
+
 static bool __is_same_signal(int i, const char *interface_name, const char *signal_name)
 {
        return (g_strcmp0(thread_gdbus_signal_list[i].interface_name, interface_name) == 0
                        && g_strcmp0(thread_gdbus_signal_list[i].signal_name, signal_name) == 0);
 }
 
+static bool __is_same_method(int i, const char *method_name)
+{
+       return (g_strcmp0(thread_gdbus_method_list[i].method_name, method_name) == 0);
+}
+
 guint _subscribe_signal(const char *interface_name,
                const char *member, GDBusSignalCallback callback,
                gpointer user_data)
@@ -63,4 +89,16 @@ guint _subscribe_signal(const char *interface_name,
                }
        }
        return DUMMY_SIGNAL_ID;
+}
+
+GVariant *_handle_sync_method(const gchar *method_name,
+               GVariant *parameters)
+{
+       for (int i = 0; ; ++i) {
+               if (thread_gdbus_method_list[i].method_name == NULL)
+                       return nullptr;
+
+               if (__is_same_method(i, method_name))
+                       return thread_gdbus_method_list[i].sync_handler(parameters);
+       }
 }
\ No newline at end of file
index 54df057..0cae601 100644 (file)
@@ -28,3 +28,6 @@ typedef enum {
 guint _subscribe_signal(const char *interface_name,
                const char *member, GDBusSignalCallback callback,
                gpointer user_data);
+
+GVariant *_handle_sync_method(const gchar *method_name,
+               GVariant *parameters);
index b9e9908..29f763d 100644 (file)
@@ -97,4 +97,21 @@ TEST_F(ThreadCoreTest, StopErrorNone)
        EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
        EXPECT_EQ(THREAD_ERROR_NONE, thread_start(instance));
        EXPECT_EQ(THREAD_ERROR_NONE, thread_stop(instance));
+}
+
+TEST_F(ThreadCoreTest, ResetNotInitialized)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_reset(instance));
+}
+
+TEST_F(ThreadCoreTest, ResetInvalidParameter)
+{
+       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_reset(instance));
+}
+
+TEST_F(ThreadCoreTest, ResetErrorNone)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_reset(instance));
 }
\ No newline at end of file