#include std::string TestResponse::string() { buffer = str(); return buffer; } std::string TestResponse::message() { if (buffer.empty()) string(); auto msg = buffer.substr(13, buffer.find('\r') - 13); return msg; } std::string TestResponse::code() { if (buffer.empty()) string(); return buffer.substr(9, 3); } void CommonResponse::service_unavailable(std::shared_ptr response) { const std::string service_unavailable_json = "HTTP/1.1 503 Service Unavailable\r\nContent-Type: application/json\r\nContent-Length: 43\r\n\r\n{\"code\":503,\"status\":\"Service Unavailable\"}"; REQUIRE(response->string() == service_unavailable_json); REQUIRE(response->code() == "503"); REQUIRE(response->message() == "Service Unavailable"); }; void CommonResponse::ok(std::shared_ptr response, const nlohmann::json &data) { std::string str(data.dump()); const std::string res = "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nContent-Length: " + std::to_string(str.size()) + "\r\n\r\n" + str; REQUIRE(response->code() == "200"); REQUIRE(response->message() == "OK"); REQUIRE(response->string() == res); }; void CommonResponse::bad_request(std::shared_ptr response) { const std::string bad_request_json = "HTTP/1.1 400 Bad Request\r\nContent-Type: application/json\r\nContent-Length: 35\r\n\r\n{\"code\":400,\"status\":\"Bad Request\"}"; REQUIRE(response->string() == bad_request_json); REQUIRE(response->code() == "400"); REQUIRE(response->message() == "Bad Request"); }; void CommonResponse::accepted(std::shared_ptr response) { const std::string accepted = "HTTP/1.1 202 Accepted\r\nContent-Type: application/json\r\nContent-Length: 32\r\n\r\n{\"code\":202,\"status\":\"Accepted\"}"; REQUIRE(response->string() == accepted); REQUIRE(response->code() == "202"); REQUIRE(response->message() == "Accepted"); };