diff --git a/CMakeIncludes/language_settings.cmake b/CMakeIncludes/language_settings.cmake index 8f418ae9a7753327dca295105a72b7ac0c88aa0f..29d287bbbebd1b7e0cafd28d3607440e0792e983 100644 --- a/CMakeIncludes/language_settings.cmake +++ b/CMakeIncludes/language_settings.cmake @@ -37,6 +37,5 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug") endif (CMAKE_BUILD_TYPE STREQUAL "Debug") if (APPLE) - include_directories("/usr/local/include") link_directories("/usr/local/lib") endif() \ No newline at end of file diff --git a/common/cpp/include/asapo/common/networking.h b/common/cpp/include/asapo/common/networking.h index bfce369d63d4535cdb276c49be20286c7e217cc7..d814a88df4db17d0f9181f46ae5cb0ec6f133da3 100644 --- a/common/cpp/include/asapo/common/networking.h +++ b/common/cpp/include/asapo/common/networking.h @@ -13,82 +13,63 @@ namespace asapo { typedef uint64_t NetworkRequestId; enum class NetworkConnectionType : uint32_t { - kUndefined, - kAsapoTcp, // ASAPOs TCP (Multiple connections for parallel data transfers) - kFabric, // Fabric connection (Primarily used for InfiniBand verbs) + kUndefined, + kAsapoTcp, // ASAPOs TCP (Multiple connections for parallel data transfers) + kFabric, // Fabric connection (Primarily used for InfiniBand verbs) }; // do not forget to add new codes to the end! enum Opcode : uint8_t { - kOpcodeUnknownOp = 1, - kOpcodeTransferData, - kOpcodeTransferDatasetData, - kOpcodeStreamInfo, - kOpcodeLastStream, - kOpcodeGetBufferData, - kOpcodeAuthorize, - kOpcodeTransferMetaData, - kOpcodeDeleteStream, - kOpcodeGetMeta, - kOpcodeCount, + kOpcodeUnknownOp = 1, + kOpcodeTransferData, + kOpcodeTransferDatasetData, + kOpcodeStreamInfo, + kOpcodeLastStream, + kOpcodeGetBufferData, + kOpcodeAuthorize, + kOpcodeTransferMetaData, + kOpcodeDeleteStream, + kOpcodeGetMeta, + kOpcodeCount, }; inline std::string OpcodeToString(uint8_t code) { switch (code) { - case kOpcodeTransferData: - return "transfer data"; - case kOpcodeTransferDatasetData: - return "transfer dataset data"; - case kOpcodeStreamInfo: - return "stream info"; - case kOpcodeLastStream: - return "last stream"; - case kOpcodeGetBufferData: - return "get buffer data"; - case kOpcodeAuthorize: - return "authorize"; - case kOpcodeTransferMetaData: - return "transfer metadata"; - case kOpcodeDeleteStream: - return "delete stream"; - case kOpcodeGetMeta: - return "get meta"; - default: - return "unknown op"; + case kOpcodeTransferData:return "transfer data"; + case kOpcodeTransferDatasetData:return "transfer dataset data"; + case kOpcodeStreamInfo:return "stream info"; + case kOpcodeLastStream:return "last stream"; + case kOpcodeGetBufferData:return "get buffer data"; + case kOpcodeAuthorize:return "authorize"; + case kOpcodeTransferMetaData:return "transfer metadata"; + case kOpcodeDeleteStream:return "delete stream"; + case kOpcodeGetMeta:return "get meta"; + default:return "unknown op"; } } enum NetworkErrorCode : uint16_t { - kNetErrorNoError, - kNetErrorReauthorize, - kNetErrorWarning, - kNetErrorWrongRequest, - kNetErrorNotSupported, - kNetErrorNoData, - kNetAuthorizationError, - kNetErrorInternalServerError = 65535, + kNetErrorNoError, + kNetErrorReauthorize, + kNetErrorWarning, + kNetErrorWrongRequest, + kNetErrorNotSupported, + kNetErrorNoData, + kNetAuthorizationError, + kNetErrorInternalServerError = 65535, }; inline std::string NetworkErrorCodeToString(uint16_t code) { switch (code) { - case kNetErrorNoError: - return "success"; - case kNetErrorReauthorize: - return "reauthorize"; - case kNetErrorWarning: - return "warning"; - case kNetErrorWrongRequest: - return "wrong request"; - case kNetErrorNotSupported: - return "not suported"; - case kNetErrorNoData: - return "no data"; - case kNetAuthorizationError: - return "authorization error"; - case kNetErrorInternalServerError: - return "internal server error"; - default: - return "unknown code"; + case kNetErrorNoError:return "success"; + case kNetErrorReauthorize:return "reauthorize"; + case kNetErrorWarning:return "warning"; + case kNetErrorWrongRequest:return "wrong request"; + case kNetErrorNotSupported:return "not suported"; + case kNetErrorNoData:return "no data"; + case kNetAuthorizationError:return "authorization error"; + case kNetErrorInternalServerError:return "internal server error"; + default:return "unknown code"; } } @@ -105,46 +86,49 @@ const std::size_t kPosMetaIngestMode = 1; const std::size_t kPosDataSetSize = 2; struct GenericRequestHeader { - GenericRequestHeader(const GenericRequestHeader& header) { - op_code = header.op_code, data_id = header.data_id, data_size = header.data_size, meta_size = header.meta_size, - memcpy(custom_data, header.custom_data, kNCustomParams * sizeof(uint64_t)), - memcpy(message, header.message, kMaxMessageSize); - strncpy(stream, header.stream, kMaxMessageSize); - strncpy(api_version, header.api_version, kMaxVersionSize); - } - - /* Keep in mind that the message here is just strncpy'ed, you can change the message later */ - GenericRequestHeader(Opcode i_op_code = kOpcodeUnknownOp, uint64_t i_data_id = 0, - uint64_t i_data_size = 0, uint64_t i_meta_size = 0, const std::string& i_message = "", - const std::string& i_stream = "") : - op_code{i_op_code}, data_id{i_data_id}, data_size{i_data_size}, meta_size{i_meta_size} { - strncpy(message, i_message.c_str(), kMaxMessageSize); - strncpy(stream, i_stream.c_str(), kMaxMessageSize); - strncpy(api_version, "v0.0", kMaxVersionSize); - } - - Opcode op_code; - uint64_t data_id; - uint64_t data_size; - uint64_t meta_size; - CustomRequestData custom_data; - char message[kMaxMessageSize]; /* Can also be a binary message (e.g. MemoryRegionDetails) */ - char stream[kMaxMessageSize]; /* Must be a string (strcpy is used) */ - char api_version[kMaxVersionSize]; /* Must be a string (strcpy is used) */ - std::string Json() { - std::string s = "{\"id\":" + std::to_string(data_id) + "," - "\"buffer\":\"" + std::string(message) + "\"" + "," - "\"stream\":\"" - + std::string(stream) + "\"" - + "}"; - return s; - }; + GenericRequestHeader(const GenericRequestHeader &header) { + operator=(header); + } + GenericRequestHeader &operator=(const GenericRequestHeader &header) { + op_code = header.op_code, data_id = header.data_id, data_size = header.data_size, meta_size = header.meta_size, + memcpy(custom_data, header.custom_data, kNCustomParams * sizeof(uint64_t)), + memcpy(message, header.message, kMaxMessageSize); + strncpy(stream, header.stream, kMaxMessageSize); + strncpy(api_version, header.api_version, kMaxVersionSize); + return *this; + }; + /* Keep in mind that the message here is just strncpy'ed, you can change the message later */ + GenericRequestHeader(Opcode i_op_code = kOpcodeUnknownOp, uint64_t i_data_id = 0, + uint64_t i_data_size = 0, uint64_t i_meta_size = 0, const std::string &i_message = "", + const std::string &i_stream = "") : + op_code{i_op_code}, data_id{i_data_id}, data_size{i_data_size}, meta_size{i_meta_size} { + strncpy(message, i_message.c_str(), kMaxMessageSize); + strncpy(stream, i_stream.c_str(), kMaxMessageSize); + strncpy(api_version, "v0.0", kMaxVersionSize); + } + + Opcode op_code; + uint64_t data_id; + uint64_t data_size; + uint64_t meta_size; + CustomRequestData custom_data; + char message[kMaxMessageSize]; /* Can also be a binary message (e.g. MemoryRegionDetails) */ + char stream[kMaxMessageSize]; /* Must be a string (strcpy is used) */ + char api_version[kMaxVersionSize]; /* Must be a string (strcpy is used) */ + std::string Json() { + std::string s = "{\"id\":" + std::to_string(data_id) + "," + "\"buffer\":\"" + std::string(message) + "\"" + "," + "\"stream\":\"" + + std::string(stream) + "\"" + + "}"; + return s; + }; }; struct GenericNetworkResponse { - Opcode op_code; - NetworkErrorCode error_code; - char message[kMaxMessageSize]; + Opcode op_code; + NetworkErrorCode error_code; + char message[kMaxMessageSize]; }; struct SendResponse : GenericNetworkResponse { diff --git a/common/cpp/include/asapo/unittests/MockDatabase.h b/common/cpp/include/asapo/unittests/MockDatabase.h index b8f94b260fb13f4554ea86e71f59166a9b32b4bd..887653507910802a51fe56d66037dd4ec99db07e 100644 --- a/common/cpp/include/asapo/unittests/MockDatabase.h +++ b/common/cpp/include/asapo/unittests/MockDatabase.h @@ -25,25 +25,23 @@ class MockDatabase : public Database { return Error{InsertAsDatasetMessage_t(collection, file, dataset_size, ignore_duplicates)}; } - MOCK_METHOD2(Connect_t, ErrorInterface * (const std::string&, const std::string&)); - MOCK_CONST_METHOD4(Insert_t, ErrorInterface * (const std::string&, const MessageMeta&, bool, uint64_t*)); + MOCK_METHOD(ErrorInterface *, Connect_t, (const std::string&, const std::string&), ()); + MOCK_METHOD(ErrorInterface *, Insert_t, (const std::string&, const MessageMeta&, bool, uint64_t*), (const)); - MOCK_CONST_METHOD4(InsertAsDatasetMessage_t, - ErrorInterface * (const std::string&, const MessageMeta&, uint64_t, bool)); + MOCK_METHOD(ErrorInterface *, InsertAsDatasetMessage_t, (const std::string&, const MessageMeta&, uint64_t, bool), (const)); Error InsertMeta(const std::string& collection, const std::string& id, const uint8_t* data, uint64_t size, MetaIngestMode mode) const override { return Error{InsertMeta_t(collection, id, data, size, mode)}; } - MOCK_CONST_METHOD5(InsertMeta_t, ErrorInterface * (const std::string&, const std::string& id, const uint8_t* data, - uint64_t size, MetaIngestMode mode)); + MOCK_METHOD(ErrorInterface *, InsertMeta_t, (const std::string&, const std::string& id, const uint8_t* data, uint64_t size, MetaIngestMode mode), (const)); Error GetById(const std::string& collection, uint64_t id, MessageMeta* file) const override { return Error{GetById_t(collection, id, file)}; } - MOCK_CONST_METHOD3(GetById_t, ErrorInterface * (const std::string&, uint64_t id, MessageMeta*)); + MOCK_METHOD(ErrorInterface *, GetById_t, (const std::string&, uint64_t id, MessageMeta*), (const)); Error GetDataSetById(const std::string& collection, uint64_t set_id, uint64_t id, MessageMeta* file) const override { return Error{GetSetById_t(collection, set_id, id, file)}; @@ -52,31 +50,31 @@ class MockDatabase : public Database { Error GetMetaFromDb(const std::string& collection, const std::string& id, std::string* res) const override { return Error{GetMetaFromDb_t(collection, id, res)}; } - MOCK_CONST_METHOD3(GetMetaFromDb_t, ErrorInterface * (const std::string&, const std::string&, std::string* res)); + MOCK_METHOD(ErrorInterface *, GetMetaFromDb_t, (const std::string&, const std::string&, std::string* res), (const)); - MOCK_CONST_METHOD4(GetSetById_t, ErrorInterface * (const std::string&, uint64_t set_id, uint64_t id, MessageMeta*)); + MOCK_METHOD(ErrorInterface *, GetSetById_t, (const std::string&, uint64_t set_id, uint64_t id, MessageMeta*), (const)); Error GetStreamInfo(const std::string& collection, StreamInfo* info) const override { return Error{GetStreamInfo_t(collection, info)}; } - MOCK_CONST_METHOD2(GetStreamInfo_t, ErrorInterface * (const std::string&, StreamInfo*)); + MOCK_METHOD(ErrorInterface *, GetStreamInfo_t, (const std::string&, StreamInfo*), (const)); Error GetLastStream(StreamInfo* info) const override { return Error{GetLastStream_t(info)}; } - MOCK_CONST_METHOD1(DeleteStream_t, ErrorInterface * (const std::string&)); + MOCK_METHOD(ErrorInterface *, DeleteStream_t, (const std::string&), (const)); Error DeleteStream(const std::string& stream) const override { return Error{DeleteStream_t(stream)}; } - MOCK_CONST_METHOD1(GetLastStream_t, ErrorInterface * (StreamInfo*)); + MOCK_METHOD(ErrorInterface *, GetLastStream_t, (StreamInfo*), (const)); // stuff to test db destructor is called and avoid "uninteresting call" messages - MOCK_METHOD0(Die, void()); + MOCK_METHOD(void, Die, (), ()); virtual ~MockDatabase() override { if (check_destructor) Die(); diff --git a/common/cpp/include/asapo/unittests/MockFabric.h b/common/cpp/include/asapo/unittests/MockFabric.h index 2ce3823c0dcde6cac675053eb0369a66ed615aa0..c08596b908d5bd7537796a352f5050b2c66b132b 100644 --- a/common/cpp/include/asapo/unittests/MockFabric.h +++ b/common/cpp/include/asapo/unittests/MockFabric.h @@ -13,13 +13,13 @@ class MockFabricMemoryRegion : public FabricMemoryRegion { ~MockFabricMemoryRegion() override { Destructor(); } - MOCK_METHOD0(Destructor, void()); - MOCK_CONST_METHOD0(GetDetails, const MemoryRegionDetails * ()); + MOCK_METHOD(void, Destructor, (), ()); + MOCK_METHOD(const MemoryRegionDetails *, GetDetails, (), (const, override)); }; class MockFabricContext : public FabricContext { public: - MOCK_CONST_METHOD0(GetAddress, std::string()); + MOCK_METHOD(std::string, GetAddress, (), (const, override)); std::unique_ptr<FabricMemoryRegion> ShareMemoryRegion(void* src, size_t size, Error* error) override { ErrorInterface* err = nullptr; @@ -27,7 +27,7 @@ class MockFabricContext : public FabricContext { error->reset(err); return std::unique_ptr<FabricMemoryRegion> {data}; } - MOCK_METHOD3(ShareMemoryRegion_t, FabricMemoryRegion * (void* src, size_t size, ErrorInterface** err)); + MOCK_METHOD(FabricMemoryRegion *, ShareMemoryRegion_t, (void* src, size_t size, ErrorInterface** err), ()); void Send(FabricAddress dstAddress, FabricMessageId messageId, const void* src, size_t size, Error* error) override { @@ -35,8 +35,7 @@ class MockFabricContext : public FabricContext { Send_t(dstAddress, messageId, src, size, &err); error->reset(err); } - MOCK_METHOD5(Send_t, void(FabricAddress dstAddress, FabricMessageId messageId, - const void* src, size_t size, ErrorInterface** err)); + MOCK_METHOD(void, Send_t, (FabricAddress dstAddress, FabricMessageId messageId, const void* src, size_t size, ErrorInterface** err), ()); void Recv(FabricAddress srcAddress, FabricMessageId messageId, void* dst, size_t size, Error* error) override { @@ -44,8 +43,7 @@ class MockFabricContext : public FabricContext { Recv_t(srcAddress, messageId, dst, size, &err); error->reset(err); } - MOCK_METHOD5(Recv_t, void(FabricAddress dstAddress, FabricMessageId messageId, - const void* src, size_t size, ErrorInterface** err)); + MOCK_METHOD(void, Recv_t, (FabricAddress dstAddress, FabricMessageId messageId, const void* src, size_t size, ErrorInterface** err), ()); void RdmaWrite(FabricAddress dstAddress, const MemoryRegionDetails* details, const void* buffer, size_t size, @@ -54,8 +52,7 @@ class MockFabricContext : public FabricContext { RdmaWrite_t(dstAddress, details, buffer, size, &err); error->reset(err); } - MOCK_METHOD5(RdmaWrite_t, void(FabricAddress dstAddress, const MemoryRegionDetails* details, const void* buffer, - size_t size, ErrorInterface** error)); + MOCK_METHOD(void, RdmaWrite_t, (FabricAddress dstAddress, const MemoryRegionDetails* details, const void* buffer, size_t size, ErrorInterface** error), ()); }; class MockFabricClient : public MockFabricContext, public FabricClient { @@ -66,7 +63,7 @@ class MockFabricClient : public MockFabricContext, public FabricClient { error->reset(err); return data; } - MOCK_METHOD2(AddServerAddress_t, FabricAddress (const std::string& serverAddress, ErrorInterface** err)); + MOCK_METHOD(FabricAddress, AddServerAddress_t, (const std::string& serverAddress, ErrorInterface** err), ()); public: // Link to FabricContext std::string GetAddress() const override { return MockFabricContext::GetAddress(); @@ -100,8 +97,7 @@ class MockFabricServer : public MockFabricContext, public FabricServer { RecvAny_t(srcAddress, messageId, dst, size, &err); error->reset(err); } - MOCK_METHOD5(RecvAny_t, void(FabricAddress* srcAddress, FabricMessageId* messageId, - void* dst, size_t size, ErrorInterface** err)); + MOCK_METHOD(void, RecvAny_t, (FabricAddress* srcAddress, FabricMessageId* messageId, void* dst, size_t size, ErrorInterface** err), ()); public: // Link to FabricContext std::string GetAddress() const override { return MockFabricContext::GetAddress(); @@ -138,9 +134,7 @@ class MockFabricFactory : public FabricFactory { error->reset(err); return std::unique_ptr<FabricServer> {data}; } - MOCK_CONST_METHOD4(CreateAndBindServer_t, - FabricServer * (const AbstractLogger* logger, const std::string& host, - uint16_t port, ErrorInterface** err)); + MOCK_METHOD(FabricServer *, CreateAndBindServer_t, (const AbstractLogger* logger, const std::string& host, uint16_t port, ErrorInterface** err), (const)); std::unique_ptr<FabricClient> CreateClient(Error* error) const override { ErrorInterface* err = nullptr; @@ -148,8 +142,7 @@ class MockFabricFactory : public FabricFactory { error->reset(err); return std::unique_ptr<FabricClient> {data}; } - MOCK_CONST_METHOD1(CreateClient_t, - FabricClient * (ErrorInterface** err)); + MOCK_METHOD(FabricClient *, CreateClient_t, (ErrorInterface** err), (const)); }; } } diff --git a/common/cpp/include/asapo/unittests/MockHttpClient.h b/common/cpp/include/asapo/unittests/MockHttpClient.h index d5d318ed8890ecc2d245a9d8e76e934788337dc0..92d31d9c007698627154208f167d6324f4738e67 100644 --- a/common/cpp/include/asapo/unittests/MockHttpClient.h +++ b/common/cpp/include/asapo/unittests/MockHttpClient.h @@ -41,17 +41,12 @@ class MockHttpClient : public HttpClient { return UrlEscape_t(uri); } - MOCK_CONST_METHOD1(UrlEscape_t, std::string(const std::string& uri)); + MOCK_METHOD(std::string, UrlEscape_t, (const std::string& uri), (const)); - MOCK_CONST_METHOD3(Get_t, - std::string(const std::string& uri, HttpCode* code, ErrorInterface** err)); - MOCK_CONST_METHOD5(Post_t, - std::string(const std::string& uri, const std::string& cookie, const std::string& data, HttpCode* code, - ErrorInterface** err)); - MOCK_CONST_METHOD6(PostReturnArray_t, - ErrorInterface * (const std::string& uri, const std::string& cookie, const std::string& input_data, - MessageData* ouput_data, uint64_t output_data_size, HttpCode* code)); + MOCK_METHOD(std::string, Get_t, (const std::string& uri, HttpCode* code, ErrorInterface** err), (const)); + MOCK_METHOD(std::string, Post_t, (const std::string& uri, const std::string& cookie, const std::string& data, HttpCode* code, ErrorInterface** err), (const)); + MOCK_METHOD(ErrorInterface *, PostReturnArray_t, (const std::string& uri, const std::string& cookie, const std::string& input_data, MessageData* ouput_data, uint64_t output_data_size, HttpCode* code), (const)); }; diff --git a/common/cpp/include/asapo/unittests/MockIO.h b/common/cpp/include/asapo/unittests/MockIO.h index 14118f7b3323e65e27cb4a9a6261e578ff54b9ec..7e3c29fd534338a3baff0170da934327d6354331 100644 --- a/common/cpp/include/asapo/unittests/MockIO.h +++ b/common/cpp/include/asapo/unittests/MockIO.h @@ -16,25 +16,25 @@ class MockIO : public IO { return res; } - MOCK_CONST_METHOD1(GetHostName_t, std::string(ErrorInterface** err)); + MOCK_METHOD(std::string, GetHostName_t, (ErrorInterface** err), (const)); std::string AddressFromSocket(SocketDescriptor socket) const noexcept override { return AddressFromSocket_t(socket); } - MOCK_CONST_METHOD1(AddressFromSocket_t, std::string (SocketDescriptor socket)); + MOCK_METHOD(std::string, AddressFromSocket_t, (SocketDescriptor socket), (const)); std::unique_ptr<std::thread> NewThread(const std::string&, std::function<void()> function) const override { return std::unique_ptr<std::thread>(NewThread_t(function)); } - MOCK_CONST_METHOD1(NewThread_t, std::thread * (std::function<void()> function)); + MOCK_METHOD(std::thread *, NewThread_t, (std::function<void()> function), (const)); std::unique_ptr<std::thread> NewThread(const std::string&, std::function<void(uint64_t index)> function, uint64_t index) const override { return std::unique_ptr<std::thread>(NewThread_t(function, index)); } - MOCK_CONST_METHOD2(NewThread_t, std::thread * (std::function<void(uint64_t)> function, uint64_t index)); + MOCK_METHOD(std::thread *, NewThread_t, (std::function<void(uint64_t)> function, uint64_t index), (const)); ListSocketDescriptors WaitSocketsActivity(SocketDescriptor master_socket, ListSocketDescriptors* sockets_to_listen, @@ -45,9 +45,7 @@ class MockIO : public IO { return data; } - MOCK_CONST_METHOD4(WaitSocketsActivity_t, ListSocketDescriptors(SocketDescriptor master_socket, - ListSocketDescriptors* sockets_to_listen, - std::vector<std::string>* connections, ErrorInterface** err)); + MOCK_METHOD(ListSocketDescriptors, WaitSocketsActivity_t, (SocketDescriptor master_socket, ListSocketDescriptors* sockets_to_listen, std::vector<std::string>* connections, ErrorInterface** err), (const)); SocketDescriptor CreateSocket(AddressFamilies address_family, SocketTypes socket_type, SocketProtocols socket_protocol, @@ -57,15 +55,14 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD4(CreateSocket_t, SocketDescriptor(AddressFamilies address_family, SocketTypes socket_type, - SocketProtocols socket_protocol, ErrorInterface** err)); + MOCK_METHOD(SocketDescriptor, CreateSocket_t, (AddressFamilies address_family, SocketTypes socket_type, SocketProtocols socket_protocol, ErrorInterface** err), (const)); void Listen(SocketDescriptor socket_fd, int backlog, Error* err) const override { ErrorInterface* error = nullptr; Listen_t(socket_fd, backlog, &error); err->reset(error); } - MOCK_CONST_METHOD3(Listen_t, void(SocketDescriptor socket_fd, int backlog, ErrorInterface** err)); + MOCK_METHOD(void, Listen_t, (SocketDescriptor socket_fd, int backlog, ErrorInterface** err), (const)); void InetBind(SocketDescriptor socket_fd, const std::string& address, Error* err) const override { @@ -73,7 +70,7 @@ class MockIO : public IO { InetBind_t(socket_fd, address, &error); err->reset(error); } - MOCK_CONST_METHOD3(InetBind_t, void(SocketDescriptor socket_fd, const std::string& address, ErrorInterface** err)); + MOCK_METHOD(void, InetBind_t, (SocketDescriptor socket_fd, const std::string& address, ErrorInterface** err), (const)); SocketDescriptor CreateAndBindIPTCPSocketListener(const std::string& address, int backlog, Error* err) const override { ErrorInterface* error = nullptr; @@ -81,8 +78,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD3(CreateAndBindIPTCPSocketListener_t, SocketDescriptor(const std::string& address, int backlog, - ErrorInterface** err)); + MOCK_METHOD(SocketDescriptor, CreateAndBindIPTCPSocketListener_t, (const std::string& address, int backlog, ErrorInterface** err), (const)); std::unique_ptr<std::tuple<std::string, SocketDescriptor>> InetAcceptConnection(SocketDescriptor socket_fd, @@ -92,8 +88,7 @@ class MockIO : public IO { err->reset(error); return std::unique_ptr<std::tuple<std::string, SocketDescriptor>>(data); } - MOCK_CONST_METHOD2(InetAcceptConnection_t, std::tuple<std::string, SocketDescriptor>* (SocketDescriptor socket_fd, - ErrorInterface** err)); + MOCK_METHOD((std::tuple<std::string, SocketDescriptor>*), InetAcceptConnection_t, (SocketDescriptor socket_fd, ErrorInterface** err), (const)); std::string ResolveHostnameToIp(const std::string& hostname, Error* err) const override { ErrorInterface* error = nullptr; @@ -101,14 +96,14 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD2(ResolveHostnameToIp_t, std::string(const std::string& hostname, ErrorInterface** err)); + MOCK_METHOD(std::string, ResolveHostnameToIp_t, (const std::string& hostname, ErrorInterface** err), (const)); void InetConnect(SocketDescriptor socket_fd, const std::string& address, Error* err) const override { ErrorInterface* error = nullptr; InetConnect_t(socket_fd, address, &error); err->reset(error); } - MOCK_CONST_METHOD3(InetConnect_t, void(SocketDescriptor socket_fd, const std::string& address, ErrorInterface** err)); + MOCK_METHOD(void, InetConnect_t, (SocketDescriptor socket_fd, const std::string& address, ErrorInterface** err), (const)); SocketDescriptor CreateAndConnectIPTCPSocket(const std::string& address, Error* err) const override { ErrorInterface* error = nullptr; @@ -116,7 +111,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD2(CreateAndConnectIPTCPSocket_t, SocketDescriptor(const std::string& address, ErrorInterface** err)); + MOCK_METHOD(SocketDescriptor, CreateAndConnectIPTCPSocket_t, (const std::string& address, ErrorInterface** err), (const)); size_t Receive(SocketDescriptor socket_fd, void* buf, size_t length, Error* err) const override { ErrorInterface* error = nullptr; @@ -124,7 +119,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD4(Receive_t, size_t(SocketDescriptor socket_fd, void* buf, size_t length, ErrorInterface** err)); + MOCK_METHOD(size_t, Receive_t, (SocketDescriptor socket_fd, void* buf, size_t length, ErrorInterface** err), (const)); size_t ReceiveWithTimeout(SocketDescriptor socket_fd, void* buf, size_t length, long timeout_in_usec, Error* err) const override { @@ -133,9 +128,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD5(ReceiveWithTimeout_t, size_t(SocketDescriptor socket_fd, void* buf, size_t length, - long timeout_in_usec, - ErrorInterface** err)); + MOCK_METHOD(size_t, ReceiveWithTimeout_t, (SocketDescriptor socket_fd, void* buf, size_t length, long timeout_in_usec, ErrorInterface** err), (const)); size_t Send(SocketDescriptor socket_fd, const void* buf, size_t length, Error* err) const override { ErrorInterface* error = nullptr; @@ -143,20 +136,20 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD4(Send_t, size_t(SocketDescriptor socket_fd, const void* buf, size_t length, ErrorInterface** err)); + MOCK_METHOD(size_t, Send_t, (SocketDescriptor socket_fd, const void* buf, size_t length, ErrorInterface** err), (const)); std::unique_ptr<std::tuple<std::string, uint16_t>> SplitAddressToHostnameAndPort(const std::string& address) const override { return std::unique_ptr<std::tuple<std::string, uint16_t>>(SplitAddressToHostnameAndPort_t(address)); } - MOCK_CONST_METHOD1(SplitAddressToHostnameAndPort_t, std::tuple<std::string, uint16_t>* (const std::string& address)); + MOCK_METHOD((std::tuple<std::string, uint16_t>*), SplitAddressToHostnameAndPort_t, (const std::string& address), (const)); void Skip(SocketDescriptor socket_fd, size_t length, Error* err) const override { ErrorInterface* error = nullptr; Skip_t(socket_fd, length, &error); err->reset(error); } - MOCK_CONST_METHOD3(Skip_t, void(SocketDescriptor socket_fd, size_t length, ErrorInterface** err)); + MOCK_METHOD(void, Skip_t, (SocketDescriptor socket_fd, size_t length, ErrorInterface** err), (const)); void CloseSocket(SocketDescriptor socket_fd, Error* err) const override { ErrorInterface* error = nullptr; @@ -165,7 +158,7 @@ class MockIO : public IO { err->reset(error); } } - MOCK_CONST_METHOD2(CloseSocket_t, void(SocketDescriptor socket_fd, ErrorInterface** err)); + MOCK_METHOD(void, CloseSocket_t, (SocketDescriptor socket_fd, ErrorInterface** err), (const)); FileDescriptor Open(const std::string& filename, int open_flags, Error* err) const override { ErrorInterface* error = nullptr; @@ -173,7 +166,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD3(Open_t, FileDescriptor(const std::string& filename, int open_flags, ErrorInterface** err)); + MOCK_METHOD(FileDescriptor, Open_t, (const std::string& filename, int open_flags, ErrorInterface** err), (const)); void Close(FileDescriptor fd, Error* err) const override { ErrorInterface* error = nullptr; @@ -182,7 +175,7 @@ class MockIO : public IO { err->reset(error); } } - MOCK_CONST_METHOD2(Close_t, void(FileDescriptor fd, ErrorInterface** err)); + MOCK_METHOD(void, Close_t, (FileDescriptor fd, ErrorInterface** err), (const)); size_t Read(FileDescriptor fd, void* buf, size_t length, Error* err) const override { ErrorInterface* error = nullptr; @@ -190,7 +183,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD4(Read_t, size_t(FileDescriptor fd, void* buf, size_t length, ErrorInterface** err)); + MOCK_METHOD(size_t, Read_t, (FileDescriptor fd, void* buf, size_t length, ErrorInterface** err), (const)); size_t Write(FileDescriptor fd, const void* buf, size_t length, Error* err) const override { ErrorInterface* error = nullptr; @@ -198,14 +191,14 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD4(Write_t, size_t(FileDescriptor fd, const void* buf, size_t length, ErrorInterface** err)); + MOCK_METHOD(size_t, Write_t, (FileDescriptor fd, const void* buf, size_t length, ErrorInterface** err), (const)); void CreateNewDirectory(const std::string& directory_name, asapo::Error* err) const override { ErrorInterface* error = nullptr; CreateNewDirectory_t(directory_name, &error); err->reset(error); } - MOCK_CONST_METHOD2(CreateNewDirectory_t, void(const std::string& directory_name, ErrorInterface** err)); + MOCK_METHOD(void, CreateNewDirectory_t, (const std::string& directory_name, ErrorInterface** err), (const)); MessageData GetDataFromFile(const std::string& fname, uint64_t* fsize, Error* err) const override { std::function<ErrorInterface*()> error; @@ -218,20 +211,19 @@ class MockIO : public IO { return MessageData(data); } - MOCK_CONST_METHOD3(GetDataFromFile_t, uint8_t* (const std::string& fname, uint64_t* fsize, - std::function<ErrorInterface*()>* err_gen)); + MOCK_METHOD(uint8_t*, GetDataFromFile_t, (const std::string& fname, uint64_t* fsize, std::function<ErrorInterface*()>* err_gen), (const)); Error GetLastError() const override { return Error{GetLastError_t()}; } - MOCK_CONST_METHOD0(GetLastError_t, ErrorInterface * ()); + MOCK_METHOD(ErrorInterface *, GetLastError_t, (), (const)); Error SendFile(SocketDescriptor socket_fd, const std::string& fname, size_t length) const override { return Error{SendFile_t(socket_fd, fname, length)}; } - MOCK_CONST_METHOD3(SendFile_t, ErrorInterface * (SocketDescriptor socket_fd, const std::string& fname, size_t length)); + MOCK_METHOD(ErrorInterface *, SendFile_t, (SocketDescriptor socket_fd, const std::string& fname, size_t length), (const)); Error WriteDataToFile(const std::string& root_folder, const std::string& fname, const MessageData& data, size_t length, bool create_directories, bool allow_ovewrite) const override { @@ -239,7 +231,7 @@ class MockIO : public IO { } - MOCK_CONST_METHOD1(RemoveFile_t, ErrorInterface * (const std::string& fname)); + MOCK_METHOD(ErrorInterface *, RemoveFile_t, (const std::string& fname), (const)); Error WriteDataToFile(const std::string& root_folder, const std::string& fname, const uint8_t* data, size_t length, bool create_directories, bool allow_ovewrite) const override { @@ -252,8 +244,7 @@ class MockIO : public IO { } - MOCK_CONST_METHOD6(ReceiveDataToFile_t, ErrorInterface * (SocketDescriptor socket, const std::string& root_folder, - const std::string& fname, size_t fsize, bool create_directories, bool allow_ovewrite)); + MOCK_METHOD(ErrorInterface *, ReceiveDataToFile_t, (SocketDescriptor socket, const std::string& root_folder, const std::string& fname, size_t fsize, bool create_directories, bool allow_ovewrite), (const)); Error ReceiveDataToFile(SocketDescriptor socket, const std::string& root_folder, const std::string& fname, size_t length, bool create_directories, bool allow_ovewrite) const override { @@ -261,8 +252,7 @@ class MockIO : public IO { } - MOCK_CONST_METHOD6(WriteDataToFile_t, ErrorInterface * (const std::string& root_folder, const std::string& fname, - const uint8_t* data, size_t fsize, bool create_directories, bool allow_ovewrite)); + MOCK_METHOD(ErrorInterface *, WriteDataToFile_t, (const std::string& root_folder, const std::string& fname, const uint8_t* data, size_t fsize, bool create_directories, bool allow_ovewrite), (const)); MessageMeta GetMessageMeta(const std::string& name, Error* err) const override { @@ -273,7 +263,7 @@ class MockIO : public IO { } - MOCK_CONST_METHOD2(GetMessageMeta_t, MessageMeta (const std::string& name, ErrorInterface** err)); + MOCK_METHOD(MessageMeta, GetMessageMeta_t, (const std::string& name, ErrorInterface** err), (const)); std::vector<MessageMeta> FilesInFolder(const std::string& folder, Error* err) const override { ErrorInterface* error = nullptr; @@ -281,7 +271,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD2(FilesInFolder_t, std::vector<MessageMeta>(const std::string& folder, ErrorInterface** err)); + MOCK_METHOD(std::vector<MessageMeta>, FilesInFolder_t, (const std::string& folder, ErrorInterface** err), (const)); SubDirList GetSubDirectories(const std::string& path, Error* err) const override { @@ -291,7 +281,7 @@ class MockIO : public IO { return data; }; - MOCK_CONST_METHOD2(GetSubDirectories_t, SubDirList(const std::string& path, ErrorInterface** err)); + MOCK_METHOD(SubDirList, GetSubDirectories_t, (const std::string& path, ErrorInterface** err), (const)); std::string ReadFileToString(const std::string& fname, Error* err) const override { @@ -300,7 +290,7 @@ class MockIO : public IO { err->reset(error); return data; } - MOCK_CONST_METHOD2(ReadFileToString_t, std::string(const std::string& fname, ErrorInterface** err)); + MOCK_METHOD(std::string, ReadFileToString_t, (const std::string& fname, ErrorInterface** err), (const)); diff --git a/common/cpp/include/asapo/unittests/MockLogger.h b/common/cpp/include/asapo/unittests/MockLogger.h index 06b30a59d3fb15142490cd529934a69a55cd2969..be3518fcf570bac6816cbe3b75cbb3d8c0090b90 100644 --- a/common/cpp/include/asapo/unittests/MockLogger.h +++ b/common/cpp/include/asapo/unittests/MockLogger.h @@ -23,10 +23,10 @@ class MockLogger : public AbstractLogger { Warning(msg->ExplainInJSON()); }; - MOCK_CONST_METHOD1(Info, void(const std::string&)); - MOCK_CONST_METHOD1(Error, void(const std::string& )); - MOCK_CONST_METHOD1(Debug, void(const std::string& )); - MOCK_CONST_METHOD1(Warning, void(const std::string& )); + MOCK_METHOD(void, Info, (const std::string&), (const, override)); + MOCK_METHOD(void, Error, (const std::string&), (const, override)); + MOCK_METHOD(void, Debug, (const std::string&), (const, override)); + MOCK_METHOD(void, Warning, (const std::string&), (const, override)); void Info(const LogMessageWithFields& msg) const override { Info(msg.LogString()); }; @@ -40,9 +40,9 @@ class MockLogger : public AbstractLogger { Warning(msg.LogString()); }; - MOCK_METHOD1(SetLogLevel, void(LogLevel)); - MOCK_METHOD1(EnableLocalLog, void(bool)); - MOCK_METHOD1(EnableRemoteLog, void(bool)); + MOCK_METHOD(void, SetLogLevel, (LogLevel), (override)); + MOCK_METHOD(void, EnableLocalLog, (bool), (override)); + MOCK_METHOD(void, EnableRemoteLog, (bool), (override)); }; } diff --git a/common/cpp/include/asapo/unittests/replace_mocks.py b/common/cpp/include/asapo/unittests/replace_mocks.py new file mode 100755 index 0000000000000000000000000000000000000000..f91b901bac087b47b3bd7917450fad14ab51e1e5 --- /dev/null +++ b/common/cpp/include/asapo/unittests/replace_mocks.py @@ -0,0 +1,53 @@ +#!/usr/bin/python + +import sys +import re + +fname = sys.argv[1] +fnameo = sys.argv[2] + +with open(fname) as f: + lines = f.readlines() + +pattern = '.*(MOCK_.*?)\((.*?), (.*?)\((.*)\)\)' + +f = open(fnameo, "w") + +fulline = "" +in_mock = False +for line in lines: + if not in_mock and re.match(r".*MOCK_.*", line): + in_mock = True + if in_mock: + if fulline: + fulline = fulline.rstrip() + " " + line.lstrip() + else: + fulline = line + if not line.strip().endswith(";"): + continue + else: + f.write(line) + continue + result = re.search(pattern, fulline) + if result: + result = result.groups() + in_mock = False + else: + f.write(line) + continue + specifiers = "" + if not result[1].endswith("_t"): + specifiers = "override" + if "CONST" in result[0]: + if specifiers: + specifiers = "const, " + specifiers + else: + specifiers = "const" + ret = result[2].strip() + if "," in ret: + ret = "("+ret+")" + s="MOCK_METHOD"+"("+ret+", "+result[1].strip()+", ("+result[3].strip()+"), ("+specifiers+"));" + f.write(re.sub('MOCK_.*;', s , fulline)) + print (re.sub('MOCK_.*;', s , fulline)) + fulline = "" +f.close() \ No newline at end of file diff --git a/common/cpp/scripts/replace_mocks.py b/common/cpp/scripts/replace_mocks.py new file mode 100755 index 0000000000000000000000000000000000000000..f91b901bac087b47b3bd7917450fad14ab51e1e5 --- /dev/null +++ b/common/cpp/scripts/replace_mocks.py @@ -0,0 +1,53 @@ +#!/usr/bin/python + +import sys +import re + +fname = sys.argv[1] +fnameo = sys.argv[2] + +with open(fname) as f: + lines = f.readlines() + +pattern = '.*(MOCK_.*?)\((.*?), (.*?)\((.*)\)\)' + +f = open(fnameo, "w") + +fulline = "" +in_mock = False +for line in lines: + if not in_mock and re.match(r".*MOCK_.*", line): + in_mock = True + if in_mock: + if fulline: + fulline = fulline.rstrip() + " " + line.lstrip() + else: + fulline = line + if not line.strip().endswith(";"): + continue + else: + f.write(line) + continue + result = re.search(pattern, fulline) + if result: + result = result.groups() + in_mock = False + else: + f.write(line) + continue + specifiers = "" + if not result[1].endswith("_t"): + specifiers = "override" + if "CONST" in result[0]: + if specifiers: + specifiers = "const, " + specifiers + else: + specifiers = "const" + ret = result[2].strip() + if "," in ret: + ret = "("+ret+")" + s="MOCK_METHOD"+"("+ret+", "+result[1].strip()+", ("+result[3].strip()+"), ("+specifiers+"));" + f.write(re.sub('MOCK_.*;', s , fulline)) + print (re.sub('MOCK_.*;', s , fulline)) + fulline = "" +f.close() \ No newline at end of file diff --git a/common/cpp/scripts/test.h b/common/cpp/scripts/test.h new file mode 100644 index 0000000000000000000000000000000000000000..610917b7e3b7824996deae9c0406fbda9959bcea --- /dev/null +++ b/common/cpp/scripts/test.h @@ -0,0 +1,20 @@ + #MOCK_CONST_METHOD0(GetFileName, std::string()); + MOCK_CONST_METHOD0(GetOriginUri_t, + const std::string & ()); +MOCK_CONST_METHOD0(GetOriginHost, const std::string & ()); +MOCK_CONST_METHOD0(GetDataSize, uint64_t()); +MOCK_CONST_METHOD0(GetDataID, uint64_t()); +MOCK_CONST_METHOD0(GetSlotId, uint64_t()); +MOCK_CONST_METHOD0(GetData, void* ()); +MOCK_CONST_METHOD0(GetBeamtimeId, const std::string & ()); +MOCK_CONST_METHOD0(GetDataSource, const std::string & ()); +MOCK_METHOD0(SetAlreadyProcessedFlag, void()); +MOCK_METHOD2(SetResponseMessage, void(std::string, ResponseMessageType)); +MOCK_CONST_METHOD0(GetResponseMessage, const std::string & ()); +MOCK_CONST_METHOD1(NewThread_t, std::thread * (std::function<void()> function)); +MOCK_CONST_METHOD2(InetAcceptConnection_t, std::tuple<std::string, SocketDescriptor>* (SocketDescriptor socket_fd, + ErrorInterface** err)); + dfgd + gds + gdfsg + diff --git a/receiver/unittests/receiver_mocking.h b/receiver/unittests/receiver_mocking.h index 40ce1ad8892398d6db88555ed4dd1320a3ff50cf..a12551c7e3a3c5574522f118dcf0aaea7b57f942 100644 --- a/receiver/unittests/receiver_mocking.h +++ b/receiver/unittests/receiver_mocking.h @@ -33,13 +33,11 @@ class MockStatistics : public asapo::ReceiverStatistics { StopTimer_t(); } - MOCK_METHOD1(SendIfNeeded_t, void(bool send_always)); - MOCK_METHOD0(IncreaseRequestCounter_t, void()); - MOCK_METHOD0(StopTimer_t, void()); - MOCK_METHOD1(IncreaseRequestDataVolume_t, void (uint64_t - transferred_data_volume)); - MOCK_METHOD1(StartTimer_t, void( - const asapo::StatisticEntity& entity)); + MOCK_METHOD(void, SendIfNeeded_t, (bool send_always), ()); + MOCK_METHOD(void, IncreaseRequestCounter_t, (), ()); + MOCK_METHOD(void, StopTimer_t, (), ()); + MOCK_METHOD(void, IncreaseRequestDataVolume_t, (uint64_t transferred_data_volume), ()); + MOCK_METHOD(void, StartTimer_t, (const asapo::StatisticEntity& entity), ()); }; @@ -55,7 +53,7 @@ class MockHandlerDbCheckRequest : public asapo::RequestHandlerDbCheckRequest { return StatisticEntity::kDatabase; } - MOCK_CONST_METHOD1(ProcessRequest_t, ErrorInterface * (const Request& request)); + MOCK_METHOD(ErrorInterface *, ProcessRequest_t, (const Request& request), (const)); }; @@ -66,47 +64,47 @@ class MockRequest: public Request { const RequestHandlerDbCheckRequest* db_check_handler ): Request(request_header, socket_fd, std::move(origin_uri), nullptr, db_check_handler) {}; -// MOCK_METHOD(std::string, GetFileName, (), (const,override)); - MOCK_CONST_METHOD0(GetFileName, std::string()); - MOCK_CONST_METHOD0(GetStream, std::string()); - MOCK_CONST_METHOD0(GetApiVersion, std::string()); - MOCK_CONST_METHOD0(GetOriginUri, const std::string & ()); - MOCK_CONST_METHOD0(GetOriginHost, const std::string & ()); - MOCK_CONST_METHOD0(GetDataSize, uint64_t()); - MOCK_CONST_METHOD0(GetDataID, uint64_t()); - MOCK_CONST_METHOD0(GetSlotId, uint64_t()); - MOCK_CONST_METHOD0(GetData, void* ()); - MOCK_CONST_METHOD0(GetBeamtimeId, const std::string & ()); - MOCK_CONST_METHOD0(GetDataSource, const std::string & ()); - MOCK_CONST_METHOD0(GetMetaData, const std::string & ()); - MOCK_CONST_METHOD0(GetBeamline, const std::string & ()); - MOCK_CONST_METHOD0(GetOpCode, asapo::Opcode ()); - MOCK_CONST_METHOD0(GetSocket, asapo::SocketDescriptor ()); - - MOCK_CONST_METHOD0(GetOnlinePath, const std::string & ()); - MOCK_CONST_METHOD0(GetOfflinePath, const std::string & ()); +// MOCK_METHOD(, ), (const,override), (override)); + MOCK_METHOD(std::string, GetFileName, (), (const, override)); + MOCK_METHOD(std::string, GetStream, (), (const, override)); + MOCK_METHOD(std::string, GetApiVersion, (), (const, override)); + MOCK_METHOD(const std::string &, GetOriginUri, (), (const, override)); + MOCK_METHOD(const std::string &, GetOriginHost, (), (const, override)); + MOCK_METHOD(uint64_t, GetDataSize, (), (const, override)); + MOCK_METHOD(uint64_t, GetDataID, (), (const, override)); + MOCK_METHOD(uint64_t, GetSlotId, (), (const, override)); + MOCK_METHOD(void*, GetData, (), (const, override)); + MOCK_METHOD(const std::string &, GetBeamtimeId, (), (const, override)); + MOCK_METHOD(const std::string &, GetDataSource, (), (const, override)); + MOCK_METHOD(const std::string &, GetMetaData, (), (const, override)); + MOCK_METHOD(const std::string &, GetBeamline, (), (const, override)); + MOCK_METHOD(asapo::Opcode, GetOpCode, (), (const, override)); + MOCK_METHOD(asapo::SocketDescriptor, GetSocket, (), (const, override)); + + MOCK_METHOD(const std::string &, GetOnlinePath, (), (const, override)); + MOCK_METHOD(const std::string &, GetOfflinePath, (), (const, override)); // not nice casting, but mocking GetCustomData directly does not compile on Windows. const CustomRequestData& GetCustomData() const override { return (CustomRequestData&) * GetCustomData_t(); }; - MOCK_CONST_METHOD0(GetCustomData_t, const uint64_t* ()); - MOCK_CONST_METHOD0(GetMessage, const char* ()); - MOCK_METHOD1(SetBeamtimeId, void (std::string)); - MOCK_METHOD1(SetDataSource, void (std::string)); - MOCK_METHOD1(SetBeamline, void (std::string)); - MOCK_METHOD1(SetOnlinePath, void (std::string)); - MOCK_METHOD1(SetOfflinePath, void (std::string)); + MOCK_METHOD(const uint64_t*, GetCustomData_t, (), (const)); + MOCK_METHOD(const char*, GetMessage, (), (const, override)); + MOCK_METHOD(void, SetBeamtimeId, (std::string), (override)); + MOCK_METHOD(void, SetDataSource, (std::string), (override)); + MOCK_METHOD(void, SetBeamline, (std::string), (override)); + MOCK_METHOD(void, SetOnlinePath, (std::string), (override)); + MOCK_METHOD(void, SetOfflinePath, (std::string), (override)); - MOCK_METHOD1(SetSourceType, void (SourceType)); - MOCK_CONST_METHOD0(GetSourceType, SourceType ()); + MOCK_METHOD(void, SetSourceType, (SourceType), (override)); + MOCK_METHOD(SourceType, GetSourceType, (), (const, override)); - MOCK_CONST_METHOD0(WasAlreadyProcessed, bool()); - MOCK_METHOD0(SetAlreadyProcessedFlag, void()); - MOCK_METHOD2(SetResponseMessage, void(std::string, ResponseMessageType)); - MOCK_CONST_METHOD0(GetResponseMessage, const std::string & ()); - MOCK_CONST_METHOD0(GetResponseMessageType_t, ResponseMessageType ()); + MOCK_METHOD(bool, WasAlreadyProcessed, (), (const, override)); + MOCK_METHOD(void, SetAlreadyProcessedFlag, (), (override)); + MOCK_METHOD(void, SetResponseMessage, (std::string, ResponseMessageType), (override)); + MOCK_METHOD(const std::string &, GetResponseMessage, (), (const, override)); + MOCK_METHOD(ResponseMessageType, GetResponseMessageType_t, (), (const)); ResponseMessageType GetResponseMessageType() const override { return GetResponseMessageType_t(); @@ -116,18 +114,16 @@ class MockRequest: public Request { return Error{CheckForDuplicates_t()}; } - MOCK_METHOD0(CheckForDuplicates_t, ErrorInterface * ()); + MOCK_METHOD(ErrorInterface *, CheckForDuplicates_t, (), ()); }; class MockDataCache: public DataCache { public: MockDataCache(): DataCache(0, 0) {}; - MOCK_METHOD2(GetFreeSlotAndLock, void* (uint64_t - size, CacheMeta** meta)); - MOCK_METHOD1(UnlockSlot, bool(CacheMeta* meta)); - MOCK_METHOD3(GetSlotToReadAndLock, void* (uint64_t - id, uint64_t data_size, CacheMeta** meta)); + MOCK_METHOD(void*, GetFreeSlotAndLock, (uint64_t size, CacheMeta** meta), (override)); + MOCK_METHOD(bool, UnlockSlot, (CacheMeta* meta), (override)); + MOCK_METHOD(void*, GetSlotToReadAndLock, (uint64_t id, uint64_t data_size, CacheMeta** meta), (override)); }; @@ -137,7 +133,7 @@ class MockStatisticsSender: public StatisticsSender { void SendStatistics(const StatisticsToSend& statistics) const noexcept override { SendStatistics_t(statistics); } - MOCK_CONST_METHOD1(SendStatistics_t, void (const StatisticsToSend&)); + MOCK_METHOD(void, SendStatistics_t, (const StatisticsToSend&), (const)); }; @@ -147,7 +143,7 @@ class MockFileProcessor: public FileProcessor { return Error{ProcessFile_t(request, overwrite)}; } - MOCK_CONST_METHOD2(ProcessFile_t, ErrorInterface * (const Request*, bool)); + MOCK_METHOD(ErrorInterface *, ProcessFile_t, (const Request*, bool), (const)); }; @@ -156,15 +152,15 @@ class MockAuthorizationClient: public AuthorizationClient { Error Authorize(const Request* request, AuthorizationData* data) const override { return Error{Authorize_t(request, data)}; } - MOCK_CONST_METHOD2(Authorize_t, ErrorInterface * (const Request*, AuthorizationData* )); + MOCK_METHOD(ErrorInterface *, Authorize_t, (const Request*, AuthorizationData*), (const)); }; inline void SetDefaultRequestCalls(MockRequest* mock_request,const std::string& bt) { - ON_CALL(*mock_request, GetBeamtimeId()).WillByDefault(::testing::ReturnRef(bt)); - ON_CALL(*mock_request, GetBeamline()).WillByDefault(::testing::ReturnRef("")); - ON_CALL(*mock_request, GetDataSource()).WillByDefault(::testing::ReturnRef("")); - ON_CALL(*mock_request, GetStream()).WillByDefault(::testing::Return("")); - ON_CALL(*mock_request, GetOriginHost()).WillByDefault(::testing::ReturnRef("")); + ON_CALL(*mock_request, GetBeamtimeId()).WillByDefault(::testing::ReturnRefOfCopy(bt)); + ON_CALL(*mock_request, GetBeamline()).WillByDefault(::testing::ReturnRefOfCopy(std::string(""))); + ON_CALL(*mock_request, GetDataSource()).WillByDefault(::testing::ReturnRefOfCopy(std::string(""))); + ON_CALL(*mock_request, GetStream()).WillByDefault(::testing::Return(std::string(""))); + ON_CALL(*mock_request, GetOriginHost()).WillByDefault(::testing::ReturnRefOfCopy(std::string(""))); ON_CALL(*mock_request, GetOpCode()).WillByDefault(::testing::Return(Opcode::kOpcodeTransferData)); }