AusweisApp2/test/helper/MockNetworkReply.h

63 lines
1.1 KiB
C
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
* \brief Mock a QNetworkReply for tests.
*
2018-03-28 15:10:51 +02:00
* \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany
2017-07-03 09:30:10 +02:00
*/
#pragma once
2017-12-20 14:54:05 +01:00
#include "HttpStatusCode.h"
2017-07-03 09:33:28 +02:00
#include "MockSocket.h"
2017-07-03 09:30:10 +02:00
#include <QNetworkReply>
namespace governikus
{
class MockNetworkReply
: public QNetworkReply
{
Q_OBJECT
private:
2017-07-03 09:33:28 +02:00
MockSocket mSocket;
2017-07-03 09:30:10 +02:00
public:
2017-12-20 14:54:05 +01:00
MockNetworkReply(const QByteArray& pData = QByteArray(), HttpStatusCode pStatusCode = HttpStatusCode::UNDEFINED, QObject* pParent = nullptr);
virtual ~MockNetworkReply() override;
2017-07-03 09:30:10 +02:00
virtual void abort() override
{
}
2017-07-03 09:33:28 +02:00
void setRequest(const QNetworkRequest& pRequest)
{
QNetworkReply::setRequest(pRequest);
}
2017-07-03 09:30:10 +02:00
virtual qint64 readData(char* pDst, qint64 pMaxSize) override;
void fireFinished()
{
Q_EMIT finished();
}
void setNetworkError(NetworkError pErrorCode, const QString& pErrorString)
{
setError(pErrorCode, pErrorString);
}
2017-12-20 14:54:05 +01:00
void setFileModificationTimestamp(const QVariant& pTimestamp)
{
setHeader(QNetworkRequest::KnownHeaders::LastModifiedHeader, pTimestamp);
}
2017-07-03 09:30:10 +02:00
};
} /* namespace governikus */