diff options
author | Jędrzej Nowacki <jedrzej.nowacki@digia.com> | 2014-04-25 14:35:58 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-28 14:22:55 +0200 |
commit | 9ec6d950bc8f3694c6f39ca5cd09fe27737df798 (patch) | |
tree | 90e055858c1b33a2d14ea698610f125a25b206e0 /tests/auto | |
parent | 892eab1c409a7e4780fd79d8fe0f29c2f1c2ea62 (diff) | |
download | qtenginio-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.cpp | 29 |
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; |