diff --git a/test/mocks/adaptive_load/BUILD b/test/mocks/adaptive_load/BUILD index ff68762f6..44402c141 100644 --- a/test/mocks/adaptive_load/BUILD +++ b/test/mocks/adaptive_load/BUILD @@ -8,6 +8,16 @@ licenses(["notice"]) # Apache 2 envoy_package() +envoy_cc_mock( + name = "mock_adaptive_load_controller", + srcs = ["mock_adaptive_load_controller.cc"], + hdrs = ["mock_adaptive_load_controller.h"], + repository = "@envoy", + deps = [ + "//include/nighthawk/adaptive_load:adaptive_load_controller", + ], +) + envoy_cc_mock( name = "mock_metrics_evaluator", srcs = ["mock_metrics_evaluator.cc"], diff --git a/test/mocks/adaptive_load/mock_adaptive_load_controller.cc b/test/mocks/adaptive_load/mock_adaptive_load_controller.cc new file mode 100644 index 000000000..a0f0578dd --- /dev/null +++ b/test/mocks/adaptive_load/mock_adaptive_load_controller.cc @@ -0,0 +1,7 @@ +#include "test/mocks/adaptive_load/mock_adaptive_load_controller.h" + +namespace Nighthawk { + +MockAdaptiveLoadController::MockAdaptiveLoadController() = default; + +} // namespace Nighthawk diff --git a/test/mocks/adaptive_load/mock_adaptive_load_controller.h b/test/mocks/adaptive_load/mock_adaptive_load_controller.h new file mode 100644 index 000000000..0a0be0d28 --- /dev/null +++ b/test/mocks/adaptive_load/mock_adaptive_load_controller.h @@ -0,0 +1,33 @@ +#pragma once + +#include "nighthawk/adaptive_load/adaptive_load_controller.h" + +#include "gmock/gmock.h" + +namespace Nighthawk { + +/** + * A mock AdaptiveLoadController that returns empty values or success from all methods + * by default. + * + * + * Typical usage: + * + * NiceMock mock_controller; + * EXPECT_CALL(mock_controller, PerformAdaptiveLoadSession(_)) + * .WillOnce(Return(AdaptiveLoadSessionOutput())); + */ +class MockAdaptiveLoadController : public AdaptiveLoadController { +public: + /** + * Empty constructor. + */ + MockAdaptiveLoadController(); + + MOCK_METHOD(absl::StatusOr, + PerformAdaptiveLoadSession, + (nighthawk::client::NighthawkService::StubInterface * nighthawk_service_stub, + const nighthawk::adaptive_load::AdaptiveLoadSessionSpec& spec)); +}; + +} // namespace Nighthawk