|
|
|
@ -47,13 +47,48 @@ SCENARIO("We are running a GET /session/torrents resource") { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const std::string torrent_id = "c0b0a90089710812fe8c37385a4cc2978eabf3e8"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SCENARIO("We are running a DELETE /session/torrents resource") { |
|
|
|
|
|
|
|
auto torrent_session = TestSession(); |
|
|
|
|
|
|
|
auto response = std::make_shared<TestResponse>(); |
|
|
|
|
|
|
|
auto request = std::make_shared<TestRequest>(); |
|
|
|
|
|
|
|
GIVEN("the server is not working properly") { |
|
|
|
|
|
|
|
AND_WHEN("we recive a request") { |
|
|
|
|
|
|
|
tr::session::torrents::del(torrent_session, response, request); |
|
|
|
|
|
|
|
THEN("the server should reply with service unavailable") { |
|
|
|
|
|
|
|
CommonResponse::service_unavailable(response); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
GIVEN("the server is working properly") { |
|
|
|
|
|
|
|
torrent_session.valid = true; |
|
|
|
|
|
|
|
WHEN("we recive an invalid request") { |
|
|
|
|
|
|
|
GIVEN("the request doesn't contain valid json") { |
|
|
|
|
|
|
|
request->content << "Not valid"; |
|
|
|
|
|
|
|
THEN("the server should reply with bad request") { |
|
|
|
|
|
|
|
tr::session::torrents::del(torrent_session, response, request); |
|
|
|
|
|
|
|
CommonResponse::bad_request(response); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
GIVEN("it is valid json but are missing requred field") { |
|
|
|
|
|
|
|
request->content << nlohmann::json({{"up_speed", "100"}}); |
|
|
|
|
|
|
|
THEN("the server should reply with bad request") { |
|
|
|
|
|
|
|
tr::session::torrents::del(torrent_session, response, request); |
|
|
|
|
|
|
|
CommonResponse::bad_request(response); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
SCENARIO("We are running a POST /session/torrents resource") { |
|
|
|
SCENARIO("We are running a POST /session/torrents resource") { |
|
|
|
auto torrent_session = TestSession(); |
|
|
|
auto torrent_session = TestSession(); |
|
|
|
auto settings = Config(); |
|
|
|
auto settings = Config(); |
|
|
|
auto response = std::make_shared<TestResponse>(); |
|
|
|
auto response = std::make_shared<TestResponse>(); |
|
|
|
auto request = std::make_shared<TestRequest>(); |
|
|
|
auto request = std::make_shared<TestRequest>(); |
|
|
|
const std::string magnet_hash = "c0b0a90089710812fe8c37385a4cc2978eabf3e8"; |
|
|
|
const auto magnet_uri = "magnet:?xt=urn:btih:" + torrent_id + "&dn=Taylor Swift&tr=http://tracker.sout.no"; |
|
|
|
const auto magnet_uri = "magnet:?xt=urn:btih:" + magnet_hash + "&dn=Taylor Swift&tr=http://tracker.sout.no"; |
|
|
|
|
|
|
|
GIVEN("the server is not working properly") { |
|
|
|
GIVEN("the server is not working properly") { |
|
|
|
AND_WHEN("we recive a request") { |
|
|
|
AND_WHEN("we recive a request") { |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
@ -69,7 +104,7 @@ SCENARIO("We are running a POST /session/torrents resource") { |
|
|
|
request->content << nlohmann::json::object({{"magnet_uri", magnet_uri}}); |
|
|
|
request->content << nlohmann::json::object({{"magnet_uri", magnet_uri}}); |
|
|
|
THEN("the server should reply with created") { |
|
|
|
THEN("the server should reply with created") { |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + magnet_hash); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + torrent_id); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE((torrent_session.get_torrents()[0]).status().save_path == "/toREST"); |
|
|
|
REQUIRE((torrent_session.get_torrents()[0]).status().save_path == "/toREST"); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -90,7 +125,7 @@ SCENARIO("We are running a POST /session/torrents resource") { |
|
|
|
{"save_path", "music"}}); |
|
|
|
{"save_path", "music"}}); |
|
|
|
THEN("the server should reply created") { |
|
|
|
THEN("the server should reply created") { |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + magnet_hash); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + torrent_id); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE_FALSE(torrent_session.get_torrents()[0].status().paused); |
|
|
|
REQUIRE_FALSE(torrent_session.get_torrents()[0].status().paused); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].upload_limit() == -1); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].upload_limit() == -1); |
|
|
|
@ -105,7 +140,7 @@ SCENARIO("We are running a POST /session/torrents resource") { |
|
|
|
{"paused", "true"}}); |
|
|
|
{"paused", "true"}}); |
|
|
|
THEN("the server should reply with bad request") { |
|
|
|
THEN("the server should reply with bad request") { |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + magnet_hash); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + torrent_id); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].status().paused); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].status().paused); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].upload_limit() == -1); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].upload_limit() == -1); |
|
|
|
@ -123,7 +158,7 @@ SCENARIO("We are running a POST /session/torrents resource") { |
|
|
|
{"name", name}}); |
|
|
|
{"name", name}}); |
|
|
|
THEN("the server should reply with bad request") { |
|
|
|
THEN("the server should reply with bad request") { |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
tr::session::torrents::post(settings, torrent_session, response, request); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + magnet_hash); |
|
|
|
CommonResponse::created(response, request, "/session/torrents/" + torrent_id); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE(torrent_session.get_torrents().size() == 1); |
|
|
|
REQUIRE_FALSE(torrent_session.get_torrents()[0].status().paused); |
|
|
|
REQUIRE_FALSE(torrent_session.get_torrents()[0].status().paused); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].status().name == name); |
|
|
|
REQUIRE(torrent_session.get_torrents()[0].status().name == name); |
|
|
|
|