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 SituareService *situare;
39 NetworkAccessManagerMock *managerMock;
40 QList<QNetworkReply *> currentRequests;
44 void testIncorrectUrl();
45 void testCorrectUrl();
49 void testLocationUpdate::testIncorrectUrl()
51 QNetworkAccessManager *manager = new QNetworkAccessManager();
52 managerMock = new NetworkAccessManagerMock(manager, this);
53 situare = new SituareService(this, manager);
55 managerMock->setMode(NetworkAccessManagerMock::INCORRECT);
57 QSignalSpy receivedErrorSpy(situare, SIGNAL(error(QString)));
59 QVERIFY(receivedErrorSpy.isValid());
63 situare->sendRequest(QUrl("http://client.situare.nett"), COOKIE, QString(";2;1"));
65 QCOMPARE(receivedErrorSpy.count(), 1);
71 void testLocationUpdate::testCorrectUrl()
73 QNetworkAccessManager *manager = new QNetworkAccessManager();
74 managerMock = new NetworkAccessManagerMock(manager, this);
75 situare = new SituareService(this, manager);
77 managerMock->setMode(NetworkAccessManagerMock::CORRECT);
79 QSignalSpy receivedErrorSpy(situare, SIGNAL(error(QString)));
81 QVERIFY(receivedErrorSpy.isValid());
83 QUrl url = QUrl("http://client.situare.net");
85 situare->sendRequest(url, COOKIE, QString(";2;1"));
88 QCOMPARE(receivedErrorSpy.count(), 0);
94 void testLocationUpdate::testLocationUpdateUnPublishWithStatus()
96 manager = new NetworkAccessManagerMock();
97 situare = new SituareService(this, manager);
99 QPointF coordinates(65, 25.5);
100 bool publish = false;
101 QString status = "test - no publish";
102 situare->updateLocation(coordinates, status, publish);
108 void testLocationUpdate::testLocationUpdateUnPublishWithoutStatus()
110 manager = new NetworkAccessManagerMock();
111 situare = new SituareService(this, manager);
113 QPointF coordinates(65, 25.5);
114 bool publish = false;
116 situare->updateLocation(coordinates, status, publish);
125 QTEST_MAIN(testLocationUpdate)
126 #include "testlocationupdate.moc"