summaryrefslogtreecommitdiffstats
path: root/tests/auto/quick
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2020-04-28 14:45:18 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-08-14 16:34:37 +0200
commita2a9ea11f95b4a5347f599d8a28151166ad00a71 (patch)
tree609329b16e7e3febfe600f10c4ec776aa05e9eb2 /tests/auto/quick
parent4c78cf32fc302a29a61d2fb50551333b5f79051c (diff)
Move QWebEngineCertificateError to core and use it in QML
Update qml certificate error test. Task-number: QTBUG-74585 Change-Id: I9383052bd1e37160d03e3d66e8f2e4a749023736 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests/auto/quick')
-rw-r--r--tests/auto/quick/certificateerror/testhandler.cpp14
-rw-r--r--tests/auto/quick/certificateerror/testhandler.h11
-rw-r--r--tests/auto/quick/certificateerror/tst_certificateerror.cpp31
-rw-r--r--tests/auto/quick/publicapi/tst_publicapi.cpp54
4 files changed, 66 insertions, 44 deletions
diff --git a/tests/auto/quick/certificateerror/testhandler.cpp b/tests/auto/quick/certificateerror/testhandler.cpp
index 6fb55f44a..cb6710aa3 100644
--- a/tests/auto/quick/certificateerror/testhandler.cpp
+++ b/tests/auto/quick/certificateerror/testhandler.cpp
@@ -46,16 +46,18 @@ void TestHandler::setLoadSuccess(bool success)
}
}
-QQuickWebEngineCertificateError *TestHandler::certificateError() const
+bool TestHandler::loadSuccess() const
{
- return m_error;
+ return m_loadSuccess;
}
-void TestHandler::setCertificateError(QQuickWebEngineCertificateError *error)
+QWebEngineCertificateError TestHandler::certificateError() const
{
- if (m_error == error)
- return;
- m_error = error;
+ return *m_error;
+}
+void TestHandler::setCertificateError(QWebEngineCertificateError error)
+{
+ m_error = new QWebEngineCertificateError(error);
emit certificateErrorChanged();
}
diff --git a/tests/auto/quick/certificateerror/testhandler.h b/tests/auto/quick/certificateerror/testhandler.h
index d954ed5fc..a6d95d9a9 100644
--- a/tests/auto/quick/certificateerror/testhandler.h
+++ b/tests/auto/quick/certificateerror/testhandler.h
@@ -29,19 +29,19 @@
#ifndef TESTHANDLER_H
#define TESTHANDLER_H
-#include <QtWebEngine/private/qquickwebenginecertificateerror_p.h>
+#include <QWebEngineCertificateError>
class TestHandler : public QObject
{
Q_OBJECT
- Q_PROPERTY(QQuickWebEngineCertificateError *certificateError READ certificateError WRITE
+ Q_PROPERTY(QWebEngineCertificateError certificateError READ certificateError WRITE
setCertificateError NOTIFY certificateErrorChanged)
Q_PROPERTY(bool loadSuccess READ loadSuccess WRITE setLoadSuccess NOTIFY loadSuccessChanged)
public:
explicit TestHandler(QObject *parent = nullptr);
- QQuickWebEngineCertificateError *certificateError() const;
+ QWebEngineCertificateError certificateError() const;
- void setCertificateError(QQuickWebEngineCertificateError *error);
+ void setCertificateError(QWebEngineCertificateError error);
void setLoadSuccess(bool success);
bool loadSuccess() const;
void load(const QUrl &page);
@@ -49,9 +49,10 @@ public:
signals:
void loadPage(const QUrl &page);
void certificateErrorChanged();
+ void loadSuccessChanged();
private:
- QQuickWebEngineCertificateError *m_error = nullptr;
+ QWebEngineCertificateError *m_error = nullptr;
bool m_loadSuccess = false;
};
diff --git a/tests/auto/quick/certificateerror/tst_certificateerror.cpp b/tests/auto/quick/certificateerror/tst_certificateerror.cpp
index 6201800bd..6652fd511 100644
--- a/tests/auto/quick/certificateerror/tst_certificateerror.cpp
+++ b/tests/auto/quick/certificateerror/tst_certificateerror.cpp
@@ -28,7 +28,7 @@
#include "testhandler.h"
#include <httpsserver.h>
#include <util.h>
-#include <QtWebEngine/private/qquickwebenginecertificateerror_p.h>
+#include <QWebEngineCertificateError>
#include <QQuickWebEngineProfile>
#include <QQmlApplicationEngine>
#include <QQuickWindow>
@@ -91,20 +91,37 @@ void tst_CertificateError::handleError()
QSignalSpy certificateErrorSpy(m_handler, &TestHandler::certificateErrorChanged);
m_handler->load(server.url());
QTRY_COMPARE(certificateErrorSpy.count(), 1);
- QQuickWebEngineCertificateError *error = m_handler->certificateError();
- QVERIFY(error);
+ QWebEngineCertificateError error = m_handler->certificateError();
if (deferError) {
- error->defer();
+ error.defer();
return;
}
if (acceptCertificate)
- error->ignoreCertificateError();
+ error.ignoreCertificateError();
else
- error->rejectCertificate();
+ error.rejectCertificate();
- QVERIFY(error->overridable());
+ QVERIFY(error.isOverridable());
+ auto chain = error.certificateChain();
+ QCOMPARE(chain.size(), 2);
+ QCOMPARE(chain[0].serialNumber(), "3b:dd:1a:b7:2f:40:32:3b:c1:bf:37:d4:86:bd:56:c1:d0:6b:2a:43");
+ QCOMPARE(chain[1].serialNumber(), "6d:52:fb:b4:57:3b:b2:03:c8:62:7b:7e:44:45:5c:d3:08:87:74:17");
+
+ if (deferError) {
+ QVERIFY(error.deferred());
+ QVERIFY(!error.answered());
+ QVERIFY(!m_handler->loadSuccess());
+
+ if (acceptCertificate)
+ error.ignoreCertificateError();
+ else
+ error.rejectCertificate();
+
+ QVERIFY(error.answered());
+ }
+ QTRY_COMPARE_WITH_TIMEOUT(m_handler->loadSuccess(), acceptCertificate, 3000);
}
static QByteArrayList params;
diff --git a/tests/auto/quick/publicapi/tst_publicapi.cpp b/tests/auto/quick/publicapi/tst_publicapi.cpp
index 936d1e948..47ba7b2de 100644
--- a/tests/auto/quick/publicapi/tst_publicapi.cpp
+++ b/tests/auto/quick/publicapi/tst_publicapi.cpp
@@ -35,6 +35,7 @@
#include <QtTest/QtTest>
#include <QtWebEngine/QQuickWebEngineProfile>
#include <QtWebEngine/QQuickWebEngineScript>
+#include <QtWebEngineCore/QWebEngineCertificateError>
#include <QtWebEngineCore/QWebEngineFindTextResult>
#include <QtWebEngineCore/QWebEngineNotification>
#include <QtWebEngineCore/QWebEngineQuotaRequest>
@@ -42,7 +43,6 @@
#include <QtWebEngineCore/QWebEngineContextMenuRequest>
#include <private/qquickwebengineview_p.h>
#include <private/qquickwebengineaction_p.h>
-#include <private/qquickwebenginecertificateerror_p.h>
#include <private/qquickwebengineclientcertificateselection_p.h>
#include <private/qquickwebenginedialogrequests_p.h>
#include <private/qquickwebenginedownloaditem_p.h>
@@ -62,7 +62,6 @@ private Q_SLOTS:
static const QList<const QMetaObject *> typesToCheck = QList<const QMetaObject *>()
<< &QQuickWebEngineView::staticMetaObject
<< &QQuickWebEngineAction::staticMetaObject
- << &QQuickWebEngineCertificateError::staticMetaObject
<< &QQuickWebEngineClientCertificateOption::staticMetaObject
<< &QQuickWebEngineClientCertificateSelection::staticMetaObject
<< &QQuickWebEngineDownloadItem::staticMetaObject
@@ -83,6 +82,7 @@ static const QList<const QMetaObject *> typesToCheck = QList<const QMetaObject *
<< &QQuickWebEngineFormValidationMessageRequest::staticMetaObject
<< &QQuickWebEngineTooltipRequest::staticMetaObject
<< &QWebEngineContextMenuRequest::staticMetaObject
+ << &QWebEngineCertificateError::staticMetaObject
<< &QWebEngineQuotaRequest::staticMetaObject
<< &QWebEngineRegisterProtocolHandlerRequest::staticMetaObject
<< &QWebEngineNotification::staticMetaObject
@@ -121,29 +121,31 @@ static const QStringList expectedAPI = QStringList()
<< "QQuickWebEngineAuthenticationDialogRequest.realm --> QString"
<< "QQuickWebEngineAuthenticationDialogRequest.type --> AuthenticationType"
<< "QQuickWebEngineAuthenticationDialogRequest.url --> QUrl"
- << "QQuickWebEngineCertificateError.CertificateAuthorityInvalid --> Error"
- << "QQuickWebEngineCertificateError.CertificateCommonNameInvalid --> Error"
- << "QQuickWebEngineCertificateError.CertificateContainsErrors --> Error"
- << "QQuickWebEngineCertificateError.CertificateDateInvalid --> Error"
- << "QQuickWebEngineCertificateError.CertificateInvalid --> Error"
- << "QQuickWebEngineCertificateError.CertificateKnownInterceptionBlocked --> Error"
- << "QQuickWebEngineCertificateError.CertificateNameConstraintViolation --> Error"
- << "QQuickWebEngineCertificateError.CertificateNoRevocationMechanism --> Error"
- << "QQuickWebEngineCertificateError.CertificateNonUniqueName --> Error"
- << "QQuickWebEngineCertificateError.CertificateRevoked --> Error"
- << "QQuickWebEngineCertificateError.CertificateTransparencyRequired --> Error"
- << "QQuickWebEngineCertificateError.CertificateUnableToCheckRevocation --> Error"
- << "QQuickWebEngineCertificateError.CertificateValidityTooLong --> Error"
- << "QQuickWebEngineCertificateError.CertificateWeakKey --> Error"
- << "QQuickWebEngineCertificateError.CertificateWeakSignatureAlgorithm --> Error"
- << "QQuickWebEngineCertificateError.SslPinnedKeyNotInCertificateChain --> Error"
- << "QQuickWebEngineCertificateError.defer() --> void"
- << "QQuickWebEngineCertificateError.description --> QString"
- << "QQuickWebEngineCertificateError.error --> Error"
- << "QQuickWebEngineCertificateError.ignoreCertificateError() --> void"
- << "QQuickWebEngineCertificateError.overridable --> bool"
- << "QQuickWebEngineCertificateError.rejectCertificate() --> void"
- << "QQuickWebEngineCertificateError.url --> QUrl"
+ << "QWebEngineCertificateError.CertificateAuthorityInvalid --> Error"
+ << "QWebEngineCertificateError.CertificateCommonNameInvalid --> Error"
+ << "QWebEngineCertificateError.CertificateContainsErrors --> Error"
+ << "QWebEngineCertificateError.CertificateDateInvalid --> Error"
+ << "QWebEngineCertificateError.CertificateInvalid --> Error"
+ << "QWebEngineCertificateError.CertificateKnownInterceptionBlocked --> Error"
+ << "QWebEngineCertificateError.CertificateNameConstraintViolation --> Error"
+ << "QWebEngineCertificateError.CertificateNoRevocationMechanism --> Error"
+ << "QWebEngineCertificateError.CertificateNonUniqueName --> Error"
+ << "QWebEngineCertificateError.CertificateRevoked --> Error"
+ << "QWebEngineCertificateError.CertificateTransparencyRequired --> Error"
+ << "QWebEngineCertificateError.CertificateUnableToCheckRevocation --> Error"
+ << "QWebEngineCertificateError.CertificateValidityTooLong --> Error"
+ << "QWebEngineCertificateError.CertificateWeakKey --> Error"
+ << "QWebEngineCertificateError.CertificateWeakSignatureAlgorithm --> Error"
+ << "QWebEngineCertificateError.SslPinnedKeyNotInCertificateChain --> Error"
+ << "QWebEngineCertificateError.answered --> bool"
+ << "QWebEngineCertificateError.deferred --> bool"
+ << "QWebEngineCertificateError.defer() --> void"
+ << "QWebEngineCertificateError.description --> QString"
+ << "QWebEngineCertificateError.error --> Error"
+ << "QWebEngineCertificateError.ignoreCertificateError() --> void"
+ << "QWebEngineCertificateError.overridable --> bool"
+ << "QWebEngineCertificateError.rejectCertificate() --> void"
+ << "QWebEngineCertificateError.url --> QUrl"
<< "QQuickWebEngineClientCertificateOption.issuer --> QString"
<< "QQuickWebEngineClientCertificateOption.subject --> QString"
<< "QQuickWebEngineClientCertificateOption.effectiveDate --> QDateTime"
@@ -687,7 +689,7 @@ static const QStringList expectedAPI = QStringList()
<< "QQuickWebEngineView.backgroundColorChanged() --> void"
<< "QQuickWebEngineView.canGoBack --> bool"
<< "QQuickWebEngineView.canGoForward --> bool"
- << "QQuickWebEngineView.certificateError(QQuickWebEngineCertificateError*) --> void"
+ << "QQuickWebEngineView.certificateError(QWebEngineCertificateError) --> void"
<< "QQuickWebEngineView.colorDialogRequested(QQuickWebEngineColorDialogRequest*) --> void"
<< "QQuickWebEngineView.contentsSize --> QSizeF"
<< "QQuickWebEngineView.contentsSizeChanged(QSizeF) --> void"