Unit tests for OnlinePollerThread
[irwi] / ut / ut_onlinepollerthread / ut_onlinepollerthread.cpp
1 #include "ut_onlinepollerthread.h"
2 #include "onlinepollerthread.h"
3
4 // stubs
5 #include <QNetworkConfigurationManager>
6 #include <QDBusConnection>
7
8 #include <QtTest>
9 #include <QSignalSpy>
10
11
12 void Ut_OnlinePollerThread::initTestCase()
13 {
14 }
15
16 void Ut_OnlinePollerThread::cleanupTestCase()
17 {
18 }
19
20 void init()
21 {
22     QDBusConnection::sentMessages.clear();
23 }
24
25 void Ut_OnlinePollerThread::testRunOnline()
26 {
27     OnlinePollerThread thread;
28     QNetworkConfigurationManager::online = true;
29     QSignalSpy spy(&thread, SIGNAL(online()));
30     thread.start();
31     QTest::qWait(500);
32     thread.stop();
33     
34     QCOMPARE(spy.count(), 1);
35     QCOMPARE(QDBusConnection::sentMessages.size(), 0);
36 }
37
38 void Ut_OnlinePollerThread::testRunOffline()
39 {
40     OnlinePollerThread thread;
41     QNetworkConfigurationManager::online = false;
42     QSignalSpy spy(&thread, SIGNAL(online()));
43     thread.start();
44     QTest::qWait(500);
45     thread.stop();
46
47     QCOMPARE(spy.count(), 0);
48     QCOMPARE(QDBusConnection::sentMessages.size(), 1);
49
50     QCOMPARE(QDBusConnection::sentMessages[0].service(),
51             QString("com.nokia.icd_ui"));
52     QCOMPARE(QDBusConnection::sentMessages[0].path(),
53             QString("/com/nokia/icd_ui"));
54     QCOMPARE(QDBusConnection::sentMessages[0].interface(),
55             QString("com.nokia.icd_ui"));
56     QCOMPARE(QDBusConnection::sentMessages[0].member(),
57             QString("show_conn_dlg"));
58
59     QCOMPARE(QDBusConnection::sentMessages[0].arguments().size(), 1);
60 }
61
62 QTEST_MAIN(Ut_OnlinePollerThread)
63