6#include <ipackage/CComponentAccessor.h>
9#include <QtCore/QJsonObject>
10#include <imtgql/CGqlRequest.h>
11#include <imtgql/IGqlRequestHandler.h>
12#include <imtdb/IDatabaseEngine.h>
19class CGqlSdlRequestTest:
public QObject
23 template <
class Request,
class Arguments,
class ResponseData>
24 bool SendRequest(Arguments arguments,
class ResponseData::V1_0& response)
const
26 imtgql::CGqlRequest gqlRequest;
28 bool ok = Request::SetupGqlRequest(gqlRequest, arguments);
30 const imtgql::IGqlRequestHandler* requestHandlerPtr = GetRequestHandler();
31 if (requestHandlerPtr ==
nullptr){
36 QJsonObject responseObj = requestHandlerPtr->CreateResponse(gqlRequest, errorMessage);
37 if (responseObj.isEmpty()){
41 if (responseObj.contains(QStringLiteral(
"errors"))){
46 if (responseObj.contains(QStringLiteral(
"data"))){
47 dataObj = responseObj.value(QStringLiteral(
"data")).toObject();
50 if (dataObj.isEmpty()){
54 if (!response.ReadFromJsonObject(dataObj)){
62 ipackage::CComponentAccessor* GetComponentAccessor()
const;
63 const imtgql::IGqlRequestHandler* GetRequestHandler()
const;
65 QSqlQuery ExecuteQuery(
const QString& query, QSqlError* sqlError =
nullptr)
const;
68 mutable istd::TSmartPtr<ipackage::CComponentAccessor> m_componentAccessorPtr;
69 QString m_registryFile;