about summary refs log blame commit diff stats
path: root/tests/functionaltests/test_connect.c
blob: 5fcb8a2f3069eaffc2d646736e0d0630eb498361 (plain) (tree)
>resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_chat); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); const char *presence = p_contact_presence(contact); assert_string_equal("chat", presence); p_contact_free(contact); } void contact_presence_online_when_same_prioroty(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both", "is offline", FALSE); Resource *resource_online = resource_new("resource_online", RESOURCE_ONLINE, NULL, 10); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 10); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); const char *presence = p_contact_presence(contact); assert_string_equal("online", presence); p_contact_free(contact); } void contact_presence_away_when_same_prioroty(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both", "is offline", FALSE); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 10); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); const char *presence = p_contact_presence(contact); assert_string_equal("away", presence); p_contact_free(contact); } void contact_presence_xa_when_same_prioroty(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both", "is offline", FALSE); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); const char *presence = p_contact_presence(contact); assert_string_equal("xa", presence); p_contact_free(contact); } void contact_presence_dnd(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both", "is offline", FALSE); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_dnd); const char *presence = p_contact_presence(contact); assert_string_equal("dnd", presence); p_contact_free(contact); } void contact_subscribed_when_to(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "to", "is offline", FALSE); gboolean result = p_contact_subscribed(contact); assert_true(result); p_contact_free(contact); } void contact_subscribed_when_both(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "both", "is offline", FALSE); gboolean result = p_contact_subscribed(contact); assert_true(result); p_contact_free(contact); } void contact_not_subscribed_when_from(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, "from", "is offline", FALSE); gboolean result = p_contact_subscribed(contact); assert_false(result); p_contact_free(contact); } void contact_not_subscribed_when_no_subscription_value(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); gboolean result = p_contact_subscribed(contact); assert_false(result); p_contact_free(contact); } void contact_not_available(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); gboolean result = p_contact_is_available(contact); assert_false(result); p_contact_free(contact); } void contact_not_available_when_highest_priority_away(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); Resource *resource_online = resource_new("resource_online", RESOURCE_ONLINE, NULL, 10); Resource *resource_chat = resource_new("resource_chat", RESOURCE_CHAT, NULL, 10); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 20); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_chat); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); gboolean result = p_contact_is_available(contact); assert_false(result); p_contact_free(contact); } void contact_not_available_when_highest_priority_xa(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); Resource *resource_online = resource_new("resource_online", RESOURCE_ONLINE, NULL, 10); Resource *resource_chat = resource_new("resource_chat", RESOURCE_CHAT, NULL, 10); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 10); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 20); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_chat); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); gboolean result = p_contact_is_available(contact); assert_false(result); p_contact_free(contact); } void contact_not_available_when_highest_priority_dnd(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); Resource *resource_online = resource_new("resource_online", RESOURCE_ONLINE, NULL, 10); Resource *resource_chat = resource_new("resource_chat", RESOURCE_CHAT, NULL, 10); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 10); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 20); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_chat); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); gboolean result = p_contact_is_available(contact); assert_false(result); p_contact_free(contact); } void contact_available_when_highest_priority_online(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); Resource *resource_online = resource_new("resource_online", RESOURCE_ONLINE, NULL, 20); Resource *resource_chat = resource_new("resource_chat", RESOURCE_CHAT, NULL, 10); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 10); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_chat); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); gboolean result = p_contact_is_available(contact); assert_true(result); p_contact_free(contact); } void contact_available_when_highest_priority_chat(void **state) { PContact contact = p_contact_new("bob@server.com", "bob", NULL, NULL, "is offline", FALSE); Resource *resource_online = resource_new("resource_online", RESOURCE_ONLINE, NULL, 10); Resource *resource_chat = resource_new("resource_chat", RESOURCE_CHAT, NULL, 20); Resource *resource_away = resource_new("resource_away", RESOURCE_AWAY, NULL, 10); Resource *resource_xa = resource_new("resource_xa", RESOURCE_XA, NULL, 10); Resource *resource_dnd = resource_new("resource_dnd", RESOURCE_DND, NULL, 10); p_contact_set_presence(contact, resource_online); p_contact_set_presence(contact, resource_chat); p_contact_set_presence(contact, resource_away); p_contact_set_presence(contact, resource_xa); p_contact_set_presence(contact, resource_dnd); gboolean result = p_contact_is_available(contact); assert_true(result); p_contact_free(contact); }