diff options
author | James Booth <boothj5@gmail.com> | 2015-05-27 23:00:42 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-05-27 23:00:42 +0100 |
commit | f8c5ed572729688a2ea26857a6bb94566b853410 (patch) | |
tree | 9b491b268905b476d5cc197d73b89f4cf10c2433 | |
parent | 3760084680ded8abe6ee6bae6244d513f07f6e00 (diff) | |
download | profani-tty-f8c5ed572729688a2ea26857a6bb94566b853410.tar.gz |
Implemented remaining tests with expect and stabber
-rw-r--r-- | stabbertests/proftest.c | 2 | ||||
-rw-r--r-- | stabbertests/stabbertestsuite.c | 18 | ||||
-rw-r--r-- | stabbertests/test_connect.c | 186 | ||||
-rw-r--r-- | stabbertests/test_connect.h | 6 |
4 files changed, 97 insertions, 115 deletions
diff --git a/stabbertests/proftest.c b/stabbertests/proftest.c index 3b3014ad..1f303a70 100644 --- a/stabbertests/proftest.c +++ b/stabbertests/proftest.c @@ -124,8 +124,6 @@ _cleanup_dirs(void) void init_prof_test(void **state) { - exp_timeout = 2; - if (stbbr_start(5230) != 0) { assert_true(FALSE); return; diff --git a/stabbertests/stabbertestsuite.c b/stabbertests/stabbertestsuite.c index 906a1031..a54b94dc 100644 --- a/stabbertests/stabbertestsuite.c +++ b/stabbertests/stabbertestsuite.c @@ -34,15 +34,15 @@ int main(int argc, char* argv[]) { unit_test_setup_teardown(show_presence_updates, init_prof_test, close_prof_test), -// unit_test_setup_teardown(sends_rooms_iq, -// init_prof_test, -// close_prof_test), -// unit_test_setup_teardown(multiple_pings, -// init_prof_test, -// close_prof_test), -// unit_test_setup_teardown(responds_to_ping, -// init_prof_test, -// close_prof_test), + unit_test_setup_teardown(sends_rooms_iq, + init_prof_test, + close_prof_test), + unit_test_setup_teardown(multiple_pings, + init_prof_test, + close_prof_test), + unit_test_setup_teardown(responds_to_ping, + init_prof_test, + close_prof_test), }; return run_tests(all_tests); diff --git a/stabbertests/test_connect.c b/stabbertests/test_connect.c index 7e29469d..ba88d50a 100644 --- a/stabbertests/test_connect.c +++ b/stabbertests/test_connect.c @@ -27,8 +27,6 @@ connect_jid_requests_roster(void **state) prof_input("/connect stabber@localhost port 5230"); prof_input("password"); - sleep(1); - assert_true(stbbr_verify( "<iq id=\"*\" type=\"get\"><query xmlns=\"jabber:iq:roster\"/></iq>" )); @@ -49,8 +47,6 @@ connect_jid_sends_presence_after_receiving_roster(void **state) prof_input("/connect stabber@localhost port 5230"); prof_input("password"); - sleep(1); - assert_true(stbbr_verify( "<presence id=\"*\">" "<c hash=\"sha-1\" xmlns=\"http://jabber.org/protocol/caps\" ver=\"*\" node=\"http://www.profanity.im\"/>" @@ -64,8 +60,6 @@ connect_jid_requests_bookmarks(void **state) prof_input("/connect stabber@localhost port 5230"); prof_input("password"); - sleep(1); - assert_true(stbbr_verify( "<iq id=\"*\" type=\"get\">" "<query xmlns=\"jabber:iq:private\">" @@ -96,11 +90,7 @@ show_presence_updates(void **state) "</iq>" ); - prof_input("/connect stabber@localhost port 5230"); - prof_input("password"); - assert_true(prof_output("stabber@localhost logged in successfully")); - - stbbr_send( + stbbr_for("prof_presence_1", "<presence to=\"stabber@localhost\" from=\"buddy1@localhost/mobile\">" "<show>dnd</show>" "<status>busy!</status>" @@ -115,97 +105,91 @@ show_presence_updates(void **state) "</presence>" ); + prof_input("/connect stabber@localhost port 5230"); + prof_input("password"); + assert_true(prof_output("Buddy1 (mobile) is dnd")); assert_true(prof_output("Buddy1 (laptop) is chat")); assert_true(prof_output("Buddy2 (work) is away")); + + stbbr_send( + "<presence to=\"stabber@localhost\" from=\"buddy1@localhost/mobile\">" + "<show>xa</show>" + "<status>Gone :(</status>" + "</presence>" + ); + + assert_true(prof_output("Buddy1 (mobile) is xa")); +} + +void +sends_rooms_iq(void **state) +{ + stbbr_for("confreq", + "<iq id=\"confreq\" type=\"result\" to=\"stabber@localhost/profanity\" from=\"conference.localhost\">" + "<query xmlns=\"http://jabber.org/protocol/disco#items\">" + "<item jid=\"chatroom@conference.localhost\" name=\"A chat room\"/>" + "<item jid=\"hangout@conference.localhost\" name=\"Another chat room\"/>" + "</query>" + "</iq>" + ); + + prof_input("/connect stabber@localhost port 5230"); + prof_input("password"); + prof_input("/rooms"); + + assert_true(stbbr_verify_last( + "<iq id=\"confreq\" to=\"conference.localhost\" type=\"get\">" + "<query xmlns=\"http://jabber.org/protocol/disco#items\"/>" + "</iq>" + )); +} + +void +multiple_pings(void **state) +{ + stbbr_for("prof_ping_1", + "<iq id=\"prof_ping_1\" type=\"result\" to=\"stabber@localhost/profanity\"/>" + ); + stbbr_for("prof_ping_2", + "<iq id=\"prof_ping_2\" type=\"result\" to=\"stabber@localhost/profanity\"/>" + ); + + prof_input("/connect stabber@localhost port 5230"); + prof_input("password"); + + prof_input("/ping"); + assert_true(stbbr_verify( + "<iq id=\"prof_ping_1\" type=\"get\">" + "<ping xmlns=\"urn:xmpp:ping\"/>" + "</iq>" + )); + assert_true(prof_output("Ping response from server")); + + prof_input("/ping"); + assert_true(stbbr_verify( + "<iq id=\"prof_ping_2\" type=\"get\">" + "<ping xmlns=\"urn:xmpp:ping\"/>" + "</iq>" + )); + assert_true(prof_output("Ping response from server")); +} + +void +responds_to_ping(void **state) +{ + prof_input("/connect stabber@localhost port 5230"); + prof_input("password"); + + assert_true(prof_output("stabber@localhost logged in successfully")); + + stbbr_send( + "<iq id=\"ping1\" type=\"get\" to=\"stabber@localhost/profanity\" from=\"localhost\">" + "<ping xmlns=\"urn:xmpp:ping\"/>" + "</iq>" + ); + + assert_true(stbbr_verify( + "<iq id=\"ping1\" type=\"result\" from=\"stabber@localhost/profanity\" to=\"localhost\"/>" + )); } -// -//void -//sends_rooms_iq(void **state) -//{ -// will_return(ui_ask_password, strdup("password")); -// -// expect_any_cons_show(); -// -// cmd_process_input(strdup("/connect stabber@localhost port 5230")); -// prof_process_xmpp(20); -// -// stbbr_for("confreq", -// "<iq id=\"confreq\" type=\"result\" to=\"stabber@localhost/profanity\" from=\"conference.localhost\">" -// "<query xmlns=\"http://jabber.org/protocol/disco#items\">" -// "<item jid=\"chatroom@conference.localhost\" name=\"A chat room\"/>" -// "<item jid=\"hangout@conference.localhost\" name=\"Another chat room\"/>" -// "</query>" -// "</iq>" -// ); -// -// cmd_process_input(strdup("/rooms")); -// prof_process_xmpp(20); -// -// assert_true(stbbr_verify_last( -// "<iq id=\"confreq\" to=\"conference.localhost\" type=\"get\">" -// "<query xmlns=\"http://jabber.org/protocol/disco#items\"/>" -// "</iq>" -// )); -//} -// -//void -//multiple_pings(void **state) -//{ -// will_return(ui_ask_password, strdup("password")); -// -// expect_any_cons_show(); -// -// cmd_process_input(strdup("/connect stabber@localhost port 5230")); -// prof_process_xmpp(20); -// -// expect_cons_show("Pinged server..."); -// expect_any_cons_show(); -// expect_cons_show("Pinged server..."); -// expect_any_cons_show(); -// -// stbbr_for("prof_ping_1", -// "<iq id=\"prof_ping_1\" type=\"result\" to=\"stabber@localhost/profanity\"/>" -// ); -// stbbr_for("prof_ping_2", -// "<iq id=\"prof_ping_2\" type=\"result\" to=\"stabber@localhost/profanity\"/>" -// ); -// -// cmd_process_input(strdup("/ping")); -// prof_process_xmpp(20); -// cmd_process_input(strdup("/ping")); -// prof_process_xmpp(20); -// -// assert_true(stbbr_verify( -// "<iq id=\"prof_ping_1\" type=\"get\">" -// "<ping xmlns=\"urn:xmpp:ping\"/>" -// "</iq>" -// )); -// assert_true(stbbr_verify( -// "<iq id=\"prof_ping_2\" type=\"get\">" -// "<ping xmlns=\"urn:xmpp:ping\"/>" -// "</iq>" -// )); -//} -// -//void -//responds_to_ping(void **state) -//{ -// will_return(ui_ask_password, strdup("password")); -// -// expect_any_cons_show(); -// -// cmd_process_input(strdup("/connect stabber@localhost port 5230")); -// prof_process_xmpp(20); -// -// stbbr_send( -// "<iq id=\"ping1\" type=\"get\" to=\"stabber@localhost/profanity\" from=\"localhost\">" -// "<ping xmlns=\"urn:xmpp:ping\"/>" -// "</iq>" -// ); -// prof_process_xmpp(20); -// -// assert_true(stbbr_verify( -// "<iq id=\"ping1\" type=\"result\" from=\"stabber@localhost/profanity\" to=\"localhost\"/>" -// )); -//} diff --git a/stabbertests/test_connect.h b/stabbertests/test_connect.h index a6078078..971652b0 100644 --- a/stabbertests/test_connect.h +++ b/stabbertests/test_connect.h @@ -4,6 +4,6 @@ void connect_jid_sends_presence_after_receiving_roster(void **state); void connect_jid_requests_bookmarks(void **state); void connect_bad_password(void **state); void show_presence_updates(void **state); -//void sends_rooms_iq(void **state); -//void multiple_pings(void **state); -//void responds_to_ping(void **state); +void sends_rooms_iq(void **state); +void multiple_pings(void **state); +void responds_to_ping(void **state); |