/** * @RDE_HEADER@ * ISM Function Topic test executable * $Id$ * @RDE_HEADER@ * Module Tests for FLM * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2017-04-05 */ #pragma once #include #include #include #include #include #include #include #include #include namespace FileManagement { using DbHandler = NGLDB::DbServiceHandler; class FlmTests : public QObject , protected FileManagement::Interface::Ftc::FolderModifyReplyHandler , protected FileManagement::Interface::Ftc::FolderRemoveReplyHandler , protected FileManagement::Interface::Ftc::FileContentModifyReplyHandler , protected FileManagement::Interface::Ftc::FileContentRemoveReplyHandler , protected FileManagement::Interface::Ftc::FileContentExportReplyHandler , protected FileManagement::Interface::Ftc::GetFileContentDataReplyHandler { Q_OBJECT public: explicit FlmTests(QObject *parent = nullptr); ~FlmTests(); bool init(int domainId, int testId, int folderId, int fileContentId, int operatorId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: // folder void tryCreateFolder(); void tryModifyFolder(); void tryRemoveFolder(); int createFolder(int parentFolderId, const QString &folderName, bool isHidden = false); // file content void tryCreateFileContent(); void tryModifyFileContent(); void tryRemoveFileContent(); void tryExportFileContent(); void tryGetContent(); void tryUpdateStatus(); // plans etc. void tryCreatePlan(); void tryCreateFav(); void tryCreateSymbol(); // custom dtc's void tryGetAllTemplates(); void tryGetAllPlans(); void tryGetAllFavs(); void tryGetAllSymbols(); protected: // folder void onFolderModifyReply(const Core::FunctionReplyObject &replyObject) override final; void onFolderRemoveReply(const Core::FunctionReplyObject &replyObject) override final { onReply(replyObject); } // file content void onFileContentModifyReply(const Core::FunctionReplyObject &replyObject) override final; void onFileContentRemoveReply(const Core::FunctionReplyObject &replyObject) override final { onReply(replyObject); } void onFileContentExportReply(const Core::FunctionReplyObject &replyObject) override final { onReply(replyObject); } void onGetFileContentDataReply(const GetFileContentDataReply &replyObject) override final; // general void onError(const QString &reason); void onReply(const Core::FunctionReplyObject &replyObject); void failExit(); bool checkContentSize(int fileId); private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ftc; std::shared_ptr m_dtc; std::shared_ptr m_db; std::shared_ptr m_dbHandler; std::vector m_content; // given int m_testId; int m_folderId; int m_fileContentId; int m_operatorId; bool m_bTestsSuccessful; LOGGER_T m_logger; }; } // namespace FileManagement