summaryrefslogtreecommitdiff
path: root/unit
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2012-02-15 10:19:49 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-02-28 13:17:49 +0200
commitb8a01fb8696b315efeccb19b0668bcc4025e0511 (patch)
tree5898091b42f56e434c4abade6b030583d06e1892 /unit
parente6bc3cee541f7d3c4d0f8ab4989c2be406ab578f (diff)
downloadconnman-b8a01fb8696b315efeccb19b0668bcc4025e0511.tar.gz
connman-b8a01fb8696b315efeccb19b0668bcc4025e0511.tar.bz2
connman-b8a01fb8696b315efeccb19b0668bcc4025e0511.zip
unit: switching from online to state property into test-session
Diffstat (limited to 'unit')
-rw-r--r--unit/session-api.c22
-rw-r--r--unit/test-connman.h8
-rw-r--r--unit/test-session.c37
3 files changed, 44 insertions, 23 deletions
diff --git a/unit/session-api.c b/unit/session-api.c
index 480a1ac8..7e3a3b1c 100644
--- a/unit/session-api.c
+++ b/unit/session-api.c
@@ -29,6 +29,16 @@
#include "test-connman.h"
+static enum connman_session_state string2state(const char *state)
+{
+ if (g_strcmp0(state, "connected") == 0)
+ return CONNMAN_SESSION_STATE_CONNECTED;
+ if (g_strcmp0(state, "online") == 0)
+ return CONNMAN_SESSION_STATE_ONLINE;
+
+ return CONNMAN_SESSION_STATE_DISCONNECTED;
+}
+
static const char *roamingpolicy2string(enum connman_session_roaming_policy policy)
{
switch (policy) {
@@ -163,10 +173,7 @@ static DBusMessage *notify_update(DBusConnection *conn,
}
break;
case DBUS_TYPE_BOOLEAN:
- if (g_str_equal(key, "Online") == TRUE) {
- dbus_message_iter_get_basic(&value,
- &info->online);
- } else if (g_str_equal(key, "Priority") == TRUE) {
+ if (g_str_equal(key, "Priority") == TRUE) {
dbus_message_iter_get_basic(&value,
&info->priority);
@@ -206,7 +213,12 @@ static DBusMessage *notify_update(DBusConnection *conn,
}
break;
case DBUS_TYPE_STRING:
- if (g_str_equal(key, "Bearer") == TRUE) {
+ if (g_str_equal(key, "State") == TRUE) {
+ const char *val;
+ dbus_message_iter_get_basic(&value, &val);
+
+ info->state = string2state(val);
+ } else if (g_str_equal(key, "Bearer") == TRUE) {
const char *val;
dbus_message_iter_get_basic(&value, &val);
diff --git a/unit/test-connman.h b/unit/test-connman.h
index 5602daa1..d04e230d 100644
--- a/unit/test-connman.h
+++ b/unit/test-connman.h
@@ -71,6 +71,12 @@ void util_session_cleanup(struct test_session *session);
typedef void (* notify_cb) (struct test_session *session);
+enum connman_session_state {
+ CONNMAN_SESSION_STATE_DISCONNECTED = 0,
+ CONNMAN_SESSION_STATE_CONNECTED = 1,
+ CONNMAN_SESSION_STATE_ONLINE = 2,
+};
+
enum connman_session_roaming_policy {
CONNMAN_SESSION_ROAMING_POLICY_UNKNOWN = 0,
CONNMAN_SESSION_ROAMING_POLICY_DEFAULT = 1,
@@ -82,7 +88,7 @@ enum connman_session_roaming_policy {
struct test_session_info {
char *bearer;
- connman_bool_t online;
+ enum connman_session_state state;
char *name;
/* ipv4, ipv6 dicts */
GSList *allowed_bearers;
diff --git a/unit/test-session.c b/unit/test-session.c
index 47704da9..38ed2bf7 100644
--- a/unit/test-session.c
+++ b/unit/test-session.c
@@ -220,9 +220,9 @@ static void set_session_mode(struct test_fix *fix,
static void test_session_connect_notify(struct test_session *session)
{
- LOG("session %p online %d", session, session->info->online);
+ LOG("session %p state %d", session, session->info->state);
- if (session->info->online != TRUE)
+ if (session->info->state == CONNMAN_SESSION_STATE_DISCONNECTED)
return;
util_session_cleanup(session);
@@ -254,9 +254,9 @@ static gboolean test_session_connect(gpointer data)
static void test_session_disconnect_notify(struct test_session *session)
{
- LOG("session %p online %d", session, session->info->online);
+ LOG("session %p state %d", session, session->info->state);
- if (session->info->online != FALSE)
+ if (session->info->state >= CONNMAN_SESSION_STATE_CONNECTED)
return;
util_session_cleanup(session);
@@ -290,20 +290,20 @@ static void test_session_connect_disconnect_notify(struct test_session *session)
enum test_session_state next_state = state;
DBusMessage *msg;
- LOG("state %d session %p %s online %d", state, session,
- session->notify_path, session->info->online);
+ LOG("state %d session %p %s state %d", state, session,
+ session->notify_path, session->info->state);
switch (state) {
case TEST_SESSION_STATE_0:
- if (session->info->online == FALSE)
+ if (session->info->state == CONNMAN_SESSION_STATE_DISCONNECTED)
next_state = TEST_SESSION_STATE_1;
break;
case TEST_SESSION_STATE_1:
- if (session->info->online == TRUE)
+ if (session->info->state >= CONNMAN_SESSION_STATE_CONNECTED)
next_state = TEST_SESSION_STATE_2;
break;
case TEST_SESSION_STATE_2:
- if (session->info->online == FALSE)
+ if (session->info->state == CONNMAN_SESSION_STATE_DISCONNECTED)
next_state = TEST_SESSION_STATE_3;
default:
break;
@@ -381,27 +381,30 @@ static void test_session_connect_free_ride_notify(struct test_session *session)
enum test_session_state next_state = state;
DBusMessage *msg;
- LOG("state %d session %p %s online %d", state, session,
- session->notify_path, session->info->online);
+ LOG("state %d session %p %s state %d", state, session,
+ session->notify_path, session->info->state);
switch (state) {
case TEST_SESSION_STATE_0:
- if (session0->info->online == FALSE &&
- session1->info->online == FALSE) {
+ if (session0->info->state == CONNMAN_SESSION_STATE_DISCONNECTED
+ && session1->info->state ==
+ CONNMAN_SESSION_STATE_DISCONNECTED) {
next_state = TEST_SESSION_STATE_1;
}
break;
case TEST_SESSION_STATE_1:
- if (session0->info->online == TRUE &&
- session1->info->online == TRUE) {
+ if (session0->info->state >= CONNMAN_SESSION_STATE_CONNECTED &&
+ session1->info->state >=
+ CONNMAN_SESSION_STATE_CONNECTED) {
next_state = TEST_SESSION_STATE_2;
}
break;
case TEST_SESSION_STATE_2:
- if (session0->info->online == FALSE &&
- session1->info->online == FALSE) {
+ if (session0->info->state == CONNMAN_SESSION_STATE_DISCONNECTED
+ && session1->info->state ==
+ CONNMAN_SESSION_STATE_DISCONNECTED) {
next_state = TEST_SESSION_STATE_3;
}