summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-01-23 13:13:19 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2020-01-23 15:47:31 +0100
commit82263fbfc261e0c90caacdf42cae14e1c4bda8c5 (patch)
tree2f58c3c10c45bb32887feea21d1692ded555e8f7
parentce84933d7466a6eb966da03591f6b45fbc0dcb47 (diff)
Fix deprecation warnings about using QMultiMap methods on QMap
Use QMap::insert() instead QMultiMap::unite() in the tests. In the module itself, change the parameter type to a QMultiMap since apparently duplicate keys are expected. Although possibly a pre-existing bug, to be on the safe side we change QMap::insert to QMultiMap::replace. Fixes qoauth1signature.cpp: In member function ‘QList<QString> QOAuth1Signature::keys() const’: qoauth1signature.cpp:344:37: warning: ‘QList<T> QMap<K, V>::uniqueKeys() const [with Key = QString; T = QVariant]’ is deprecated: Use QMultiMap for maps storing multiple values with the same key. [-Wdeprecated-declarations] qoauth1.cpp: In member function ‘void QOAuth1Private::appendSignature(QAbstractOAuth::Stage, QVariantMap*, const QUrl&, QNetworkAccessManager::Operation, QVariantMap)’: qoauth1.cpp:147:75: warning: ‘QMap<K, V>& QMap<K, V>::unite(const QMap<K, V>&) [with Key = QString; T = QVariant]’ is deprecated: Use QMultiMap for maps storing multiple values with the same key. [-Wdeprecated-declarations] qoauth1.cpp: In member function ‘void QOAuth1::setup(QNetworkRequest*, const QVariantMap&, QNetworkAccessManager::Operation)’: qoauth1.cpp:766:81: warning: ‘QMap<K, V>& QMap<K, V>::unite(const QMap<K, V>&) [with Key = QString; T = QVariant]’ is deprecated: Use QMultiMap for maps storing multiple values with the same key. [-Wdeprecated-declarations] const auto parameters = QVariantMap(oauthParams).unite(signingParameters); qoauth1.cpp: In member function ‘void QOAuth1::setup(QNetworkRequest*, const QVariantMap&, const QByteArray&)’: qoauth1.cpp:806:81: warning: ‘QMap<K, V>& QMap<K, V>::unite(const QMap<K, V>&) [with Key = QString; T = QVariant]’ is deprecated: Use QMultiMap for maps storing multiple values with the same key. [-Wdeprecated-declarations] const auto parameters = QVariantMap(oauthParams).unite(signingParameters); Change-Id: Iaec7850335a188a6b198a672d220b01edc2c10ea Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
-rw-r--r--src/oauth/qoauth1signature.cpp8
-rw-r--r--src/oauth/qoauth1signature_p.h2
-rw-r--r--tests/auto/oauth1/tst_oauth1.cpp7
3 files changed, 11 insertions, 6 deletions
diff --git a/src/oauth/qoauth1signature.cpp b/src/oauth/qoauth1signature.cpp
index f6ecdc0..a0b73a6 100644
--- a/src/oauth/qoauth1signature.cpp
+++ b/src/oauth/qoauth1signature.cpp
@@ -310,7 +310,9 @@ QVariantMap QOAuth1Signature::parameters() const
*/
void QOAuth1Signature::setParameters(const QVariantMap &parameters)
{
- d->parameters = parameters;
+ d->parameters.clear();
+ for (auto it = parameters.cbegin(), end = parameters.cend(); it != end; ++it)
+ d->parameters.insert(it.key(), it.value());
}
/*!
@@ -322,7 +324,7 @@ void QOAuth1Signature::addRequestBody(const QUrlQuery &body)
{
const auto list = body.queryItems();
for (auto it = list.begin(), end = list.end(); it != end; ++it)
- d->parameters.insert(it->first, it->second);
+ d->parameters.replace(it->first, it->second);
}
/*!
@@ -332,7 +334,7 @@ void QOAuth1Signature::addRequestBody(const QUrlQuery &body)
*/
void QOAuth1Signature::insert(const QString &key, const QVariant &value)
{
- d->parameters.insert(key, value);
+ d->parameters.replace(key, value);
}
/*!
diff --git a/src/oauth/qoauth1signature_p.h b/src/oauth/qoauth1signature_p.h
index cc648d9..be3e6d8 100644
--- a/src/oauth/qoauth1signature_p.h
+++ b/src/oauth/qoauth1signature_p.h
@@ -70,7 +70,7 @@ public:
QUrl url;
QString clientSharedKey;
QString tokenSecret;
- QVariantMap parameters;
+ QMultiMap<QString, QVariant> parameters;
static QOAuth1SignaturePrivate shared_null;
};
diff --git a/tests/auto/oauth1/tst_oauth1.cpp b/tests/auto/oauth1/tst_oauth1.cpp
index c76ba8f..b68491b 100644
--- a/tests/auto/oauth1/tst_oauth1.cpp
+++ b/tests/auto/oauth1/tst_oauth1.cpp
@@ -468,7 +468,8 @@ void tst_OAuth1::getToken()
QCOMPARE(oauthHeaders["oauth_version"], "1.0");
QString expectedSignature;
{
- QVariantMap modifiedHeaders = oauthHeaders.unite(parameters);
+ QVariantMap modifiedHeaders = oauthHeaders;
+ modifiedHeaders.insert(parameters);
modifiedHeaders.remove("oauth_signature");
QOAuth1Signature signature(url,
clientCredentials.second,
@@ -592,11 +593,13 @@ void tst_OAuth1::prepareRequestSignature()
// verify the signature
const auto sigString = QUrl::fromPercentEncoding(authArgs.take(oauthSignature)
.toByteArray()).toUtf8();
+
+ authArgs.insert(extraParams);
QOAuth1Signature signature(request.url(),
consumerSecret,
accessKeySecret,
QOAuth1Signature::HttpRequestMethod::Custom,
- authArgs.unite(extraParams));
+ authArgs);
signature.setCustomMethodString(operation);
const auto signatureData = signature.hmacSha1();
QCOMPARE(signatureData.toBase64(), sigString);