aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/messagebus/rain_check
diff options
context:
space:
mode:
authorfamilom <familom@yandex-team.ru>2022-02-10 16:49:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:49 +0300
commitf281aaf77179d27d6208b873e95ae6cd45765a63 (patch)
treeb4229c6ece98c855bd9821ef0b656042c29a8953 /library/cpp/messagebus/rain_check
parent53d07fb9e28d179add32cd299c9341bf8a231a31 (diff)
downloadydb-f281aaf77179d27d6208b873e95ae6cd45765a63.tar.gz
Restoring authorship annotation for <familom@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/messagebus/rain_check')
-rw-r--r--library/cpp/messagebus/rain_check/core/track_ut.cpp2
-rw-r--r--library/cpp/messagebus/rain_check/http/client.cpp50
-rw-r--r--library/cpp/messagebus/rain_check/http/client.h38
-rw-r--r--library/cpp/messagebus/rain_check/http/client_ut.cpp86
-rw-r--r--library/cpp/messagebus/rain_check/http/ya.make22
-rw-r--r--library/cpp/messagebus/rain_check/test/ut/ya.make2
6 files changed, 100 insertions, 100 deletions
diff --git a/library/cpp/messagebus/rain_check/core/track_ut.cpp b/library/cpp/messagebus/rain_check/core/track_ut.cpp
index 05f7de1319..38730cf24f 100644
--- a/library/cpp/messagebus/rain_check/core/track_ut.cpp
+++ b/library/cpp/messagebus/rain_check/core/track_ut.cpp
@@ -34,7 +34,7 @@ Y_UNIT_TEST_SUITE(TaskTracker) {
testSync.WaitFor(1);
- UNIT_ASSERT_VALUES_EQUAL(1u, tracker->Size());
+ UNIT_ASSERT_VALUES_EQUAL(1u, tracker->Size());
testSync.CheckAndIncrement(1);
diff --git a/library/cpp/messagebus/rain_check/http/client.cpp b/library/cpp/messagebus/rain_check/http/client.cpp
index 5ef5ceeece..c72fbd33e0 100644
--- a/library/cpp/messagebus/rain_check/http/client.cpp
+++ b/library/cpp/messagebus/rain_check/http/client.cpp
@@ -1,5 +1,5 @@
-#include "client.h"
-
+#include "client.h"
+
#include "http_code_extractor.h"
#include <library/cpp/http/io/stream.h>
@@ -7,13 +7,13 @@
#include <library/cpp/neh/http_common.h>
#include <library/cpp/neh/location.h>
#include <library/cpp/neh/neh.h>
-
+
#include <util/generic/ptr.h>
#include <util/generic/strbuf.h>
#include <util/network/socket.h>
#include <util/stream/str.h>
-
-namespace NRainCheck {
+
+namespace NRainCheck {
class THttpCallback: public NNeh::IOnRecv {
public:
THttpCallback(NRainCheck::THttpFuture* future)
@@ -21,7 +21,7 @@ namespace NRainCheck {
{
Y_VERIFY(!!future, "future is NULL");
}
-
+
void OnRecv(NNeh::THandle& handle) override {
THolder<THttpCallback> self(this);
NNeh::TResponseRef response = handle.Get();
@@ -35,24 +35,24 @@ namespace NRainCheck {
THttpFuture::THttpFuture()
: Task(nullptr)
, ErrorCode(THttpFuture::NoError)
- {
- }
-
+ {
+ }
+
THttpFuture::~THttpFuture() {
- }
-
+ }
+
bool THttpFuture::HasError() const {
return (ErrorCode != THttpFuture::NoError);
}
-
+
THttpFuture::EError THttpFuture::GetErrorCode() const {
return ErrorCode;
}
-
+
TString THttpFuture::GetErrorDescription() const {
return ErrorDescription;
}
-
+
THttpClientService::THttpClientService()
: GetProtocol(NNeh::ProtocolFactory()->Protocol("http"))
, FullProtocol(NNeh::ProtocolFactory()->Protocol("full"))
@@ -60,10 +60,10 @@ namespace NRainCheck {
Y_VERIFY(!!GetProtocol, "GET protocol is NULL.");
Y_VERIFY(!!FullProtocol, "POST protocol is NULL.");
}
-
+
THttpClientService::~THttpClientService() {
}
-
+
void THttpClientService::SendPost(TString addr, const TString& data, const THttpHeaders& headers, THttpFuture* future) {
Y_VERIFY(!!future, "future is NULL.");
@@ -86,10 +86,10 @@ namespace NRainCheck {
future->SetFail(THttpFuture::OtherError, err.AsStrBuf());
}
}
-
+
void THttpClientService::Send(const TString& request, THttpFuture* future) {
Y_VERIFY(!!future, "future is NULL.");
-
+
TTaskRunnerBase* current = TTaskRunnerBase::CurrentTask();
future->SetRunning(current);
future->Task = current;
@@ -115,18 +115,18 @@ namespace NRainCheck {
bool THttpFuture::HasResponseBody() const {
return !!Response;
}
-
+
ui32 THttpFuture::GetHttpCode() const {
Y_ASSERT(IsDone());
Y_ASSERT(HasHttpCode());
-
+
return static_cast<ui32>(*HttpCode);
}
-
+
TString THttpFuture::GetResponseBody() const {
Y_ASSERT(IsDone());
Y_ASSERT(HasResponseBody());
-
+
return Response->Data;
}
@@ -137,18 +137,18 @@ namespace NRainCheck {
} else {
ErrorCode = THttpFuture::BadHttpCodeError;
ErrorDescription = response->GetErrorText();
-
+
HttpCode = TryGetHttpCodeFromErrorDescription(ErrorDescription);
}
Response.Reset(response);
SetDone();
}
-
+
void THttpFuture::SetFail(THttpFuture::EError errorCode, const TStringBuf& errorDescription) {
ErrorCode = errorCode;
ErrorDescription = errorDescription;
Response.Destroy();
SetDone();
}
-
+
}
diff --git a/library/cpp/messagebus/rain_check/http/client.h b/library/cpp/messagebus/rain_check/http/client.h
index d4199c4c98..d44567625e 100644
--- a/library/cpp/messagebus/rain_check/http/client.h
+++ b/library/cpp/messagebus/rain_check/http/client.h
@@ -1,31 +1,31 @@
-#pragma once
-
+#pragma once
+
#include <library/cpp/messagebus/rain_check/core/task.h>
-
+
#include <library/cpp/http/misc/httpcodes.h>
#include <util/generic/maybe.h>
-#include <util/generic/ptr.h>
+#include <util/generic/ptr.h>
#include <util/generic/string.h>
-#include <util/system/defaults.h>
-#include <util/system/yassert.h>
-
+#include <util/system/defaults.h>
+#include <util/system/yassert.h>
+
class THttpHeaders;
-namespace NNeh {
+namespace NNeh {
class IProtocol;
struct TResponse;
}
-
-namespace NRainCheck {
+
+namespace NRainCheck {
class THttpCallback;
class THttpClientService;
-
+
class THttpFuture: public TSubtaskCompletion {
public:
enum EError {
NoError = 0,
-
+
CantResolveNameError = 1,
BadHttpCodeError = 2,
@@ -39,17 +39,17 @@ namespace NRainCheck {
public:
THttpFuture();
~THttpFuture() override;
-
+
bool HasHttpCode() const;
bool HasResponseBody() const;
-
+
ui32 GetHttpCode() const;
TString GetResponseBody() const;
bool HasError() const;
EError GetErrorCode() const;
TString GetErrorDescription() const;
-
+
private:
void SetDoneAndSchedule(TAutoPtr<NNeh::TResponse> response);
void SetFail(EError errorCode, const TStringBuf& errorDescription);
@@ -61,18 +61,18 @@ namespace NRainCheck {
EError ErrorCode;
TString ErrorDescription;
};
-
+
class THttpClientService {
public:
THttpClientService();
virtual ~THttpClientService();
-
+
void Send(const TString& request, THttpFuture* future);
void SendPost(TString addr, const TString& data, const THttpHeaders& headers, THttpFuture* future);
-
+
private:
NNeh::IProtocol* const GetProtocol;
NNeh::IProtocol* const FullProtocol;
};
-
+
}
diff --git a/library/cpp/messagebus/rain_check/http/client_ut.cpp b/library/cpp/messagebus/rain_check/http/client_ut.cpp
index 1628114391..a455727081 100644
--- a/library/cpp/messagebus/rain_check/http/client_ut.cpp
+++ b/library/cpp/messagebus/rain_check/http/client_ut.cpp
@@ -1,45 +1,45 @@
#include <library/cpp/testing/unittest/registar.h>
-#include "client.h"
+#include "client.h"
#include "http_code_extractor.h"
#include <library/cpp/messagebus/rain_check/test/ut/test.h>
#include <library/cpp/messagebus/test/helper/fixed_port.h>
-
+
#include <library/cpp/http/io/stream.h>
#include <library/cpp/neh/rpc.h>
-
-#include <util/generic/cast.h>
-#include <util/generic/ptr.h>
-#include <util/generic/strbuf.h>
+
+#include <util/generic/cast.h>
+#include <util/generic/ptr.h>
+#include <util/generic/strbuf.h>
#include <util/generic/string.h>
-#include <util/generic/vector.h>
-#include <util/network/ip.h>
+#include <util/generic/vector.h>
+#include <util/network/ip.h>
#include <util/stream/str.h>
#include <util/string/printf.h>
-#include <util/system/defaults.h>
-#include <util/system/yassert.h>
-
-#include <cstdlib>
+#include <util/system/defaults.h>
+#include <util/system/yassert.h>
+
+#include <cstdlib>
#include <utility>
-
-using namespace NRainCheck;
+
+using namespace NRainCheck;
using namespace NBus::NTest;
-
-namespace {
+
+namespace {
class THttpClientEnv: public TTestEnvTemplate<THttpClientEnv> {
public:
THttpClientService HttpClientService;
};
-
+
const TString TEST_SERVICE = "test-service";
const TString TEST_GET_PARAMS = "p=GET";
const TString TEST_POST_PARAMS = "p=POST";
const TString TEST_POST_HEADERS = "Content-Type: application/json\r\n";
const TString TEST_GET_RECV = "GET was ok.";
const TString TEST_POST_RECV = "POST was ok.";
-
+
TString BuildServiceLocation(ui32 port) {
return Sprintf("http://*:%" PRIu32 "/%s", port, TEST_SERVICE.data());
}
@@ -47,11 +47,11 @@ namespace {
TString BuildPostServiceLocation(ui32 port) {
return Sprintf("post://*:%" PRIu32 "/%s", port + 1, TEST_SERVICE.data());
}
-
+
TString BuildGetTestRequest(ui32 port) {
return BuildServiceLocation(port) + "?" + TEST_GET_PARAMS;
}
-
+
class TSimpleServer {
public:
inline void ServeRequest(const NNeh::IRequestRef& req) {
@@ -76,16 +76,16 @@ namespace {
} catch (...) {
Y_FAIL("Can't run server: %s", CurrentExceptionMessage().data());
}
-
+
return runner;
- }
+ }
enum ERequestType {
RT_HTTP_GET = 0,
RT_HTTP_POST = 1
};
-
+
using TTaskParam = std::pair<TIpPort, ERequestType>;
-
+
class THttpClientTask: public ISimpleTask {
public:
THttpClientTask(THttpClientEnv* env, TTaskParam param)
@@ -118,46 +118,46 @@ namespace {
}
return &THttpClientTask::GotReplies;
- }
-
+ }
+
TContinueFunc GotReplies() {
const TString& TEST_OK_RECV = (ReqType == RT_HTTP_GET) ? TEST_GET_RECV : TEST_POST_RECV;
for (size_t i = 0; i < Requests.size(); ++i) {
UNIT_ASSERT_EQUAL(Requests[i]->GetHttpCode(), 200);
UNIT_ASSERT_EQUAL(Requests[i]->GetResponseBody(), TEST_OK_RECV);
}
-
+
Env->TestSync.CheckAndIncrement(0);
return nullptr;
- }
-
+ }
+
THttpClientEnv* const Env;
const TIpPort ServerPort;
const ERequestType ReqType;
-
+
TVector<TSimpleSharedPtr<THttpFuture>> Requests;
};
-
-} // anonymous namespace
-
+
+} // anonymous namespace
+
Y_UNIT_TEST_SUITE(RainCheckHttpClient) {
- static const TIpPort SERVER_PORT = 4000;
-
+ static const TIpPort SERVER_PORT = 4000;
+
Y_UNIT_TEST(Simple) {
// TODO: randomize port
if (!IsFixedPortTestAllowed()) {
return;
}
- TSimpleServer server;
- NNeh::IServicesRef runner = RunServer(SERVER_PORT, server);
-
- THttpClientEnv env;
+ TSimpleServer server;
+ NNeh::IServicesRef runner = RunServer(SERVER_PORT, server);
+
+ THttpClientEnv env;
TIntrusivePtr<TSimpleTaskRunner> task = env.SpawnTask<THttpClientTask>(TTaskParam(SERVER_PORT, RT_HTTP_GET));
-
- env.TestSync.WaitForAndIncrement(1);
- }
+
+ env.TestSync.WaitForAndIncrement(1);
+ }
Y_UNIT_TEST(SimplePost) {
// TODO: randomize port
@@ -202,4 +202,4 @@ Y_UNIT_TEST_SUITE(RainCheckHttpClient) {
CHECK_INVALID_LINE(TStringBuf("request failed(HTTP/1.1 3334 Some random message"));
#undef CHECK_INVALID_LINE
}
-}
+}
diff --git a/library/cpp/messagebus/rain_check/http/ya.make b/library/cpp/messagebus/rain_check/http/ya.make
index ef13329df3..579a0935d1 100644
--- a/library/cpp/messagebus/rain_check/http/ya.make
+++ b/library/cpp/messagebus/rain_check/http/ya.make
@@ -1,17 +1,17 @@
-LIBRARY()
-
+LIBRARY()
+
OWNER(g:messagebus)
-
-SRCS(
- client.cpp
+
+SRCS(
+ client.cpp
http_code_extractor.cpp
-)
-
-PEERDIR(
+)
+
+PEERDIR(
library/cpp/messagebus/rain_check/core
library/cpp/neh
library/cpp/http/misc
library/cpp/http/io
-)
-
-END()
+)
+
+END()
diff --git a/library/cpp/messagebus/rain_check/test/ut/ya.make b/library/cpp/messagebus/rain_check/test/ut/ya.make
index 9f7a93417a..ba5a7849ea 100644
--- a/library/cpp/messagebus/rain_check/test/ut/ya.make
+++ b/library/cpp/messagebus/rain_check/test/ut/ya.make
@@ -16,7 +16,7 @@ SRCS(
../../core/sleep_ut.cpp
../../core/spawn_ut.cpp
../../core/track_ut.cpp
- ../../http/client_ut.cpp
+ ../../http/client_ut.cpp
../../messagebus/messagebus_client_ut.cpp
../../messagebus/messagebus_server_ut.cpp
)