Move MockLoadBalancerEncoder into quic/test_tools for re-use.
PiperOrigin-RevId: 545979300
diff --git a/build/source_list.bzl b/build/source_list.bzl
index df1bda5..b86abf5 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -790,6 +790,7 @@
"quic/test_tools/limited_mtu_test_writer.h",
"quic/test_tools/mock_clock.h",
"quic/test_tools/mock_connection_id_generator.h",
+ "quic/test_tools/mock_load_balancer_encoder.h",
"quic/test_tools/mock_quic_client_promised_info.h",
"quic/test_tools/mock_quic_dispatcher.h",
"quic/test_tools/mock_quic_session_visitor.h",
diff --git a/build/source_list.gni b/build/source_list.gni
index 0ca2990..c8faad9 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -790,6 +790,7 @@
"src/quiche/quic/test_tools/limited_mtu_test_writer.h",
"src/quiche/quic/test_tools/mock_clock.h",
"src/quiche/quic/test_tools/mock_connection_id_generator.h",
+ "src/quiche/quic/test_tools/mock_load_balancer_encoder.h",
"src/quiche/quic/test_tools/mock_quic_client_promised_info.h",
"src/quiche/quic/test_tools/mock_quic_dispatcher.h",
"src/quiche/quic/test_tools/mock_quic_session_visitor.h",
diff --git a/build/source_list.json b/build/source_list.json
index 8423361..10480a1 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -789,6 +789,7 @@
"quiche/quic/test_tools/limited_mtu_test_writer.h",
"quiche/quic/test_tools/mock_clock.h",
"quiche/quic/test_tools/mock_connection_id_generator.h",
+ "quiche/quic/test_tools/mock_load_balancer_encoder.h",
"quiche/quic/test_tools/mock_quic_client_promised_info.h",
"quiche/quic/test_tools/mock_quic_dispatcher.h",
"quiche/quic/test_tools/mock_quic_session_visitor.h",
diff --git a/quiche/quic/load_balancer/load_balancer_encoder.h b/quiche/quic/load_balancer/load_balancer_encoder.h
index 1099d7a..ad83850 100644
--- a/quiche/quic/load_balancer/load_balancer_encoder.h
+++ b/quiche/quic/load_balancer/load_balancer_encoder.h
@@ -97,7 +97,7 @@
// Delete the current config and generate unroutable connection IDs from now
// on.
- void DeleteConfig();
+ virtual void DeleteConfig();
// Returns the number of additional connection IDs that can be generated with
// the current config, or 0 if there is no current config.
diff --git a/quiche/quic/test_tools/mock_load_balancer_encoder.h b/quiche/quic/test_tools/mock_load_balancer_encoder.h
new file mode 100644
index 0000000..f40047e
--- /dev/null
+++ b/quiche/quic/test_tools/mock_load_balancer_encoder.h
@@ -0,0 +1,36 @@
+// Copyright (c) 2023 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef QUICHE_QUIC_TEST_TOOLS_MOCK_LOAD_BALANCER_ENCODER_H_
+#define QUICHE_QUIC_TEST_TOOLS_MOCK_LOAD_BALANCER_ENCODER_H_
+
+#include "quiche/quic/load_balancer/load_balancer_encoder.h"
+#include "quiche/quic/platform/api/quic_test.h"
+
+namespace quic {
+namespace test {
+
+class MockLoadBalancerEncoder : public LoadBalancerEncoder {
+ public:
+ MockLoadBalancerEncoder()
+ : LoadBalancerEncoder(*QuicRandom::GetInstance(), nullptr, false,
+ kLoadBalancerUnroutableLen) {}
+ MOCK_METHOD(bool, IsEncoding, (), (const, override));
+ MOCK_METHOD(bool, IsEncrypted, (), (const, override));
+ MOCK_METHOD(bool, len_self_encoded, (), (const, override));
+ MOCK_METHOD(absl::optional<QuicConnectionId>, GenerateNextConnectionId,
+ (const QuicConnectionId& original), (override));
+ MOCK_METHOD(absl::optional<QuicConnectionId>, MaybeReplaceConnectionId,
+ (const QuicConnectionId& original,
+ const ParsedQuicVersion& version),
+ (override));
+ MOCK_METHOD(uint8_t, ConnectionIdLength, (uint8_t first_byte),
+ (const, override));
+ MOCK_METHOD(void, DeleteConfig, (), (override));
+};
+
+} // namespace test
+} // namespace quic
+
+#endif // QUICHE_QUIC_TEST_TOOLS_MOCK_LOAD_BALANCER_ENCODER_H_