Merge commit 'refs/merge-requests/1' of gitorious.org:meego-cellular/ofono-qt into...
[profile/ivi/ofono-qt.git] / tests / test_ofonoconnman.cpp
1 /*
2  * This file is part of ofono-qt
3  *
4  * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
5  *
6  * Contact: Alexander Kanavin <alexander.kanavin@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * version 2.1 as published by the Free Software Foundation.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  *
22  */
23
24 #include <QtTest/QtTest>
25 #include <QtCore/QObject>
26
27 #include <ofonoconnman.h>
28
29 #include <QtDebug>
30
31
32 class TestOfonoConnMan : public QObject
33 {
34     Q_OBJECT
35
36 private slots:
37     void initTestCase()
38     {
39         m = new OfonoConnMan(OfonoModem::ManualSelect, "/phonesim", this);
40         QCOMPARE(m->modem()->isValid(), true);
41
42         if (!m->modem()->powered()) {
43             m->modem()->setPowered(true);
44             QTest::qWait(5000);
45         }
46         if (!m->modem()->online()) {
47             m->modem()->setOnline(true);
48             QTest::qWait(5000);
49         }
50         QCOMPARE(m->isValid(), true);
51     }
52
53     void testOfonoConnMan()
54     {
55         QSignalSpy attch(m, SIGNAL(attachedChanged(const bool)));
56         QSignalSpy sus(m,SIGNAL(suspendedChanged(const bool)));
57         QSignalSpy ber(m, SIGNAL(bearerChanged(const QString&)));
58         QSignalSpy roam(m,SIGNAL(roamingAllowedChanged(const bool)));
59         QSignalSpy pow(m,SIGNAL(poweredChanged(const bool)));
60         QSignalSpy add(m, SIGNAL(contextAdded(const QString&)));
61         QSignalSpy rem(m, SIGNAL(contextRemoved(const QString&)));
62         QSignalSpy cadd(m,SIGNAL(addContextComplete(bool)));
63         QSignalSpy crem(m,SIGNAL(removeContextComplete(bool)));
64         QSignalSpy deact(m,SIGNAL(deactivateAllComplete(bool)));
65
66         m->setPowered(false);
67         QTest::qWait(5000);
68         m->setPowered(true);
69         QTest::qWait(5000);
70         m->setRoamingAllowed(false);
71         QTest::qWait(5000);
72         m->setRoamingAllowed(true);
73         QTest::qWait(5000);
74         m->addContext(QString("internet"));
75         QTest::qWait(10000);
76         QCOMPARE(m->powered(),true);
77         QCOMPARE(m->attached(),true);
78         QCOMPARE(m->suspended(),false);
79         QCOMPARE(m->roamingAllowed(),true);
80
81         QCOMPARE(cadd.count(), 1);
82         QCOMPARE(pow.count(), 2);
83         QCOMPARE(roam.count(), 2);
84         QCOMPARE(add.count(), 1);
85         QString path = add.takeFirst().at(0).toString();
86         m->removeContext(path);
87         QTest::qWait(10000);
88         QCOMPARE(rem.count(), 1);
89         QCOMPARE(crem.count(), 1);
90         m->deactivateAll();
91         QTest::qWait(5000);
92         QCOMPARE(deact.count(), 1);
93
94     }
95
96     void cleanupTestCase()
97     {
98
99     }
100
101
102 private:
103     OfonoConnMan *m;
104 };
105
106 QTEST_MAIN(TestOfonoConnMan)
107 #include "test_ofonoconnman.moc"