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_