diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2020-12-03 18:28:28 +0300 |
---|---|---|
committer | Kevin Ottens <kevin.ottens@nextcloud.com> | 2020-12-15 13:01:52 +0300 |
commit | 40e07ef3e304783ca97cb97ec7a5e7bfee61d487 (patch) | |
tree | 2d9e8c95a16d472ac32ff26daa28a16a78ae2f04 /test | |
parent | 9d9eadba8e33a1c67861e8bb21ce604f2fc90b6d (diff) |
Fix unit tests by setting Date header
Diffstat (limited to 'test')
-rw-r--r-- | test/syncenginetestutils.cpp | 55 | ||||
-rw-r--r-- | test/syncenginetestutils.h | 49 | ||||
-rw-r--r-- | test/testasyncop.cpp | 4 |
3 files changed, 63 insertions, 45 deletions
diff --git a/test/syncenginetestutils.cpp b/test/syncenginetestutils.cpp index 36e81e3bc..640cadf8d 100644 --- a/test/syncenginetestutils.cpp +++ b/test/syncenginetestutils.cpp @@ -253,7 +253,7 @@ FileInfo *FileInfo::findInvalidatingEtags(PathComponents pathComponents) } FakePropfindReply::FakePropfindReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -351,7 +351,7 @@ qint64 FakePropfindReply::readData(char *data, qint64 maxlen) } FakePutReply::FakePutReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, const QByteArray &putPayload, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -397,7 +397,7 @@ void FakePutReply::abort() } FakeMkcolReply::FakeMkcolReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -424,7 +424,7 @@ void FakeMkcolReply::respond() } FakeDeleteReply::FakeDeleteReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -445,7 +445,7 @@ void FakeDeleteReply::respond() } FakeMoveReply::FakeMoveReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -468,7 +468,7 @@ void FakeMoveReply::respond() } FakeGetReply::FakeGetReply(FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -526,7 +526,7 @@ qint64 FakeGetReply::readData(char *data, qint64 maxlen) } FakeGetWithDataReply::FakeGetWithDataReply(FileInfo &remoteRootFileInfo, const QByteArray &data, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -593,7 +593,7 @@ qint64 FakeGetWithDataReply::readData(char *data, qint64 maxlen) } FakeChunkMoveReply::FakeChunkMoveReply(FileInfo &uploadsFileInfo, FileInfo &remoteRootFileInfo, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } { setRequest(request); setUrl(request.url()); @@ -687,7 +687,7 @@ void FakeChunkMoveReply::abort() } FakePayloadReply::FakePayloadReply(QNetworkAccessManager::Operation op, const QNetworkRequest &request, const QByteArray &body, QObject *parent) - : QNetworkReply { parent } + : FakeReply { parent } , _body(body) { setRequest(request); @@ -721,7 +721,7 @@ qint64 FakePayloadReply::bytesAvailable() const } FakeErrorReply::FakeErrorReply(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent, int httpErrorCode, const QByteArray &body) - : QNetworkReply { parent } + : FakeReply { parent } , _body(body) { setRequest(request); @@ -760,6 +760,15 @@ qint64 FakeErrorReply::bytesAvailable() const return _body.size(); } +FakeHangingReply::FakeHangingReply(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) + : FakeReply(parent) +{ + setRequest(request); + setUrl(request.url()); + setOperation(op); + open(QIODevice::ReadOnly); +} + void FakeHangingReply::abort() { // Follow more or less the implementation of QNetworkReplyImpl::abort @@ -791,25 +800,27 @@ QNetworkReply *FakeQNAM::createRequest(QNetworkAccessManager::Operation op, cons FileInfo &info = isUpload ? _uploadFileInfo : _remoteRootFileInfo; auto verb = request.attribute(QNetworkRequest::CustomVerbAttribute); + FakeReply *reply; if (verb == QLatin1String("PROPFIND")) // Ignore outgoingData always returning somethign good enough, works for now. - return new FakePropfindReply { info, op, request, this }; + reply = new FakePropfindReply { info, op, request, this }; else if (verb == QLatin1String("GET") || op == QNetworkAccessManager::GetOperation) - return new FakeGetReply { info, op, request, this }; + reply = new FakeGetReply { info, op, request, this }; else if (verb == QLatin1String("PUT") || op == QNetworkAccessManager::PutOperation) - return new FakePutReply { info, op, request, outgoingData->readAll(), this }; + reply = new FakePutReply { info, op, request, outgoingData->readAll(), this }; else if (verb == QLatin1String("MKCOL")) - return new FakeMkcolReply { info, op, request, this }; + reply = new FakeMkcolReply { info, op, request, this }; else if (verb == QLatin1String("DELETE") || op == QNetworkAccessManager::DeleteOperation) - return new FakeDeleteReply { info, op, request, this }; + reply = new FakeDeleteReply { info, op, request, this }; else if (verb == QLatin1String("MOVE") && !isUpload) - return new FakeMoveReply { info, op, request, this }; + reply = new FakeMoveReply { info, op, request, this }; else if (verb == QLatin1String("MOVE") && isUpload) - return new FakeChunkMoveReply { info, _remoteRootFileInfo, op, request, this }; + reply = new FakeChunkMoveReply { info, _remoteRootFileInfo, op, request, this }; else { qDebug() << verb << outgoingData; Q_UNREACHABLE(); } + return reply; } FakeFolder::FakeFolder(const FileInfo &fileTemplate) @@ -1007,3 +1018,13 @@ OCC::SyncFileItemPtr ItemCompletedSpy::findItem(const QString &path) const } return OCC::SyncFileItemPtr::create(); } + +FakeReply::FakeReply(QObject *parent) + : QNetworkReply(parent) +{ + setRawHeader(QByteArrayLiteral("Date"), QDateTime::currentDateTimeUtc().toString(Qt::RFC2822Date).toUtf8()); +} + +FakeReply::~FakeReply() +{ +} diff --git a/test/syncenginetestutils.h b/test/syncenginetestutils.h index 52c330c62..1dc34c540 100644 --- a/test/syncenginetestutils.h +++ b/test/syncenginetestutils.h @@ -167,7 +167,18 @@ public: } }; -class FakePropfindReply : public QNetworkReply +class FakeReply : public QNetworkReply +{ + Q_OBJECT +public: + FakeReply(QObject *parent); + virtual ~FakeReply(); + + // useful to be public for testing + using QNetworkReply::setRawHeader; +}; + +class FakePropfindReply : public FakeReply { Q_OBJECT public: @@ -185,7 +196,7 @@ public: qint64 readData(char *data, qint64 maxlen) override; }; -class FakePutReply : public QNetworkReply +class FakePutReply : public FakeReply { Q_OBJECT FileInfo *fileInfo; @@ -200,7 +211,7 @@ public: qint64 readData(char *, qint64) override { return 0; } }; -class FakeMkcolReply : public QNetworkReply +class FakeMkcolReply : public FakeReply { Q_OBJECT FileInfo *fileInfo; @@ -213,7 +224,7 @@ public: qint64 readData(char *, qint64) override { return 0; } }; -class FakeDeleteReply : public QNetworkReply +class FakeDeleteReply : public FakeReply { Q_OBJECT public: @@ -225,7 +236,7 @@ public: qint64 readData(char *, qint64) override { return 0; } }; -class FakeMoveReply : public QNetworkReply +class FakeMoveReply : public FakeReply { Q_OBJECT public: @@ -237,7 +248,7 @@ public: qint64 readData(char *, qint64) override { return 0; } }; -class FakeGetReply : public QNetworkReply +class FakeGetReply : public FakeReply { Q_OBJECT public: @@ -254,12 +265,9 @@ public: qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; - - // useful to be public for testing - using QNetworkReply::setRawHeader; }; -class FakeGetWithDataReply : public QNetworkReply +class FakeGetWithDataReply : public FakeReply { Q_OBJECT public: @@ -276,12 +284,9 @@ public: qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; - - // useful to be public for testing - using QNetworkReply::setRawHeader; }; -class FakeChunkMoveReply : public QNetworkReply +class FakeChunkMoveReply : public FakeReply { Q_OBJECT FileInfo *fileInfo; @@ -301,8 +306,7 @@ public: qint64 readData(char *, qint64) override { return 0; } }; - -class FakePayloadReply : public QNetworkReply +class FakePayloadReply : public FakeReply { Q_OBJECT public: @@ -318,7 +322,7 @@ public: }; -class FakeErrorReply : public QNetworkReply +class FakeErrorReply : public FakeReply { Q_OBJECT public: @@ -343,18 +347,11 @@ public: }; // A reply that never responds -class FakeHangingReply : public QNetworkReply +class FakeHangingReply : public FakeReply { Q_OBJECT public: - FakeHangingReply(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply(parent) - { - setRequest(request); - setUrl(request.url()); - setOperation(op); - open(QIODevice::ReadOnly); - } + FakeHangingReply(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent); void abort() override; qint64 readData(char *, qint64) override { return 0; } diff --git a/test/testasyncop.cpp b/test/testasyncop.cpp index d8de8bce1..29cfa1457 100644 --- a/test/testasyncop.cpp +++ b/test/testasyncop.cpp @@ -11,14 +11,14 @@ using namespace OCC; -class FakeAsyncReply : public QNetworkReply +class FakeAsyncReply : public FakeReply { Q_OBJECT QByteArray _pollLocation; public: FakeAsyncReply(const QByteArray &pollLocation, QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent) - : QNetworkReply{ parent } + : FakeReply { parent } , _pollLocation(pollLocation) { setRequest(request); |