Fix //third_party/quic/core:quic_dispatcher_test with Q046.

PiperOrigin-RevId: 658511096
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index 3d081ea..6478779 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -2855,7 +2855,6 @@
   QuicBufferedPacketStore* store =
       QuicDispatcherPeer::GetBufferedPackets(dispatcher_.get());
   const size_t kNumCHLOs = kMaxNumSessionsToCreate + 1;
-  MockConnectionIdGenerator generator2;
   for (uint64_t conn_id = 1; conn_id < kNumCHLOs; ++conn_id) {
     EXPECT_CALL(
         *dispatcher_,
@@ -2877,9 +2876,12 @@
   }
   uint64_t conn_id = kNumCHLOs;
   expect_generator_is_called_ = false;
+  MockConnectionIdGenerator generator2;
   EXPECT_CALL(*dispatcher_, ConnectionIdGenerator())
       .WillRepeatedly(ReturnRef(generator2));
-  if (store->replace_cid_on_first_packet()) {
+  const bool buffered_store_replace_cid =
+      store->replace_cid_on_first_packet() && version_.UsesTls();
+  if (buffered_store_replace_cid) {
     // generator2 should be used to replace the connection ID when the first
     // IETF INITIAL is enqueued.
     EXPECT_CALL(generator2,
@@ -2893,10 +2895,14 @@
   EXPECT_CALL(*dispatcher_, ConnectionIdGenerator())
       .WillRepeatedly(ReturnRef(connection_id_generator_));
 
-  if (!store->replace_cid_on_first_packet()) {
-    // Consume the buffered CHLO. The buffered connection should be
-    // created using generator2.
-    EXPECT_CALL(generator2,
+  if (!buffered_store_replace_cid) {
+    // QuicDispatcher should attempt to replace the CID when creating the
+    // QuicSession. If flag is false, it should use the latched |generator2|,
+    // otherwise it should use |connection_id_generator_|.
+    MockConnectionIdGenerator& generator = store->replace_cid_on_first_packet()
+                                               ? connection_id_generator_
+                                               : generator2;
+    EXPECT_CALL(generator,
                 MaybeReplaceConnectionId(TestConnectionId(conn_id), version_))
         .WillOnce(Return(std::nullopt));
   }
@@ -3076,7 +3082,7 @@
                   ValidatePacket(TestConnectionId(conn_id), packet);
                 }
               })));
-    } else if (!store->replace_cid_on_first_packet()) {
+    } else if (!(store->replace_cid_on_first_packet() && version_.UsesTls())) {
       expect_generator_is_called_ = false;
     }
     ProcessFirstFlight(TestConnectionId(conn_id));