diff options
author | Pierlauro Sciarelli <pierlauro.sciarelli@mongodb.com> | 2020-11-05 21:19:52 +0100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-11-05 23:56:04 +0000 |
commit | 2c2146ac0ae876984423c04a258e32b4c5843315 (patch) | |
tree | 51af27088132c5fe9e89bc3087d4181b973d5e81 /src/mongo/base/status_test.cpp | |
parent | 1bd55f0f65c8402accbb02c95f626829ff2f5e26 (diff) | |
download | mongo-2c2146ac0ae876984423c04a258e32b4c5843315.tar.gz |
SERVER-52642 Status constructor must handle optional ErrorExtraInfo
Diffstat (limited to 'src/mongo/base/status_test.cpp')
-rw-r--r-- | src/mongo/base/status_test.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/mongo/base/status_test.cpp b/src/mongo/base/status_test.cpp index 4be67a3f43b..73cb1766907 100644 --- a/src/mongo/base/status_test.cpp +++ b/src/mongo/base/status_test.cpp @@ -303,11 +303,17 @@ TEST(ErrorExtraInfo, OptionalExtraInfoDoesNotThrowAndReturnsOriginalError) { } TEST(ErrorExtraInfo, OptionalExtraInfoStatusParserThrows) { - const auto status = - Status(ErrorCodes::ForTestingOptionalErrorExtraInfo, "", fromjson("{data: 123}")); - ASSERT_EQ(status, ErrorCodes::duplicateCodeForTest(4696200)); - ASSERT(!status.extraInfo()); - ASSERT(!status.extraInfo<OptionalErrorExtraInfoExample>()); + OptionalErrorExtraInfoExample::EnableParserForTest whenInScope; + bool failed = false; + + auto pars = ErrorExtraInfo::parserFor(ErrorCodes::ForTestingOptionalErrorExtraInfo); + try { + pars(fromjson("{a: 1}")); + } catch (const DBException&) { + failed = true; + } + + ASSERT(failed); } TEST(ErrorExtraInfo, OptionalExtraInfoStatusParserWorks) { |