summaryrefslogtreecommitdiff
path: root/tests/auto
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>2014-04-25 14:35:58 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-28 14:22:55 +0200
commit9ec6d950bc8f3694c6f39ca5cd09fe27737df798 (patch)
tree90e055858c1b33a2d14ea698610f125a25b206e0 /tests/auto
parent892eab1c409a7e4780fd79d8fe0f29c2f1c2ea62 (diff)
downloadqtenginio-9ec6d950bc8f3694c6f39ca5cd09fe27737df798.tar.gz
Add user agent to each request header.
This way we can gather statistics about usage of Enginio api. Change-Id: I09dd735abe1090c31998e4f6c97aa49a26285730 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/enginioclient/tst_enginioclient.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/enginioclient/tst_enginioclient.cpp b/tests/auto/enginioclient/tst_enginioclient.cpp
index b9941fc..aafebbe 100644
--- a/tests/auto/enginioclient/tst_enginioclient.cpp
+++ b/tests/auto/enginioclient/tst_enginioclient.cpp
@@ -98,6 +98,7 @@ private slots:
void lifeTimeOfNetworkManager();
void fullTextSearch();
void assignUserToGroup();
+ void userAgent();
private:
QString usergroupId(EnginioClient *client)
@@ -798,6 +799,34 @@ void tst_EnginioClient::assignUserToGroup()
}
}
+static void checkUserAgent(QNetworkReply *reply)
+{
+ QNetworkRequest request = reply->request();
+ QVERIFY(request.rawHeaderList().contains("User-Agent"));
+ QByteArray agent = request.rawHeader("User-Agent");
+ QVERIFY(!agent.isEmpty());
+ QVERIFY(agent.contains("Qt:"));
+ QVERIFY(agent.contains("Enginio:"));
+ QVERIFY(agent.contains("Language:"));
+}
+
+void tst_EnginioClient::userAgent()
+{
+ EnginioClient client;
+ client.setBackendId(_backendId);
+ client.setServiceUrl(EnginioTests::TESTAPP_URL);
+
+ QNetworkAccessManager *qnam = client.networkManager();
+ QObject::connect(qnam, &QNetworkAccessManager::finished, &client, checkUserAgent);
+
+ QVector<EnginioReply *> replies;
+ replies.append(client.query(QJsonObject(), Enginio::UserOperation));
+ replies.append(client.create(QJsonObject(), Enginio::UserOperation));
+
+ foreach (EnginioReply *reply, replies)
+ QTRY_VERIFY(reply->isFinished());
+}
+
struct DeleteReplyCountHelper
{
QSet<QString> &requests;