1 #include "testengine.hpp" 3 #include "testengine_p.h" 9 TestEngine::TestEngine(
Application *app,
const QVariantMap &opts)
14 int TestEngine::workerId()
const 19 TestEngine::TestResponse TestEngine::createRequest(
const QByteArray &method,
29 bodyDevice =
new SequentialBuffer(body);
34 if (bodyDevice->
size()) {
38 TestEngineConnection req;
43 req.protocol =
"HTTP/1.1"_qba;
45 req.serverAddress =
"127.0.0.1"_qba;
47 req.remotePort = 3000;
49 req.headers = headersCL;
50 req.startOfRequest = std::chrono::steady_clock::now();
51 req.body = bodyDevice;
53 Q_EMIT processRequestAsync(&req);
56 req.m_eventLoop.exec();
59 ret.body = req.m_responseData;
60 ret.statusCode = req.m_statusCode;
61 ret.headers = req.m_headers;
66 TestEngine::TestResponse TestEngine::createRequest(
const QByteArray &method,
72 return createRequest(method, path.
toLatin1(), query, headers, body);
75 bool TestEngine::init()
77 return initApplication() && postForkApplication();
80 QByteArray TestEngine::httpStatus(quint16 status)
83 const auto *statusChar = httpStatusMessage(status, &len);
87 SequentialBuffer::SequentialBuffer(
QByteArray *buffer)
92 bool SequentialBuffer::isSequential()
const 97 qint64 SequentialBuffer::bytesAvailable()
const 102 qint64 SequentialBuffer::readData(
char *data, qint64 maxlen)
105 memcpy(data, mid.
data(), mid.
size());
111 qint64 SequentialBuffer::writeData(
const char *data, qint64 len)
118 qint64 TestEngineConnection::doWrite(
const char *data, qint64 len)
120 m_responseData.append(data, len);
124 bool TestEngineConnection::writeHeaders(quint16 status,
const Headers &headers)
126 m_statusCode = status;
132 void TestEngineConnection::processingFinished()
137 #include "moc_testengine.cpp"
bool isEmpty() const const
virtual bool open(QIODeviceBase::OpenMode mode)
virtual qint64 size() const const
The Cutelyst namespace holds all public Cutelyst API.
QByteArray mid(qsizetype pos, qsizetype len) const const
virtual qint64 bytesAvailable() const const
QByteArray toLatin1() const const
The Cutelyst application.
qsizetype size() const const
QByteArray & remove(qsizetype pos, qsizetype len)