Browse Source

Test status codes

master
Jørgen Lien Sellæg 9 years ago
parent
commit
942131ce3b
  1. 39
      toREST/tests/session_test.cpp

39
toREST/tests/session_test.cpp

@ -5,8 +5,28 @@
using namespace std;
class TestTorrent {};
class TestRequest : public std::stringstream {};
class TestResponse : public std::stringstream {};
class TestRequest {
std::stringstream content;
};
class TestResponse : public std::stringstream {
public:
std::string buffer;
auto string() {
buffer = str();
return buffer;
}
auto message() {
if (buffer.empty())
string();
auto msg = buffer.substr(13, buffer.find('\r') - 13);
return msg;
}
auto code() {
if (buffer.empty())
string();
return buffer.substr(9, 3);
}
};
class TestSessionSettings {
public:
@ -53,13 +73,26 @@ SCENARIO("We recive a GET request to the /session resource") {
auto request = std::make_shared<TestResponse>();
tr::session::get(torrent_session, response, request);
THEN("the server should reply with service unavailable") {
REQUIRE(response->str() == service_unavailable_json);
REQUIRE(response->string() == service_unavailable_json);
REQUIRE(response->code() == "503");
REQUIRE(response->message() == "Service Unavailable");
}
}
GIVEN("the session is valid") {
auto request = std::make_shared<TestResponse>();
torrent_session.valid = true;
tr::session::get(torrent_session, response, request);
THEN("the server should reply with status 200 OK") {
REQUIRE(response->string() == ok_json);
REQUIRE(response->code() == "200");
REQUIRE(response->message() == "OK");
}
}
GIVEN("the session is paused") {
auto request = std::make_shared<TestResponse>();
torrent_session.valid = true;
torrent_session.paused = true;
tr::session::get(torrent_session, response, request);
THEN("the server should reply with service unavailable") {
REQUIRE(response->str() == ok_json);
}

Loading…
Cancel
Save