2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Henri Lampela - henri.lampela@ixonos.com
7 Situare is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 version 2 as published by the Free Software Foundation.
11 Situare is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Situare; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22 #include <QtTest/QtTest>
25 #include <QNetworkAccessManager>
28 #include "../../../src/situareservice/situareservice.h"
29 #include "../../../src/situareservice/situarecommon.h"
30 #include "../networkaccessmanagermock.h"
31 #include "../networkreplymock.h"
34 class testLocationUpdate : public QObject
38 ~testLocationUpdate();
40 SituareService *situare;
41 NetworkAccessManagerMock *managerMock;
42 QList<QNetworkReply *> currentRequests;
43 FacebookAuthentication fbAuthentication;
44 FacebookCredentials credentials;
48 //void testIncorrectUrl();
49 //void testCorrectUrl();
50 void testLocationUpdateCase();
53 testLocationUpdate::~testLocationUpdate()
60 //void testLocationUpdate::testIncorrectUrl()
62 // QNetworkAccessManager *manager = new QNetworkAccessManager();
63 // managerMock = new NetworkAccessManagerMock(manager, this);
64 // situare = new SituareService(this, manager);
66 // managerMock->setMode(NetworkAccessManagerMock::INCORRECT);
68 // QSignalSpy receivedErrorSpy(situare, SIGNAL(error(QString)));
70 // QVERIFY(receivedErrorSpy.isValid());
74 // situare->sendRequest(QUrl("http://client.situare.nett"), COOKIE, QString(""));
75 // QTest::qWait(1000);
76 // QCOMPARE(receivedErrorSpy.count(), 1);
81 //void testLocationUpdate::testCorrectUrl()
83 // QNetworkAccessManager *manager = new QNetworkAccessManager();
84 // managerMock = new NetworkAccessManagerMock(manager, this);
85 // situare = new SituareService(this, manager);
87 // managerMock->setMode(NetworkAccessManagerMock::CORRECT);
89 // QSignalSpy receivedErrorSpy(situare, SIGNAL(error(QString)));
91 // QVERIFY(receivedErrorSpy.isValid());
93 // QUrl url = QUrl("http://client.situare.net");
95 // situare->sendRequest(url, COOKIE, QString(""));
96 // QTest::qWait(1000);
98 // QCOMPARE(receivedErrorSpy.count(), 0);
103 void testLocationUpdate::testLocationUpdateCase()
105 QNetworkAccessManager *manager = new QNetworkAccessManager();
106 managerMock = new NetworkAccessManagerMock(manager, this);
107 situare = new SituareService(this, manager);
109 managerMock->setMode(NetworkAccessManagerMock::CORRECT);
111 QSignalSpy receivedErrorSpy(situare, SIGNAL(error(QString)));
113 QPointF coordinates(65.3, 25.5);
115 QString status = "unit-test";
117 situare->updateLocation(coordinates, status, publish);
120 QCOMPARE(receivedErrorSpy.count(), 0);
126 QTEST_MAIN(testLocationUpdate)
127 #include "testlocationupdate.moc"