80 lines
1.7 KiB
C++
Executable File
80 lines
1.7 KiB
C++
Executable File
/**
|
|
* ModuleTests for Msg
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <Messaging/msg_dtc.h>
|
|
#include <Messaging/msg_ftc.h>
|
|
#include <Messaging/msg_ftc_types.h>
|
|
#include <Messaging/logger.h>
|
|
|
|
#include <DDS/DDSConnector/dds_connector.h>
|
|
|
|
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<DDSConnector::DdsConnector> m_ddsConnector;
|
|
std::shared_ptr<Messaging::Interface::Ftc> m_ftc;
|
|
std::shared_ptr<Messaging::Interface::Dtc> 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
|