Skip to content
Snippets Groups Projects
Commit 37ccd990 authored by Sergey Yakubov's avatar Sergey Yakubov
Browse files

fix tests

parent 071cd886
No related branches found
No related tags found
No related merge requests found
......@@ -30,6 +30,16 @@ class SystemIO final : public IO {
static const int kWaitTimeoutMs;
#if defined(__linux__) || defined (__APPLE__)
// used to for epoll - assumed single epoll instance per class instance
const int kMaxEpollEvents = 10;
mutable int epoll_fd_ = -1;
Error AddToEpool(SocketDescriptor sd) const;
Error CreateEpoolIfNeeded(SocketDescriptor master_socket) const;
Error ProcessNewConnection(SocketDescriptor master_socket, std::vector<std::string>* new_connections,
ListSocketDescriptors* sockets_to_listen) const;
#endif
void ApplyNetworkOptions(SocketDescriptor socket_fd, Error* err) const;
//void CollectFileInformationRecursively(const std::string& path, std::vector<FileInfo>* files, IOErrors* err) const;
......@@ -71,19 +81,8 @@ class SystemIO final : public IO {
void GetSubDirectoriesRecursively(const std::string& path, SubDirList* subdirs, Error* err) const;
Error CreateDirectoryWithParents(const std::string& root_path, const std::string& path) const;
uint8_t* AllocateArray(uint64_t fsize, Error* err) const;
#if defined(__linux__) || defined (__APPLE__)
// used to for epoll - assumed single epoll instance per class instance
const int kMaxEpollEvents = 10;
mutable int epoll_fd_ = -1;
Error AddToEpool(SocketDescriptor sd) const;
Error CreateEpoolIfNeeded(SocketDescriptor master_socket) const;
Error ProcessNewConnection(SocketDescriptor master_socket, std::vector<std::string>* new_connections,
ListSocketDescriptors* sockets_to_listen) const;
FileDescriptor OpenWithCreateFolders(const std::string& root_folder, const std::string& fname,
bool create_directories, Error* err) const;
#endif
public:
~SystemIO();
/*
......
......@@ -7,32 +7,12 @@
namespace asapo {
Error RequestHandlerReceiveData::ReceiveMetaData(Request* request) const {
auto meta_size = request->GetMetaDataSize();
if (meta_size == 0) {
return nullptr;
}
Error err;
auto buf = std::unique_ptr<uint8_t[]> {new uint8_t[meta_size]};
io__->Receive(request->GetSocket(), (void*) buf.get(), meta_size, &err);
if (err) {
return err;
}
request->SetMetadata(std::string((char*)buf.get(), meta_size));
return nullptr;
}
bool RequestHandlerReceiveData::NeedReceiveData(const Request* request) const {
return request->GetDataSize() > 0 &&
(request->GetCustomData()[asapo::kPosIngestMode] & asapo::kTransferData);
}
Error RequestHandlerReceiveData::ReceiveData(Request* request) const {
Error RequestHandlerReceiveData::ProcessRequest(Request* request) const {
if (!NeedReceiveData(request)) {
return nullptr;
}
......@@ -45,21 +25,6 @@ Error RequestHandlerReceiveData::ReceiveData(Request* request) const {
return err;
}
Error RequestHandlerReceiveData::ReceiveRequestContent(Request* request) const {
auto err = ReceiveMetaData(request);
if (err) {
return err;
}
return ReceiveData(request);
}
Error RequestHandlerReceiveData::ProcessRequest(Request* request) const {
return ReceiveRequestContent(request);
}
RequestHandlerReceiveData::RequestHandlerReceiveData() : io__{GenerateDefaultIO()} , log__{GetDefaultReceiverLogger()} {
}
......
......@@ -16,9 +16,6 @@ class RequestHandlerReceiveData final: public ReceiverRequestHandler {
std::unique_ptr<IO> io__;
const AbstractLogger* log__;
private:
Error ReceiveData(Request* request)const;
Error ReceiveMetaData(Request* request) const;
Error ReceiveRequestContent(Request* request) const;
bool NeedReceiveData(const Request* request) const;
};
......
......@@ -60,7 +60,6 @@ class ReceiveDataHandlerTests : public Test {
uint64_t expected_slot_id{16};
std::string expected_origin_uri = "origin_uri";
std::string expected_metadata = "meta";
uint64_t expected_metadata_size = expected_metadata.size();
asapo::Opcode expected_op_code = asapo::kOpcodeTransferData;
char expected_request_message[asapo::kMaxMessageSize] = "test_message";
std::unique_ptr<Request> request;
......@@ -73,24 +72,18 @@ class ReceiveDataHandlerTests : public Test {
void SetUp() override {
generic_request_header.data_size = data_size_;
generic_request_header.data_id = data_id_;
generic_request_header.meta_size = expected_metadata_size;
generic_request_header.op_code = expected_op_code;
generic_request_header.custom_data[asapo::kPosIngestMode] = asapo::kDefaultIngestMode;
strcpy(generic_request_header.message, expected_request_message);
request.reset(new Request{generic_request_header, socket_fd_, expected_origin_uri, nullptr});
handler.io__ = std::unique_ptr<asapo::IO> {&mock_io};
handler.log__ = &mock_logger;
//ON_CALL(mock_io, Receive_t(socket_fd_, _, data_size_, _)).WillByDefault(
//DoAll(SetArgPointee<3>(nullptr),
// Return(0)
// ));
}
void TearDown() override {
handler.io__.release();
}
void ExpectReceive(uint64_t expected_size, bool ok = true);
void ExpectReceiveData(bool ok = true);
void ExpectReceiveMetaData(bool ok = true);
};
ACTION_P(CopyStr, value) {
......@@ -112,9 +105,6 @@ void ReceiveDataHandlerTests::ExpectReceive(uint64_t expected_size, bool ok) {
void ReceiveDataHandlerTests::ExpectReceiveData(bool ok) {
ExpectReceive(data_size_, ok);
}
void ReceiveDataHandlerTests::ExpectReceiveMetaData(bool ok) {
ExpectReceive(expected_metadata_size, ok);
}
TEST_F(ReceiveDataHandlerTests, CheckStatisticEntity) {
auto entity = handler.GetStatisticEntity();
......@@ -124,7 +114,6 @@ TEST_F(ReceiveDataHandlerTests, CheckStatisticEntity) {
TEST_F(ReceiveDataHandlerTests, HandleDoesNotReceiveEmptyData) {
generic_request_header.data_size = 0;
generic_request_header.meta_size = 0;
request.reset(new Request{generic_request_header, socket_fd_, "", nullptr});
EXPECT_CALL(mock_io, Receive_t(_, _, _, _)).Times(0);
......@@ -140,28 +129,18 @@ TEST_F(ReceiveDataHandlerTests, HandleDoesNotReceiveDataWhenMetadataOnlyWasSent)
generic_request_header.custom_data[asapo::kPosIngestMode] = asapo::kTransferMetaDataOnly;
request.reset(new Request{generic_request_header, socket_fd_, "", nullptr});
ExpectReceiveMetaData(true);
auto err = handler.ProcessRequest(request.get());
ASSERT_THAT(err, Eq(nullptr));
}
TEST_F(ReceiveDataHandlerTests, HandleReturnsErrorOnDataReceive) {
ExpectReceiveMetaData(true);
ExpectReceiveData(false);
auto err = handler.ProcessRequest(request.get());
ASSERT_THAT(err, Eq(asapo::IOErrorTemplates::kReadError));
}
TEST_F(ReceiveDataHandlerTests, HandleReturnsErrorOnMetaDataReceive) {
ExpectReceiveMetaData(false);
auto err = handler.ProcessRequest(request.get());
ASSERT_THAT(err, Eq(asapo::IOErrorTemplates::kReadError));
}
TEST_F(ReceiveDataHandlerTests, HandleReturnsOK) {
ExpectReceiveMetaData(true);
ExpectReceiveData(true);
auto err = handler.ProcessRequest(request.get());
ASSERT_THAT(err, Eq(nullptr));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment