@@ -48,6 +48,7 @@ TEST(ReplResponseMetadataTest, OplogQueryMetadataRoundtrip) {
4848 ASSERT_EQ (opTime1, metadata.getLastOpCommitted ().opTime );
4949 ASSERT_EQ (committedWall, metadata.getLastOpCommitted ().wallTime );
5050 ASSERT_EQ (opTime2, metadata.getLastOpApplied ());
51+ ASSERT_TRUE (metadata.hasPrimaryIndex ());
5152
5253 BSONObjBuilder builder;
5354 metadata.writeToMetadata (&builder).transitional_ignore ();
@@ -75,8 +76,8 @@ TEST(ReplResponseMetadataTest, OplogQueryMetadataRoundtrip) {
7576 ASSERT_EQ (opTime2, clonedMetadata.getLastOpApplied ());
7677 ASSERT_EQ (committedWall, clonedMetadata.getLastOpCommitted ().wallTime );
7778 ASSERT_EQ (metadata.getRBID (), clonedMetadata.getRBID ());
78- ASSERT_EQ (metadata.getPrimaryIndex (), clonedMetadata.getPrimaryIndex ());
7979 ASSERT_EQ (metadata.getSyncSourceIndex (), clonedMetadata.getSyncSourceIndex ());
80+ ASSERT_TRUE (clonedMetadata.hasPrimaryIndex ());
8081
8182 BSONObjBuilder clonedBuilder;
8283 clonedMetadata.writeToMetadata (&clonedBuilder).transitional_ignore ();
@@ -85,6 +86,14 @@ TEST(ReplResponseMetadataTest, OplogQueryMetadataRoundtrip) {
8586 ASSERT_BSONOBJ_EQ (expectedObj, clonedSerializedObj);
8687}
8788
89+ TEST (ReplResponseMetadataTest, OplogQueryMetadataHasPrimaryIndex) {
90+ for (auto [currentPrimaryIndex, hasPrimaryIndex] :
91+ std::vector<std::pair<int , bool >>{{-1 , false }, {0 , true }, {1 , true }}) {
92+ OplogQueryMetadata oqm ({OpTime (), Date_t ()}, OpTime (), 1 , currentPrimaryIndex, -1 );
93+ ASSERT_EQUALS (hasPrimaryIndex, oqm.hasPrimaryIndex ());
94+ }
95+ }
96+
8897} // unnamed namespace
8998} // namespace rpc
9099} // namespace mongo
0 commit comments