about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-05-27 23:00:42 +0100
committerJames Booth <boothj5@gmail.com>2015-05-27 23:00:42 +0100
commitf8c5ed572729688a2ea26857a6bb94566b853410 (patch)
tree9b491b268905b476d5cc197d73b89f4cf10c2433
parent3760084680ded8abe6ee6bae6244d513f07f6e00 (diff)
downloadprofani-tty-f8c5ed572729688a2ea26857a6bb94566b853410.tar.gz
Implemented remaining tests with expect and stabber
-rw-r--r--stabbertests/proftest.c2
-rw-r--r--stabbertests/stabbertestsuite.c18
-rw-r--r--stabbertests/test_connect.c186
-rw-r--r--stabbertests/test_connect.h6
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);