summaryrefslogtreecommitdiff
path: root/src/mongo/base/status_test.cpp
diff options
context:
space:
mode:
authorPierlauro Sciarelli <pierlauro.sciarelli@mongodb.com>2020-11-05 21:19:52 +0100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-11-05 23:56:04 +0000
commit2c2146ac0ae876984423c04a258e32b4c5843315 (patch)
tree51af27088132c5fe9e89bc3087d4181b973d5e81 /src/mongo/base/status_test.cpp
parent1bd55f0f65c8402accbb02c95f626829ff2f5e26 (diff)
downloadmongo-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.cpp16
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) {