Fix the tests to not directly access HttpsStatus' internals.

meow-7.2.2
Rider Linden 2015-03-23 15:41:40 -07:00
parent d46fe1a1bb
commit d9e8868096
1 changed files with 33 additions and 57 deletions

View File

@ -55,32 +55,28 @@ void HttpStatusTestObjectType::test<1>()
// auto allocation fine for this
HttpStatus status;
status.mType = HttpStatus::EXT_CURL_EASY;
status.mStatus = 0;
status = HttpStatus(HttpStatus::EXT_CURL_EASY, 0);
ensure(bool(status));
ensure(false == !(status));
status.mType = HttpStatus::EXT_CURL_MULTI;
status.mStatus = 0;
status = HttpStatus(HttpStatus::EXT_CURL_MULTI, 0);
ensure(bool(status));
ensure(false == !(status));
status.mType = HttpStatus::LLCORE;
status.mStatus = HE_SUCCESS;
status = HttpStatus(HttpStatus::LLCORE, HE_SUCCESS);
ensure(bool(status));
ensure(false == !(status));
status.mType = HttpStatus::EXT_CURL_MULTI;
status.mStatus = -1;
status = HttpStatus(HttpStatus::EXT_CURL_MULTI, -1);
ensure(false == bool(status));
ensure(!(status));
status.mType = HttpStatus::EXT_CURL_EASY;
status.mStatus = CURLE_BAD_DOWNLOAD_RESUME;
status = HttpStatus(HttpStatus::EXT_CURL_EASY, CURLE_BAD_DOWNLOAD_RESUME);
ensure(false == bool(status));
ensure(!(status));
@ -105,27 +101,22 @@ void HttpStatusTestObjectType::test<3>()
{
set_test_name("HttpStatus valid status string conversion");
HttpStatus status;
status.mType = HttpStatus::EXT_CURL_EASY;
status.mStatus = 0;
HttpStatus status = HttpStatus(HttpStatus::EXT_CURL_EASY, 0);
std::string msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(msg.empty());
status.mType = HttpStatus::EXT_CURL_EASY;
status.mStatus = CURLE_BAD_FUNCTION_ARGUMENT;
status = HttpStatus(HttpStatus::EXT_CURL_EASY, CURLE_BAD_FUNCTION_ARGUMENT);
msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(! msg.empty());
status.mType = HttpStatus::EXT_CURL_MULTI;
status.mStatus = CURLM_OUT_OF_MEMORY;
status = HttpStatus(HttpStatus::EXT_CURL_MULTI, CURLM_OUT_OF_MEMORY);
msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(! msg.empty());
status.mType = HttpStatus::LLCORE;
status.mStatus = HE_SHUTTING_DOWN;
status = HttpStatus(HttpStatus::LLCORE, HE_SHUTTING_DOWN);
msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(! msg.empty());
@ -137,21 +128,17 @@ void HttpStatusTestObjectType::test<4>()
{
set_test_name("HttpStatus invalid status string conversion");
HttpStatus status;
status.mType = HttpStatus::EXT_CURL_EASY;
status.mStatus = 32726;
HttpStatus status = HttpStatus(HttpStatus::EXT_CURL_EASY, 32726);
std::string msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(! msg.empty());
status.mType = HttpStatus::EXT_CURL_MULTI;
status.mStatus = -470;
status = HttpStatus(HttpStatus::EXT_CURL_MULTI, -470);
msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(! msg.empty());
status.mType = HttpStatus::LLCORE;
status.mStatus = 923;
status = HttpStatus(HttpStatus::LLCORE, 923);
msg = status.toString();
// std::cout << "Result: " << msg << std::endl;
ensure(! msg.empty());
@ -170,10 +157,9 @@ void HttpStatusTestObjectType::test<5>()
HttpStatus status2(HttpStatus::EXT_CURL_EASY, HE_SUCCESS);
ensure(status1 != status2);
status1.mType = HttpStatus::LLCORE;
status1.mStatus = HE_REPLY_ERROR;
status2.mType = HttpStatus::LLCORE;
status2.mStatus= HE_SHUTTING_DOWN;
status1 = HttpStatus(HttpStatus::LLCORE, HE_REPLY_ERROR);
status1 = HttpStatus(HttpStatus::LLCORE, HE_SHUTTING_DOWN);
ensure(status1 != status2);
}
@ -183,44 +169,38 @@ void HttpStatusTestObjectType::test<6>()
set_test_name("HttpStatus basic HTTP status encoding");
HttpStatus status;
status.mType = 200;
status.mStatus = HE_SUCCESS;
status = HttpStatus(200, HE_SUCCESS);
std::string msg = status.toString();
ensure(msg.empty());
ensure(bool(status));
// Normally a success but application says error
status.mStatus = HE_REPLY_ERROR;
status = HttpStatus(200, HE_REPLY_ERROR);
msg = status.toString();
ensure(! msg.empty());
ensure(! bool(status));
ensure(status.toULong() > 1UL); // Biggish number, not a bool-to-ulong
// Same statuses with distinct success/fail are distinct
status.mType = 200;
status.mStatus = HE_SUCCESS;
status = HttpStatus(200, HE_SUCCESS);
HttpStatus status2(200, HE_REPLY_ERROR);
ensure(status != status2);
// Normally an error but application says okay
status.mType = 406;
status.mStatus = HE_SUCCESS;
status = HttpStatus(406, HE_SUCCESS);
msg = status.toString();
ensure(msg.empty());
ensure(bool(status));
// Different statuses but both successful are distinct
status.mType = 200;
status.mStatus = HE_SUCCESS;
status2.mType = 201;
status2.mStatus = HE_SUCCESS;
status = HttpStatus(200, HE_SUCCESS);
status2 = HttpStatus(201, HE_SUCCESS);
ensure(status != status2);
// Different statuses but both failed are distinct
status.mType = 200;
status.mStatus = HE_REPLY_ERROR;
status2.mType = 201;
status2.mStatus = HE_REPLY_ERROR;
status = HttpStatus(200, HE_REPLY_ERROR);
status2 = HttpStatus(201, HE_REPLY_ERROR);
ensure(status != status2);
}
@ -234,27 +214,23 @@ void HttpStatusTestObjectType::test<7>()
ensure(! msg.empty()); // Should be something
ensure(msg == "Continue");
status.mStatus = HE_SUCCESS;
status = HttpStatus(200, HE_SUCCESS);
msg = status.toString();
ensure(msg.empty()); // Success is empty
status.mType = 199;
status.mStatus = HE_REPLY_ERROR;
status = HttpStatus(199, HE_REPLY_ERROR);
msg = status.toString();
ensure(msg == "Unknown error");
status.mType = 505; // Last defined string
status.mStatus = HE_REPLY_ERROR;
status = HttpStatus(505, HE_REPLY_ERROR);
msg = status.toString();
ensure(msg == "HTTP Version not supported");
status.mType = 506; // One beyond
status.mStatus = HE_REPLY_ERROR;
status = HttpStatus(506, HE_REPLY_ERROR);
msg = status.toString();
ensure(msg == "Unknown error");
status.mType = 999; // Last HTTP status
status.mStatus = HE_REPLY_ERROR;
status = HttpStatus(999, HE_REPLY_ERROR);
msg = status.toString();
ensure(msg == "Unknown error");
}