9#include "data_stream_check_value.h"
18 std::stringstream socketFileName;
19 socketFileName << prefix << host <<
"_" << port <<
".pmockbackend";
20 return data_load(socketFileName.str(), vecMessage);
29 std::stringstream socketFileName;
30 socketFileName << prefix << host <<
"_" << port <<
".pmockbackend";
31 return data_save(socketFileName.str(), vecMessage);
41bool checkValue<DataStreamType>(
const std::string & testName,
const std::vector<DataStreamType> & vecData,
const std::vector<DataStreamType> & vecReferenceData){
42 if(vecData.size() != vecReferenceData.size()){
43 std::cout <<
"checkValue<DataStreamType> : "<<testName<<
" => vecData.size(" << vecData.size() <<
") != vecReferenceData.size("<<vecReferenceData.size()<<
")" << std::endl;
47 for(
size_t i(0lu); i < vecData.size() && b; ++i){
48 b &= vecData[i] == vecReferenceData[i];
50 std::cout <<
"checkValue<DataStreamType> : "<<testName<<
" => vecData["<<i<<
"](" << (int)vecData[i] <<
") != vecReferenceData["<<i<<
"]("<<(
int)vecReferenceData[i]<<
")" << std::endl;
87 std::stringstream socketFileName;
91 socketFileName << address <<
"_" << port <<
".pmockbackend";
97 std::cerr <<
"PMockBackend::createClientSocket : cannot load file '"<<socket.
fileNameMessage<<
"'" << std::endl;
141 std::cerr <<
"PMockBackend::send : empty vector of message" << std::endl;
149 std::stringstream strEvent;
151 b &= checkValue(
"PMockBackend::send : event " + strEvent.str(), msg, socket.
vecMessage[socket.
eventIndex]);
168 std::cerr <<
"PMockBackend::recv : empty vector of message" << std::endl;
202 return (
const DataStreamIter)msg.data();
236 mockMsg.resize(dataSize);
245 size_t dataSize(mockMsg.size());
bool checkValue< DataStreamType >(const std::string &testName, const std::vector< DataStreamType > &vecData, const std::vector< DataStreamType > &vecReferenceData)
Check given value compare to the reference size.
bool phoenix_loadMockSocket(const std::string &prefix, const std::string &host, size_t port, PVecMockMessage &vecMessage)
Load a mock of socket.
bool phoenix_saveMockSocket(const std::string &prefix, const std::string &host, size_t port, const PVecMockMessage &vecMessage)
Save a mock of socket.
static void msgToMock(DataStreamMsg &mockMsg, const Message &msg)
Copy current backend message data into mock message.
static const DataStreamIter msgData(const Message &msg)
Get the data of a message.
static bool send(Socket &socket, const Message &msg, PSendFlag::PSendFlag flag)
Send message on the given socket.
PMockBackend()
Default constructor of PMockBackend.
static void msgResize(Message &msg, size_t sizeMsg)
Resize a message.
static bool isConnected(const Socket &socket)
Say if the given socket is connected.
static Param server()
Create param for a server socket.
static void setIsMockRecord(Socket &socket, bool isMockRecord)
Set the mock prefix (where to find/save it)
PMockParam Param
Define the type of extra parameters which can be used to create a Socket used by the PAbstractSocketM...
static void setMockPrefix(Socket &socket, const std::string &mockPrefix)
Set the mock prefix (where to find/save it)
static void mockToMsg(Message &msg, DataStreamMsg &mockMsg)
Copy mock message data into current backend message.
static bool recv(Socket &socket, Message &msg, PRecvFlag::PRecvFlag flag)
Recieve message from the given socket.
PMockSocket Socket
Define the socket of the backend used by the PAbstractSocketManager.
static void close(Socket &socket)
Close the given socket.
static bool createClientSocket(Socket &socket, const std::string &address, size_t port, const PMockParam ¶m)
Create a client socket.
static Param client()
Create param for a client socket.
static size_t msgSize(const Message &msg)
Get the size of a message.
static bool createServerSocket(Socket &socket, const std::string &address, size_t port, const PMockParam ¶m)
Create a client socket.
DataStreamMsg Message
Define the type of message used by the PAbstractSocketManager.
PRecvFlag
describe the recieving flag of the Socket
PSendFlag
describe the sending flag of the Socket
std::vector< DataStreamMsg > PVecMockMessage
Vector of messages.
Set of parameters to be passed to create a socket with mock backend.
std::string mockPrefix
Prefix where to find/save mock files.
bool isMockRecord
True to record the activity of the backend durring real use to make reusable mock.
PMockParam param
Parameters of the mock.
std::string fileNameMessage
Name of the file to read messages.
PVecMockMessage vecMessage
Vector of messages.
size_t eventIndex
Index of the current message.