#include #include #include Y_UNIT_TEST_SUITE(Server) { int i; Y_UNIT_TEST(pong) { TPortManager pm; ui16 port = pm.GetPort(80); NMock::TMockServer server(port, []() { return new NMock::TPong; }); TKeepAliveHttpClient cl("localhost", port); UNIT_ASSERT_VALUES_EQUAL(200, cl.DoGet("/ping")); UNIT_ASSERT_VALUES_EQUAL(404, cl.DoGet("/kek")); } Y_UNIT_TEST(custom) { class TCustomReplier: public TRequestReplier { public: bool DoReply(const TReplyParams& params) override { THttpResponse resp(HttpCodes::HTTP_OK); resp.SetContent("everithing is ok"); resp.OutTo(params.Output); return true; } }; TPortManager pm; ui16 port = pm.GetPort(80); NMock::TMockServer server(port, []() { return new TCustomReplier; }); TKeepAliveHttpClient cl("localhost", port); TStringStream out; UNIT_ASSERT_VALUES_EQUAL(200, cl.DoGet("/foo", &out)); UNIT_ASSERT_VALUES_EQUAL("everithing is ok", out.Str()); } }