Skip to content

Commit da38a57

Browse files
author
Sebastiano Merlino
committed
Added a new test dedicated to unimplemented methods
1 parent 9a89439 commit da38a57

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

test/basic.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ class complete_test_resource : public http_resource<complete_test_resource>
7373
}
7474
};
7575

76+
class only_render_resource : public http_resource<only_render_resource>
77+
{
78+
public:
79+
void render(const http_request& req, http_response** res)
80+
{
81+
*res = new http_string_response("OK", 200, "text/plain");
82+
}
83+
};
84+
7685
LT_BEGIN_SUITE(basic_suite)
7786

7887
webserver* ws;
@@ -174,6 +183,53 @@ LT_BEGIN_AUTO_TEST(basic_suite, complete)
174183
curl_easy_cleanup(curl);
175184
LT_END_AUTO_TEST(complete)
176185

186+
LT_BEGIN_AUTO_TEST(basic_suite, only_render)
187+
only_render_resource* resource = new only_render_resource();
188+
ws->register_resource("base", resource);
189+
curl_global_init(CURL_GLOBAL_ALL);
190+
std::string s;
191+
CURL* curl;
192+
CURLcode res;
193+
194+
curl = curl_easy_init();
195+
curl_easy_setopt(curl, CURLOPT_URL, "localhost:8080/base");
196+
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
197+
res = curl_easy_perform(curl);
198+
LT_ASSERT_EQ(res, 0);
199+
curl_easy_cleanup(curl);
200+
201+
curl = curl_easy_init();
202+
curl_easy_setopt(curl, CURLOPT_URL, "localhost:8080/base");
203+
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
204+
res = curl_easy_perform(curl);
205+
LT_ASSERT_EQ(res, 0);
206+
curl_easy_cleanup(curl);
207+
208+
curl = curl_easy_init();
209+
curl_easy_setopt(curl, CURLOPT_URL, "localhost:8080/base");
210+
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
211+
res = curl_easy_perform(curl);
212+
LT_ASSERT_EQ(res, 0);
213+
curl_easy_cleanup(curl);
214+
215+
curl = curl_easy_init();
216+
curl_easy_setopt(curl, CURLOPT_URL, "localhost:8080/base");
217+
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "CONNECT");
218+
res = curl_easy_perform(curl);
219+
LT_ASSERT_EQ(res, 0);
220+
curl_easy_cleanup(curl);
221+
222+
curl = curl_easy_init();
223+
curl_easy_setopt(curl, CURLOPT_URL, "localhost:8080/base");
224+
curl_easy_setopt(curl, CURLOPT_POST, 1L);
225+
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
226+
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
227+
res = curl_easy_perform(curl);
228+
LT_ASSERT_EQ(res, 0);
229+
curl_easy_cleanup(curl);
230+
231+
LT_END_AUTO_TEST(only_render)
232+
177233
LT_BEGIN_AUTO_TEST(basic_suite, postprocessor)
178234
simple_resource* resource = new simple_resource();
179235
ws->register_resource("base", resource);

0 commit comments

Comments
 (0)