mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-23 04:45:43 +03:00
Fix unit tests by setting Date header
This commit is contained in:
parent
9d9eadba8e
commit
40e07ef3e3
3 changed files with 63 additions and 45 deletions
|
@ -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()
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue