13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_MOCKRUNTIMEREPOIF_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_MOCKRUNTIMEREPOIF_HPP
19#include <gmock/gmock.h>
20#include <gtest/gtest.h>
35 .WillByDefault([
this](
const DataPointPath& path,
const std::type_info& type) {
42 const std::type_info& type,
50 .WillByDefault([
this](
const DataPointPath& path) ->
const std::type_info& {
85 (
const DataPointPath&,
const std::type_info&,
const std::string&),
116 const auto& req = std::any_cast<const detail::CreateRequest<std::byte>&>(
request);
119 const auto& req = std::any_cast<const detail::CreateRequest<char>&>(
request);
122 const auto& req = std::any_cast<const detail::CreateRequest<RtcBool>&>(
request);
125 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt8>&>(
request);
128 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt16>&>(
request);
131 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt32>&>(
request);
134 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt64>&>(
request);
137 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt8>&>(
request);
140 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt16>&>(
request);
143 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt32>&>(
request);
146 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt64>&>(
request);
149 const auto& req = std::any_cast<const detail::CreateRequest<RtcFloat>&>(
request);
152 const auto& req = std::any_cast<const detail::CreateRequest<RtcDouble>&>(
request);
155 const auto& req = std::any_cast<const detail::CreateRequest<RtcString>&>(
request);
158 const auto& req = std::any_cast<const detail::DeleteRequest&>(
request);
161 const auto& req = std::any_cast<const detail::ReadMetaDataRequest&>(
request);
165 const auto& req = std::any_cast<const detail::ExistsRequest&>(
request);
168 const auto& req = std::any_cast<const detail::ReadRequest<std::byte>&>(
request);
171 const auto& req = std::any_cast<const detail::ReadRequest<char>&>(
request);
174 const auto& req = std::any_cast<const detail::ReadRequest<RtcBool>&>(
request);
177 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt8>&>(
request);
180 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt16>&>(
request);
183 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt32>&>(
request);
186 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt64>&>(
request);
189 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt8>&>(
request);
192 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt16>&>(
request);
195 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt32>&>(
request);
198 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt64>&>(
request);
201 const auto& req = std::any_cast<const detail::ReadRequest<RtcFloat>&>(
request);
204 const auto& req = std::any_cast<const detail::ReadRequest<RtcDouble>&>(
request);
207 const auto& req = std::any_cast<const detail::ReadRequest<RtcString>&>(
request);
210 const auto& req = std::any_cast<const detail::WriteRequest<std::byte>&>(
request);
213 const auto& req = std::any_cast<const detail::WriteRequest<char>&>(
request);
216 const auto& req = std::any_cast<const detail::WriteRequest<RtcBool>&>(
request);
219 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt8>&>(
request);
222 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt16>&>(
request);
225 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt32>&>(
request);
228 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt64>&>(
request);
231 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt8>&>(
request);
234 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt16>&>(
request);
237 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt32>&>(
request);
240 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt64>&>(
request);
243 const auto& req = std::any_cast<const detail::WriteRequest<RtcFloat>&>(
request);
246 const auto& req = std::any_cast<const detail::WriteRequest<RtcDouble>&>(
request);
249 const auto& req = std::any_cast<const detail::WriteRequest<RtcString>&>(
request);
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:74
Definition repositoryIf.hpp:920
A request object to pass information about datapoints that should be read from the repository.
Definition repositoryIf.hpp:1206
An object used to wait for a request to complete.
Definition repositoryIf.hpp:1354
A request object to pass information about datapoints that should be written to the repository.
Definition repositoryIf.hpp:1279
virtual bool DataPointExistsLegacy(const DataPointPath &path) const
Checks for the existence of a datapoint in the repository.
Definition repositoryIf.cpp:719
virtual BatchResponse ProcessRequests(const RequestList &requests)=0
virtual Response SendReadRequest(const ReadRequest &request) const
Sends a request to read data from the repository.
Definition repositoryIf.cpp:773
virtual const std::type_info & GetDataPointTypeLegacy(const DataPointPath &path) const
Fetches the type of the datapoint.
Definition repositoryIf.cpp:711
virtual size_t GetDataPointSizeLegacy(const DataPointPath &path) const
Fetches the size of the datapoint's data.
Definition repositoryIf.cpp:715
virtual void DeleteDataPointLegacy(const DataPointPath &path)
Deletes a datapoint.
Definition repositoryIf.cpp:707
std::vector< std::any > RequestList
Definition repositoryIf.hpp:106
virtual std::pair< PathList, PathList > GetChildrenLegacy(const DataPointPath &path) const
Queries the datapoints and child paths for a given path.
Definition repositoryIf.cpp:724
virtual Response SendWriteRequest(const WriteRequest &request)
Sends a request to write data to the repository.
Definition repositoryIf.cpp:850
A request object to pass information about datapoints to subscribe to.
Definition repositorySubscriberIf.hpp:161
A request object to pass information about datapoints to unsubscribe from.
Definition repositorySubscriberIf.hpp:267
virtual RepositoryIf::Response SendSubscribeRequest(const SubscribeRequest &request) const
This is called to asynchronously send a subscription request for datapoints.
Definition repositorySubscriberIf.cpp:162
virtual RepositoryIf::Response SendUnsubscribeRequest(const UnsubscribeRequest &request) const
This is called to asynchronously send a request to unsubscribe from various notifications.
Definition repositorySubscriberIf.cpp:255
Base interface for all Runtime Configuration Repository adapters.
Definition runtimeRepoIf.hpp:27
virtual void CreateDataPoint(const DataPointPath &path, const std::type_info &type, const std::string &server_alias)
Creates a new datapoint in the repository with a specified type on a particular external Redis server...
Definition runtimeRepoIf.cpp:34
virtual std::string GetServerAlias(const DataPointPath &path) const
Fetches the server alias for a specific datapoint.
Definition runtimeRepoIf.cpp:45
A simple fake implementation of RepositorySubscriberIf to allow testing the interactions and callback...
Definition fakeRepositorySubscriber.hpp:28
A mock of RuntimeRepoIf.
Definition mockRuntimeRepoIf.hpp:29
MOCK_METHOD(bool, DataPointExistsLegacy,(const DataPointPath &),(const override))
MOCK_METHOD(Response, SendSubscribeRequest,(const SubscribeRequest &),(const override))
MOCK_METHOD(void, CreateDataPoint,(const DataPointPath &, const std::type_info &),(override))
MOCK_METHOD(void, DeleteDataPointRequest,(const DataPointPath &))
MOCK_METHOD(std::string, GetServerAlias,(const DataPointPath &),(const override))
MOCK_METHOD(std::size_t, GetDataPointSizeLegacy,(const DataPointPath &),(const override))
MOCK_METHOD(Response, SendReadRequest,(const ReadRequest &),(const override))
MOCK_METHOD(Response, SendUnsubscribeRequest,(const UnsubscribeRequest &),(const override))
MOCK_METHOD((std::pair< PathList, PathList >), GetChildrenLegacy,(const DataPointPath &),(const override))
BatchResponse ProcessRequests(const RequestList &requests) override
Definition mockRuntimeRepoIf.hpp:113
MOCK_METHOD(void, GetDataPointSizeRequest,(const DataPointPath &),(const))
MOCK_METHOD(void, CreateDataPointRequest,(const DataPointPath &))
MOCK_METHOD(void, ReceivedReadRequest,(const DataPointPath &),(const))
virtual void CreateDataPoint(const DataPointPath &path, const std::type_info &type, const std::string &server_alias)
Creates a new datapoint in the repository with a specified type on a particular external Redis server...
Definition runtimeRepoIf.cpp:34
MOCK_METHOD(const std::type_info &, GetDataPointTypeLegacy,(const DataPointPath &),(const override))
MOCK_METHOD(void, CreateDataPoint,(const DataPointPath &, const std::type_info &, const std::string &),(override))
MOCK_METHOD(void, DataPointExistsRequest,(const DataPointPath &),(const))
MOCK_METHOD(Response, SendWriteRequest,(const WriteRequest &),(override))
MOCK_METHOD(void, DeleteDataPointLegacy,(const DataPointPath &),(override))
MOCK_METHOD(void, ReceivedWriteRequest,(const DataPointPath &))
MOCK_METHOD(void, GetDataPointTypeRequest,(const DataPointPath &),(const))
MockRuntimeRepoIf()
Definition mockRuntimeRepoIf.hpp:31
Header file for an in-memory fake RepositorySubscriberIf.
Definition fakeClock.cpp:15
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Header file for RuntimeRepoIf, which defines the API for RuntimeRepoAdapters.
Definition repositoryIf.ipp:36
Definition repositoryIf.ipp:44
Definition repositoryIf.ipp:49
Definition repositoryIf.ipp:63
Definition repositoryIf.ipp:77