mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2025-05-10 09:43:51 +00:00
Fixed ClientStop test problem
This commit is contained in:
parent
b7566f6961
commit
bc80d7c789
140
test/test.cc
140
test/test.cc
@ -417,16 +417,16 @@ TEST(ChunkedEncodingTest, WithResponseHandlerAndContentReceiver) {
|
|||||||
cli.set_connection_timeout(2);
|
cli.set_connection_timeout(2);
|
||||||
|
|
||||||
std::string body;
|
std::string body;
|
||||||
auto res = cli.Get(
|
auto res =
|
||||||
"/httpgallery/chunked/chunkedimage.aspx?0.4153841143030137",
|
cli.Get("/httpgallery/chunked/chunkedimage.aspx?0.4153841143030137",
|
||||||
[&](const Response &response) {
|
[&](const Response &response) {
|
||||||
EXPECT_EQ(200, response.status);
|
EXPECT_EQ(200, response.status);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
[&](const char *data, size_t data_length) {
|
[&](const char *data, size_t data_length) {
|
||||||
body.append(data, data_length);
|
body.append(data, data_length);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
|
|
||||||
std::string out;
|
std::string out;
|
||||||
@ -2315,7 +2315,8 @@ TEST_F(ServerTest, ClientStop) {
|
|||||||
auto res = cli_.Get("/streamed-cancel",
|
auto res = cli_.Get("/streamed-cancel",
|
||||||
[&](const char *, uint64_t) { return true; });
|
[&](const char *, uint64_t) { return true; });
|
||||||
ASSERT_TRUE(!res);
|
ASSERT_TRUE(!res);
|
||||||
EXPECT_TRUE(res.error() == Error::Canceled || res.error() == Error::Read);
|
EXPECT_TRUE(res.error() == Error::Canceled ||
|
||||||
|
res.error() == Error::Read || res.error() == Error::Write);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2460,13 +2461,13 @@ TEST_F(ServerTest, SlowPost) {
|
|||||||
char buffer[64 * 1024];
|
char buffer[64 * 1024];
|
||||||
memset(buffer, 0x42, sizeof(buffer));
|
memset(buffer, 0x42, sizeof(buffer));
|
||||||
|
|
||||||
auto res = cli_.Post(
|
auto res =
|
||||||
"/slowpost", 64 * 1024 * 1024,
|
cli_.Post("/slowpost", 64 * 1024 * 1024,
|
||||||
[&](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
[&](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
||||||
sink.write(buffer, sizeof(buffer));
|
sink.write(buffer, sizeof(buffer));
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
"text/plain");
|
"text/plain");
|
||||||
|
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
EXPECT_EQ(200, res->status);
|
EXPECT_EQ(200, res->status);
|
||||||
@ -2477,13 +2478,13 @@ TEST_F(ServerTest, SlowPostFail) {
|
|||||||
memset(buffer, 0x42, sizeof(buffer));
|
memset(buffer, 0x42, sizeof(buffer));
|
||||||
|
|
||||||
cli_.set_write_timeout(0, 0);
|
cli_.set_write_timeout(0, 0);
|
||||||
auto res = cli_.Post(
|
auto res =
|
||||||
"/slowpost", 64 * 1024 * 1024,
|
cli_.Post("/slowpost", 64 * 1024 * 1024,
|
||||||
[&](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
[&](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
||||||
sink.write(buffer, sizeof(buffer));
|
sink.write(buffer, sizeof(buffer));
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
"text/plain");
|
"text/plain");
|
||||||
|
|
||||||
ASSERT_TRUE(!res);
|
ASSERT_TRUE(!res);
|
||||||
EXPECT_EQ(Error::Write, res.error());
|
EXPECT_EQ(Error::Write, res.error());
|
||||||
@ -2497,14 +2498,13 @@ TEST_F(ServerTest, Put) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(ServerTest, PutWithContentProvider) {
|
TEST_F(ServerTest, PutWithContentProvider) {
|
||||||
auto res = cli_.Put(
|
auto res = cli_.Put("/put", 3,
|
||||||
"/put", 3,
|
[](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
||||||
[](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
EXPECT_TRUE(sink.is_writable());
|
||||||
EXPECT_TRUE(sink.is_writable());
|
sink.os << "PUT";
|
||||||
sink.os << "PUT";
|
return true;
|
||||||
return true;
|
},
|
||||||
},
|
"text/plain");
|
||||||
"text/plain");
|
|
||||||
|
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
EXPECT_EQ(200, res->status);
|
EXPECT_EQ(200, res->status);
|
||||||
@ -2512,27 +2512,24 @@ TEST_F(ServerTest, PutWithContentProvider) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(ServerTest, PostWithContentProviderAbort) {
|
TEST_F(ServerTest, PostWithContentProviderAbort) {
|
||||||
auto res = cli_.Post(
|
auto res = cli_.Post("/post", 42,
|
||||||
"/post", 42,
|
[](size_t /*offset*/, size_t /*length*/,
|
||||||
[](size_t /*offset*/, size_t /*length*/, DataSink & /*sink*/) {
|
DataSink & /*sink*/) { return false; },
|
||||||
return false;
|
"text/plain");
|
||||||
},
|
|
||||||
"text/plain");
|
|
||||||
|
|
||||||
ASSERT_TRUE(!res);
|
ASSERT_TRUE(!res);
|
||||||
EXPECT_EQ(Error::Canceled, res.error());
|
EXPECT_EQ(Error::Canceled, res.error());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(ServerTest, PutWithContentProviderWithoutLength) {
|
TEST_F(ServerTest, PutWithContentProviderWithoutLength) {
|
||||||
auto res = cli_.Put(
|
auto res = cli_.Put("/put",
|
||||||
"/put",
|
[](size_t /*offset*/, DataSink &sink) {
|
||||||
[](size_t /*offset*/, DataSink &sink) {
|
EXPECT_TRUE(sink.is_writable());
|
||||||
EXPECT_TRUE(sink.is_writable());
|
sink.os << "PUT";
|
||||||
sink.os << "PUT";
|
sink.done();
|
||||||
sink.done();
|
return true;
|
||||||
return true;
|
},
|
||||||
},
|
"text/plain");
|
||||||
"text/plain");
|
|
||||||
|
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
EXPECT_EQ(200, res->status);
|
EXPECT_EQ(200, res->status);
|
||||||
@ -2551,14 +2548,13 @@ TEST_F(ServerTest, PostWithContentProviderWithoutLengthAbort) {
|
|||||||
#ifdef CPPHTTPLIB_ZLIB_SUPPORT
|
#ifdef CPPHTTPLIB_ZLIB_SUPPORT
|
||||||
TEST_F(ServerTest, PutWithContentProviderWithGzip) {
|
TEST_F(ServerTest, PutWithContentProviderWithGzip) {
|
||||||
cli_.set_compress(true);
|
cli_.set_compress(true);
|
||||||
auto res = cli_.Put(
|
auto res = cli_.Put("/put", 3,
|
||||||
"/put", 3,
|
[](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
||||||
[](size_t /*offset*/, size_t /*length*/, DataSink &sink) {
|
EXPECT_TRUE(sink.is_writable());
|
||||||
EXPECT_TRUE(sink.is_writable());
|
sink.os << "PUT";
|
||||||
sink.os << "PUT";
|
return true;
|
||||||
return true;
|
},
|
||||||
},
|
"text/plain");
|
||||||
"text/plain");
|
|
||||||
|
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
EXPECT_EQ(200, res->status);
|
EXPECT_EQ(200, res->status);
|
||||||
@ -2567,12 +2563,10 @@ TEST_F(ServerTest, PutWithContentProviderWithGzip) {
|
|||||||
|
|
||||||
TEST_F(ServerTest, PostWithContentProviderWithGzipAbort) {
|
TEST_F(ServerTest, PostWithContentProviderWithGzipAbort) {
|
||||||
cli_.set_compress(true);
|
cli_.set_compress(true);
|
||||||
auto res = cli_.Post(
|
auto res = cli_.Post("/post", 42,
|
||||||
"/post", 42,
|
[](size_t /*offset*/, size_t /*length*/,
|
||||||
[](size_t /*offset*/, size_t /*length*/, DataSink & /*sink*/) {
|
DataSink & /*sink*/) { return false; },
|
||||||
return false;
|
"text/plain");
|
||||||
},
|
|
||||||
"text/plain");
|
|
||||||
|
|
||||||
ASSERT_TRUE(!res);
|
ASSERT_TRUE(!res);
|
||||||
EXPECT_EQ(Error::Canceled, res.error());
|
EXPECT_EQ(Error::Canceled, res.error());
|
||||||
@ -2580,15 +2574,14 @@ TEST_F(ServerTest, PostWithContentProviderWithGzipAbort) {
|
|||||||
|
|
||||||
TEST_F(ServerTest, PutWithContentProviderWithoutLengthWithGzip) {
|
TEST_F(ServerTest, PutWithContentProviderWithoutLengthWithGzip) {
|
||||||
cli_.set_compress(true);
|
cli_.set_compress(true);
|
||||||
auto res = cli_.Put(
|
auto res = cli_.Put("/put",
|
||||||
"/put",
|
[](size_t /*offset*/, DataSink &sink) {
|
||||||
[](size_t /*offset*/, DataSink &sink) {
|
EXPECT_TRUE(sink.is_writable());
|
||||||
EXPECT_TRUE(sink.is_writable());
|
sink.os << "PUT";
|
||||||
sink.os << "PUT";
|
sink.done();
|
||||||
sink.done();
|
return true;
|
||||||
return true;
|
},
|
||||||
},
|
"text/plain");
|
||||||
"text/plain");
|
|
||||||
|
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
EXPECT_EQ(200, res->status);
|
EXPECT_EQ(200, res->status);
|
||||||
@ -2908,9 +2901,8 @@ TEST_F(ServerTest, KeepAlive) {
|
|||||||
EXPECT_EQ("empty", res->body);
|
EXPECT_EQ("empty", res->body);
|
||||||
EXPECT_EQ("close", res->get_header_value("Connection"));
|
EXPECT_EQ("close", res->get_header_value("Connection"));
|
||||||
|
|
||||||
res = cli_.Post(
|
res = cli_.Post("/empty", 0, [&](size_t, size_t, DataSink &) { return true; },
|
||||||
"/empty", 0, [&](size_t, size_t, DataSink &) { return true; },
|
"text/plain");
|
||||||
"text/plain");
|
|
||||||
ASSERT_TRUE(res);
|
ASSERT_TRUE(res);
|
||||||
EXPECT_EQ(200, res->status);
|
EXPECT_EQ(200, res->status);
|
||||||
EXPECT_EQ("text/plain", res->get_header_value("Content-Type"));
|
EXPECT_EQ("text/plain", res->get_header_value("Content-Type"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user