/** * ModuleTests for Msg * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include enum class TestCase { CreateOperator = 0, SetIsRead = 1, SetDeleted = 2, SendToTetra = 3, ReceiveFromTetra = 4 }; namespace Messaging { class MsgTests : public QObject , protected Messaging::Interface::Ftc::CreateOperatorMessageReplyHandler , protected Messaging::Interface::Ftc::ModifyOperatorMessageReplyHandler { Q_OBJECT public: explicit MsgTests(QObject *parent = nullptr); ~MsgTests(); bool init(int domainId, int testId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: void tryCreateOperatorMessage(); void checkMessageOnDdsAfterCreate(); void checkMessageOnDdsAfterModify(); void checkMessageOnDdsAfterDelete(); void markMessageAsRead(); void markMessageAsDeleted(); protected: void onCreateOperatorMessageReply(const Core::FunctionReplyObject &replyObject) override final; void onModifyOperatorMessageReply(const Core::FunctionReplyObject &replyObject) override final; void failExit(); void ExitSuccess(); private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ftc; std::shared_ptr m_dtc; int m_testId; bool m_bTestsSuccessful; std::string m_expectedMessage; int m_messageCount; int m_msgIdSendMessage; int m_msgIdRecvMessage; int m_numberMessages; TestCase m_testStep; NGL::INGLLogger &m_logger; }; } // namespace Messaging