mirror of
https://github.com/XRPLF/clio.git
synced 2025-12-01 00:55:51 +00:00
41
tests/common/web/dosguard/DOSGuardMock.hpp
Normal file
41
tests/common/web/dosguard/DOSGuardMock.hpp
Normal file
@@ -0,0 +1,41 @@
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
This file is part of clio: https://github.com/XRPLF/clio
|
||||
Copyright (c) 2024, the clio developers.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "web/dosguard/DOSGuardInterface.hpp"
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
struct DOSGuardMockImpl : web::dosguard::DOSGuardInterface {
|
||||
MOCK_METHOD(bool, isWhiteListed, (std::string_view const ip), (const, noexcept, override));
|
||||
MOCK_METHOD(bool, isOk, (std::string const& ip), (const, noexcept, override));
|
||||
MOCK_METHOD(void, increment, (std::string const& ip), (noexcept, override));
|
||||
MOCK_METHOD(void, decrement, (std::string const& ip), (noexcept, override));
|
||||
MOCK_METHOD(bool, add, (std::string const& ip, uint32_t size), (noexcept, override));
|
||||
MOCK_METHOD(bool, request, (std::string const& ip), (noexcept, override));
|
||||
MOCK_METHOD(void, clear, (), (noexcept, override));
|
||||
};
|
||||
|
||||
using DOSGuardMock = testing::NiceMock<DOSGuardMockImpl>;
|
||||
using DOSGuardStrictMock = testing::StrictMock<DOSGuardMockImpl>;
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "util/Taggable.hpp"
|
||||
#include "web/ng/Connection.hpp"
|
||||
#include "web/ng/Error.hpp"
|
||||
#include "web/ng/Request.hpp"
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
#include <boost/asio/spawn.hpp>
|
||||
#include <boost/asio/ssl/context.hpp>
|
||||
#include <boost/beast/http/message.hpp>
|
||||
#include <boost/beast/http/string_body.hpp>
|
||||
#include <gmock/gmock.h>
|
||||
|
||||
#include <chrono>
|
||||
@@ -48,6 +50,15 @@ struct MockHttpConnectionImpl : web::ng::impl::UpgradableConnection {
|
||||
(override)
|
||||
);
|
||||
|
||||
MOCK_METHOD(
|
||||
SendReturnType,
|
||||
sendRaw,
|
||||
(boost::beast::http::response<boost::beast::http::string_body>,
|
||||
boost::asio::yield_context,
|
||||
std::chrono::steady_clock::duration),
|
||||
(override)
|
||||
);
|
||||
|
||||
using ReceiveReturnType = std::expected<web::ng::Request, web::ng::Error>;
|
||||
MOCK_METHOD(
|
||||
ReceiveReturnType,
|
||||
|
||||
Reference in New Issue
Block a user