summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@digia.com>2013-10-29 12:29:48 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-29 15:21:19 +0100
commit1e6c6395f9eebbc1e7327a1275b4ffdd88976f55 (patch)
tree1b4365fd5d0cc30428cf37af669835da0eff5710 /tests
parent0f92eda7af8b1f07829404fd1ddf240934af077f (diff)
downloadqtenginio-1e6c6395f9eebbc1e7327a1275b4ffdd88976f55.tar.gz
Use OAuth2 for EnginioBackendManager authentication
Change-Id: I3246a039cea4db4af2588d94055e85d63a1b53a0 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/common/common.cpp33
-rw-r--r--tests/auto/common/common.pri1
2 files changed, 23 insertions, 11 deletions
diff --git a/tests/auto/common/common.cpp b/tests/auto/common/common.cpp
index fd0281e..782b766 100644
--- a/tests/auto/common/common.cpp
+++ b/tests/auto/common/common.cpp
@@ -41,6 +41,7 @@
#include <Enginio/enginioclient.h>
#include <Enginio/enginioreply.h>
+#include <Enginio/private/enginiostring_p.h>
#include <QtCore/qjsonarray.h>
#include <QtTest/QSignalSpy>
#include <QtTest/QtTest>
@@ -139,19 +140,29 @@ bool EnginioBackendManager::synchronousRequest(const QUrl &url, const QByteArray
bool EnginioBackendManager::authenticate()
{
- QJsonObject credentials;
- credentials["email"] = _email;
- credentials["password"] = _password;
- QJsonObject obj;
- obj["payload"] = credentials;
- obj["headers"] = _headers;
+ QByteArray data;
+ {
+ QUrlQuery urlQuery;
+ urlQuery.addQueryItem(EnginioString::grant_type, EnginioString::password);
+ urlQuery.addQueryItem(EnginioString::username, _email);
+ urlQuery.addQueryItem(EnginioString::password, _password);
+ data = urlQuery.query().toUtf8();
+ }
QUrl url(_client.serviceUrl());
- url.setPath(QStringLiteral("/v1/account/auth/identity"));
+ url.setPath(QStringLiteral("/v1/account/auth/oauth2/token"));
- // Authenticate developer
- synchronousRequest(url, postRequest, obj);
- QString sessionToken = _responseData["sessionToken"].toString();
- _headers["Enginio-Backend-Session"] = sessionToken;
+ QNetworkRequest request/*(enginio->prepareRequest(url))*/;
+ request.setHeader(QNetworkRequest::ContentTypeHeader, EnginioString::Application_x_www_form_urlencoded);
+ request.setRawHeader(EnginioString::Accept, EnginioString::Application_json);
+ request.setUrl(url);
+
+ QNetworkReply *reply = _client.networkManager()->post(request, data);
+ QSignalSpy spy(reply, SIGNAL(finished()));
+ spy.wait(20000);
+
+ _responseData = QJsonDocument::fromJson(reply->readAll()).object();
+ QString sessionToken = _responseData[EnginioString::access_token].toString();
+ _headers[EnginioString::Authorization] = EnginioString::Bearer_ + sessionToken;
return !sessionToken.isEmpty();
}
diff --git a/tests/auto/common/common.pri b/tests/auto/common/common.pri
index ae366ca..6d1f324 100644
--- a/tests/auto/common/common.pri
+++ b/tests/auto/common/common.pri
@@ -1,3 +1,4 @@
+QT += enginio-private
SOURCES += $$PWD/common.cpp
HEADERS += $$PWD/common.h