diff options
author | James Booth <boothj5@gmail.com> | 2015-05-25 02:18:31 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-05-25 02:18:31 +0100 |
commit | 06b18be8514eab863f3a65262a36fcbd8a0f2f62 (patch) | |
tree | f80607883faeab70c8530fb7e365e909d422b13b /stabbertests/test_connect.c | |
parent | af73cb82e6552314e41b01043e086f9d55b1d8d4 (diff) | |
download | profani-tty-06b18be8514eab863f3a65262a36fcbd8a0f2f62.tar.gz |
Added custom resource checker
Diffstat (limited to 'stabbertests/test_connect.c')
-rw-r--r-- | stabbertests/test_connect.c | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/stabbertests/test_connect.c b/stabbertests/test_connect.c index 1c833c82..759dc4e5 100644 --- a/stabbertests/test_connect.c +++ b/stabbertests/test_connect.c @@ -9,6 +9,7 @@ #include <stabber.h> #include "proftest.h" +#include "checkers/checkers.h" #include "xmpp/xmpp.h" #include "ui/stub_ui.h" #include "ui/window.h" @@ -100,6 +101,57 @@ connect_bad_password(void **state) } void +show_presence_updates(void **state) +{ + will_return(ui_ask_password, strdup("password")); + expect_any_cons_show(); + + stbbr_for("roster", + "<iq id=\"roster\" type=\"result\" to=\"stabber@localhost/profanity\">" + "<query xmlns=\"jabber:iq:roster\" ver=\"362\">" + "<item jid=\"buddy1@localhost\" subscription=\"both\" name=\"Buddy1\"/>" + "<item jid=\"buddy2@localhost\" subscription=\"both\" name=\"Buddy2\"/>" + "</query>" + "</iq>" + ); + + cmd_process_input(strdup("/connect stabber@localhost port 5230")); + prof_process_xmpp(20); + + stbbr_send( + "<presence to=\"stabber@localhost\" from=\"buddy1@localhost/mobile\">" + "<show>dnd</show>" + "<status>busy!</status>" + "</presence>" + "<presence to=\"stabber@localhost\" from=\"buddy1@localhost/laptop\">" + "<show>chat</show>" + "<status>Talk to me!</status>" + "</presence>" + "<presence to=\"stabber@localhost\" from=\"buddy2@localhost/work\">" + "<show>away</show>" + "<status>Out of office</status>" + "</presence>" + ); + + Resource *resource1 = resource_new("mobile", RESOURCE_DND, "busy!", 0); + expect_string(ui_contact_online, barejid, "buddy1@localhost"); + expect_check(ui_contact_online, resource, (CheckParameterValue)resource_equal_check, resource1); + expect_value(ui_contact_online, last_activity, NULL); + + Resource *resource2 = resource_new("laptop", RESOURCE_CHAT, "Talk to me!", 0); + expect_string(ui_contact_online, barejid, "buddy1@localhost"); + expect_check(ui_contact_online, resource, (CheckParameterValue)resource_equal_check, resource2); + expect_value(ui_contact_online, last_activity, NULL); + + Resource *resource3 = resource_new("work", RESOURCE_AWAY, "Out of office", 0); + expect_string(ui_contact_online, barejid, "buddy2@localhost"); + expect_check(ui_contact_online, resource, (CheckParameterValue)resource_equal_check, resource3); + expect_value(ui_contact_online, last_activity, NULL); + + prof_process_xmpp(20); +} + +void sends_rooms_iq(void **state) { will_return(ui_ask_password, strdup("password")); @@ -182,7 +234,6 @@ responds_to_ping(void **state) "<ping xmlns=\"urn:xmpp:ping\"/>" "</iq>" ); - prof_process_xmpp(20); assert_true(stbbr_verify( |