1 /*! 2 * \brief Mock a QNetworkReply for tests. 3 * 4 * \copyright Copyright (c) 2015-2021 Governikus GmbH & Co. KG, Germany 5 */ 6 7 #pragma once 8 9 #include "MockSocket.h" 10 11 #include <http_parser.h> 12 #include <QNetworkReply> 13 14 class test_StateCheckRefreshAddress; 15 class test_StateGetSelfAuthenticationData; 16 17 namespace governikus 18 { 19 20 class MockNetworkReply 21 : public QNetworkReply 22 { 23 Q_OBJECT 24 25 private: 26 friend class ::test_StateCheckRefreshAddress; 27 friend class ::test_StateGetSelfAuthenticationData; 28 MockSocket mSocket; 29 30 public: 31 MockNetworkReply(const QByteArray& pData = QByteArray(), http_status pStatusCode = HTTP_STATUS_OK, QObject* pParent = nullptr); 32 ~MockNetworkReply() override; abort()33 void abort() override 34 { 35 qDebug() << "Operation aborted"; 36 } 37 38 setRequest(const QNetworkRequest & pRequest)39 void setRequest(const QNetworkRequest& pRequest) 40 { 41 QNetworkReply::setRequest(pRequest); 42 } 43 44 45 qint64 readData(char* pDst, qint64 pMaxSize) override; 46 fireFinished()47 void fireFinished() 48 { 49 Q_EMIT finished(); 50 } 51 52 setNetworkError(NetworkError pErrorCode,const QString & pErrorString)53 void setNetworkError(NetworkError pErrorCode, const QString& pErrorString) 54 { 55 setError(pErrorCode, pErrorString); 56 } 57 58 setFileModificationTimestamp(const QVariant & pTimestamp)59 void setFileModificationTimestamp(const QVariant& pTimestamp) 60 { 61 setHeader(QNetworkRequest::KnownHeaders::LastModifiedHeader, pTimestamp); 62 } 63 64 65 }; 66 67 } // namespace governikus 68