Use wub's new test features in QuicBufferedPacketStoreTest:SimpleEnqueueAckSent

PiperOrigin-RevId: 700345169
diff --git a/quiche/quic/core/quic_buffered_packet_store_test.cc b/quiche/quic/core/quic_buffered_packet_store_test.cc
index d3400f0..d540521 100644
--- a/quiche/quic/core/quic_buffered_packet_store_test.cc
+++ b/quiche/quic/core/quic_buffered_packet_store_test.cc
@@ -210,69 +210,43 @@
 
 TEST_F(QuicBufferedPacketStoreTest, SimpleEnqueueAckSent) {
   SetQuicReloadableFlag(quic_ecn_in_first_ack, true);
-  QuicConnectionId connection_id = TestConnectionId(1);
-  MockPacketWriter writer;
-  store_.set_writer(&writer);
-  // Build a decryptable Initial packet with PADDING.
-  QuicFramer client_framer(ParsedQuicVersionVector{ParsedQuicVersion::RFCv1()},
-                           QuicTime::Zero(), Perspective::IS_CLIENT, 8);
-  client_framer.SetInitialObfuscators(connection_id);
-  QuicPacketHeader header;
-  header.destination_connection_id = connection_id;
-  header.version_flag = true;
-  header.packet_number = QuicPacketNumber(1);
-  header.packet_number_length = PACKET_1BYTE_PACKET_NUMBER;
-  header.long_packet_type = INITIAL;
-  header.length_length = quiche::VARIABLE_LENGTH_INTEGER_LENGTH_2;
-  header.retry_token_length_length = quiche::VARIABLE_LENGTH_INTEGER_LENGTH_1;
-  QuicFrames frames = {QuicFrame(QuicPaddingFrame(1200))};
+  const QuicConnectionId kDCID = TestConnectionId(1);
+  const std::string crypto_data = "crypto_data";
+  ParsedQuicVersionVector versions = {ParsedQuicVersion::RFCv1()};
+  std::unique_ptr<QuicEncryptedPacket> client_initial_packet(
+      ConstructEncryptedPacket(
+          kDCID, QuicConnectionId(), /*version_flag=*/true,
+          /*reset_flag=*/false, /*packet_number=*/1, crypto_data,
+          /*full_padding=*/true, CONNECTION_ID_PRESENT, CONNECTION_ID_PRESENT,
+          PACKET_4BYTE_PACKET_NUMBER, &versions, Perspective::IS_CLIENT));
+  QuicReceivedPacket received_client_initial(
+      client_initial_packet->data(), client_initial_packet->length(),
+      QuicTime::Zero(), false, 0, true, nullptr, 0, false, ECN_ECT1);
+  ReceivedPacketInfo packet_info(self_address_, peer_address_,
+                                 received_client_initial);
+  std::string detailed_error;
+  ASSERT_EQ(QuicFramer::ParsePublicHeaderDispatcherShortHeaderLengthUnknown(
+                received_client_initial, &packet_info.form,
+                &packet_info.long_packet_type, &packet_info.version_flag,
+                &packet_info.use_length_prefix, &packet_info.version_label,
+                &packet_info.version, &packet_info.destination_connection_id,
+                &packet_info.source_connection_id, &packet_info.retry_token,
+                &detailed_error, connection_id_generator_),
+            QUIC_NO_ERROR)
+      << detailed_error;
+  store_.EnqueuePacket(packet_info, kNoParsedChlo, connection_id_generator_);
 
-  char* buffer = new char[1500];
-  EncryptionLevel level = HeaderToEncryptionLevel(header);
-  size_t length =
-      client_framer.BuildDataPacket(header, frames, buffer, 1500, level);
-
-  ASSERT_GT(length, 0);
-
-  // Re-construct the data packet with data ownership.
-  auto data = std::make_unique<QuicPacket>(
-      buffer, length, /* owns_buffer */ true,
-      GetIncludedDestinationConnectionIdLength(header),
-      GetIncludedSourceConnectionIdLength(header), header.version_flag,
-      header.nonce != nullptr, header.packet_number_length,
-      header.retry_token_length_length, header.retry_token.length(),
-      header.length_length);
-  unsigned char raw[1500] = {};
-  size_t final_size = client_framer.EncryptPayload(
-      ENCRYPTION_INITIAL, header.packet_number, *data, (char*)raw, 1500);
-  QuicReceivedPacket packet((char*)raw, final_size, QuicTime::Zero(), false, 0,
-                            true, nullptr, 0, false, ECN_ECT1);
-
-  EXPECT_CALL(writer, IsWriteBlocked()).WillOnce(Return(false));
-  std::unique_ptr<QuicEncryptedPacket> ack_packet;
-  EXPECT_CALL(writer, WritePacket(_, _, _, _, _, _))
-      .WillOnce(Invoke([&](const char* buffer, size_t buf_len,
-                           const QuicIpAddress& /*self_address*/,
-                           const QuicSocketAddress& /*peer_address*/,
-                           PerPacketOptions* /*options*/,
-                           const QuicPacketWriterParams& /*params*/) {
-        auto tmp_packet =
-            std::make_unique<QuicEncryptedPacket>(buffer, buf_len);
-        ack_packet = tmp_packet->Clone();
-        return WriteResult(WRITE_STATUS_OK, 1);
-      }));
-  EXPECT_CALL(writer, Flush());
-  EnqueuePacketToStore(store_, connection_id, IETF_QUIC_LONG_HEADER_PACKET,
-                       INITIAL, packet, self_address_, peer_address_,
-                       ParsedQuicVersion::RFCv1(), kNoParsedChlo,
-                       connection_id_generator_);
-  const BufferedPacketList* buffered_list = store_.GetPacketList(connection_id);
+  const BufferedPacketList* buffered_list = store_.GetPacketList(kDCID);
   ASSERT_NE(buffered_list, nullptr);
   ASSERT_EQ(buffered_list->dispatcher_sent_packets.size(), 1);
   EXPECT_EQ(buffered_list->dispatcher_sent_packets[0].largest_acked,
             QuicPacketNumber(1));
+  ASSERT_EQ(client_received_packets_.size(), 1u);
 
   // Decrypt the packet, and verify it reports ECN.
+  QuicFramer client_framer(ParsedQuicVersionVector{ParsedQuicVersion::RFCv1()},
+                           QuicTime::Zero(), Perspective::IS_CLIENT, 8);
+  client_framer.SetInitialObfuscators(kDCID);
   MockFramerVisitor mock_framer_visitor;
   client_framer.set_visitor(&mock_framer_visitor);
   EXPECT_CALL(mock_framer_visitor, OnPacket()).Times(1);
@@ -282,7 +256,7 @@
   std::optional<QuicEcnCounts> counts = QuicEcnCounts(0, 1, 0);
   EXPECT_CALL(mock_framer_visitor, OnAckFrameEnd(_, counts))
       .WillOnce(Return(true));
-  client_framer.ProcessPacket(*ack_packet);
+  client_framer.ProcessPacket(*client_received_packets_[0]->packet);
 }
 
 TEST_F(QuicBufferedPacketStoreTest, DifferentPacketAddressOnOneConnection) {