MCPcopy Create free account
hub / github.com/alibaba/PhotonLibOS / test_head_case

Function test_head_case

net/http/test/server_function_test.cpp:151–170  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149}
150
151void test_head_case(Client* client, estring_view url, off_t st, size_t len, size_t exp_content_length) {
152 LOG_INFO("test HEAD case start");
153 auto op = client->new_operation(Verb::HEAD, url);
154 DEFER(client->destroy_operation(op));
155 op->req.headers.range(st, st + len - 1);
156 op->req.headers.content_length(fs_handler_std_str.size());
157 auto ret = op->call();
158 LOG_INFO("call finished");
159 EXPECT_EQ(0, ret);
160 if (exp_content_length != fs_handler_std_str.size())
161 EXPECT_EQ(206, op->resp.status_code());
162 else
163 EXPECT_EQ(200, op->resp.status_code());
164 char range[64];
165 auto range_len = snprintf(range, sizeof(range), "bytes %lu-%lu/%lu",
166 (unsigned long)st, (unsigned long)(st + len - 1),
167 (unsigned long)fs_handler_std_str.size());
168 auto rangestr = op->resp.headers["Content-Range"];
169 EXPECT_EQ(0, memcmp(range, rangestr.data(), range_len));
170}
171
172TEST(http_server, fs_handler) {
173 system(std::string("mkdir -p /tmp/ease_ut/http_server/").c_str());

Callers 1

TESTFunction · 0.85

Calls 8

new_operationMethod · 0.45
destroy_operationMethod · 0.45
rangeMethod · 0.45
content_lengthMethod · 0.45
sizeMethod · 0.45
callMethod · 0.45
status_codeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected