Skip to content

Commit 59d2cb4

Browse files
committed
CXX-1518 Test client_session with unack'ed writes
1 parent a9551d8 commit 59d2cb4

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/mongocxx/test/client_session.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -765,4 +765,31 @@ TEST_CASE("lsid", "[session]") {
765765
test.test_method_with_session(f, s);
766766
}
767767
}
768+
769+
TEST_CASE("unacknowledged write in session", "[session]") {
770+
using namespace mongocxx::test_util;
771+
772+
instance::current();
773+
774+
session_test test;
775+
776+
if (!server_has_sessions(test.client)) {
777+
return;
778+
}
779+
780+
auto s = test.client.start_session();
781+
auto db = test.client["lsid"];
782+
auto collection = db["collection"];
783+
auto noack = write_concern{};
784+
noack.acknowledge_level(write_concern::level::k_unacknowledged);
785+
786+
SECTION("insert_one") {
787+
options::insert insert;
788+
insert.write_concern(noack);
789+
REQUIRE_THROWS_MATCHES(
790+
collection.insert_one(s, {}, insert),
791+
mongocxx::exception,
792+
mongocxx_exception_matcher{"Cannot use client session with unacknowledged writes"});
793+
}
794+
}
768795
} // namespace

0 commit comments

Comments
 (0)