Improve network error messages (#4704)
This commit is contained in:
@@ -210,7 +210,9 @@ TEST(NetworkRequest, TimeoutTimingOut)
|
||||
.onError([&waiter, url](const NetworkResult &result) {
|
||||
qDebug() << QTime::currentTime().toString()
|
||||
<< "timeout request finish error";
|
||||
EXPECT_EQ(result.status(), NetworkResult::timedoutStatus);
|
||||
EXPECT_EQ(result.error(),
|
||||
NetworkResult::NetworkError::TimeoutError);
|
||||
EXPECT_EQ(result.status(), std::nullopt);
|
||||
|
||||
waiter.requestDone();
|
||||
})
|
||||
@@ -267,7 +269,9 @@ TEST(NetworkRequest, FinallyCallbackOnTimeout)
|
||||
})
|
||||
.onError([&](const NetworkResult &result) {
|
||||
onErrorCalled = true;
|
||||
EXPECT_EQ(result.status(), NetworkResult::timedoutStatus);
|
||||
EXPECT_EQ(result.error(),
|
||||
NetworkResult::NetworkError::TimeoutError);
|
||||
EXPECT_EQ(result.status(), std::nullopt);
|
||||
})
|
||||
.finally([&] {
|
||||
finallyCalled = true;
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
#include "common/NetworkResult.hpp"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
using namespace chatterino;
|
||||
|
||||
using Error = NetworkResult::NetworkError;
|
||||
|
||||
namespace {
|
||||
|
||||
void checkResult(const NetworkResult &res, Error error,
|
||||
std::optional<int> status, const QString &formatted)
|
||||
{
|
||||
ASSERT_EQ(res.error(), error);
|
||||
ASSERT_EQ(res.status(), status);
|
||||
ASSERT_EQ(res.formatError(), formatted);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST(NetworkResult, NoError)
|
||||
{
|
||||
checkResult({Error::NoError, 200, {}}, Error::NoError, 200, "200");
|
||||
checkResult({Error::NoError, 202, {}}, Error::NoError, 202, "202");
|
||||
|
||||
// no status code
|
||||
checkResult({Error::NoError, {}, {}}, Error::NoError, std::nullopt,
|
||||
"NoError");
|
||||
}
|
||||
|
||||
TEST(NetworkResult, Errors)
|
||||
{
|
||||
checkResult({Error::TimeoutError, {}, {}}, Error::TimeoutError,
|
||||
std::nullopt, "TimeoutError");
|
||||
checkResult({Error::RemoteHostClosedError, {}, {}},
|
||||
Error::RemoteHostClosedError, std::nullopt,
|
||||
"RemoteHostClosedError");
|
||||
|
||||
// status code takes precedence
|
||||
checkResult({Error::TimeoutError, 400, {}}, Error::TimeoutError, 400,
|
||||
"400");
|
||||
}
|
||||
|
||||
TEST(NetworkResult, InvalidError)
|
||||
{
|
||||
checkResult({static_cast<Error>(-1), {}, {}}, static_cast<Error>(-1),
|
||||
std::nullopt, "unknown error (-1)");
|
||||
}
|
||||
Reference in New Issue
Block a user