ifw-daq  1.0.0
IFW Data Acquisition modules
managerMock.hpp
Go to the documentation of this file.
1 #ifndef DAQ_OCM_SERVER_MOCK_MANAGER_MOCK_HPP_
2 #define DAQ_OCM_SERVER_MOCK_MANAGER_MOCK_HPP_
3 #include <daq/manager.hpp>
4 #include <daq/status.hpp>
5 #include <daq/daqController.hpp>
6 
7 #include <gmock/gmock.h>
8 
10  MOCK_CONST_METHOD1(HaveDaq, bool(std::string_view));
11  MOCK_CONST_METHOD0(MakeDaqId, std::string());
13  MOCK_METHOD1(AddDaq, void(std::shared_ptr<daq::DaqController>));
14  MOCK_METHOD1(StartDaqAsync, boost::future<daq::State>(std::string_view));
15  MOCK_METHOD2(StopDaqAsync, boost::future<daq::Status>(std::string_view, daq::ErrorPolicy));
16  MOCK_METHOD2(AbortDaqAsync, boost::future<daq::Status>(std::string_view, daq::ErrorPolicy));
18  boost::future<daq::Result<daq::Status>>(std::string_view,
19  daq::State,
20  std::chrono::milliseconds));
21 
22  MOCK_METHOD2(UpdateKeywords, void(std::string_view, daq::fits::KeywordVector const&));
24  MOCK_METHOD0(GetDaqControllers, std::vector<std::shared_ptr<daq::DaqController const>>());
25 };
26 
28  DaqControllerFake(std::shared_ptr<daq::ObservableStatus> status_arg) :
29  status(std::move(status_arg)) {
30  }
31  boost::future<daq::State> StartAsync() override {
32  throw std::runtime_error("not implemented");
33  }
34  boost::future<daq::Status> StopAsync(daq::ErrorPolicy policy) override {
35  throw std::runtime_error("not implemented");
36  }
37  boost::future<daq::Status> AbortAsync(daq::ErrorPolicy policy) override {
38  throw std::runtime_error("not implemented");
39  }
40  void UpdateKeywords(daq::fits::KeywordVector const& keywords) override {
41  throw std::runtime_error("not implemented");
42  }
43  boost::future<daq::State>
44  AwaitAsync(std::vector<std::string> sources, std::chrono::milliseconds timeout) override {
45  throw std::runtime_error("not implemented");
46  }
47  daq::State GetState() const DAQ_NOEXCEPT override {
48  return status->GetState();
49  }
50  std::shared_ptr<daq::ObservableStatus> GetStatus() DAQ_NOEXCEPT override {
51  return status;
52  }
53  std::shared_ptr<daq::ObservableStatus const> GetStatus() const DAQ_NOEXCEPT override {
54  return status;
55  }
56  std::shared_ptr<daq::ObservableEventLog> GetEventLog() DAQ_NOEXCEPT override {
57  throw std::runtime_error("not implemented");
58  }
59  std::string const& GetId() const DAQ_NOEXCEPT override {
60  return status->GetId();
61  }
62  bool GetErrorFlag() const DAQ_NOEXCEPT override {
63  return status->GetError();
64  }
65 
66  std::shared_ptr<daq::ObservableStatus> status;
67 };
68 
69 #endif // #ifndef DAQ_OCM_SERVER_MOCK_MANAGER_MOCK_HPP_
DaqControllerFake::AbortAsync
boost::future< daq::Status > AbortAsync(daq::ErrorPolicy policy) override
Aborts the data acquisition.
Definition: managerMock.hpp:37
ManagerMock::MOCK_METHOD1
MOCK_METHOD1(StartDaqAsync, boost::future< daq::State >(std::string_view))
ManagerMock::MOCK_CONST_METHOD1
MOCK_CONST_METHOD1(GetStatus, daq::Status(std::string_view))
DAQ_NOEXCEPT
#define DAQ_NOEXCEPT
Definition: config.hpp:16
daq::State
State
Observable states of the data acquisition process.
Definition: state.hpp:41
daq::Manager::UpdateKeywords
virtual void UpdateKeywords(std::string_view id, fits::KeywordVector const &keywords)=0
Update FITS keywords for DaqController identified by id.
daq::Manager::GetDaqControllers
virtual std::vector< std::shared_ptr< DaqController const > > GetDaqControllers()=0
ManagerMock::MOCK_METHOD0
MOCK_METHOD0(GetStatusSignal, daq::StatusSignal &())
ManagerMock
Definition: managerMock.hpp:9
manager.hpp
Declaration of daq::Manager
DaqControllerFake::UpdateKeywords
void UpdateKeywords(daq::fits::KeywordVector const &keywords) override
Updates (replace or add) list of keywords.
Definition: managerMock.hpp:40
ManagerMock::MOCK_CONST_METHOD1
MOCK_CONST_METHOD1(HaveDaq, bool(std::string_view))
ManagerMock::MOCK_METHOD2
MOCK_METHOD2(UpdateKeywords, void(std::string_view, daq::fits::KeywordVector const &))
DaqControllerFake::GetStatus
std::shared_ptr< daq::ObservableStatus > GetStatus() DAQ_NOEXCEPT override
Definition: managerMock.hpp:50
DaqControllerFake::GetId
std::string const & GetId() const DAQ_NOEXCEPT override
Definition: managerMock.hpp:59
DaqControllerFake::StartAsync
boost::future< daq::State > StartAsync() override
Starts the data acquisition.
Definition: managerMock.hpp:31
ManagerMock::MOCK_METHOD1
MOCK_METHOD1(AddDaq, void(std::shared_ptr< daq::DaqController >))
DaqControllerFake::status
std::shared_ptr< daq::ObservableStatus > status
Definition: managerMock.hpp:66
DaqControllerFake::StopAsync
boost::future< daq::Status > StopAsync(daq::ErrorPolicy policy) override
Stops the data acquisition.
Definition: managerMock.hpp:34
daq::StatusSignal
Observes any status.
Definition: manager.hpp:46
daq::Manager::MakeDaqId
virtual std::string MakeDaqId() const =0
Creates a new unique identifier based on the instrumend id and current time.
daq::Manager::AwaitDaqStateAsync
virtual boost::future< Result< Status > > AwaitDaqStateAsync(std::string_view id, State state, std::chrono::milliseconds timeout)=0
Await DAQ state.
DaqControllerFake::DaqControllerFake
DaqControllerFake(std::shared_ptr< daq::ObservableStatus > status_arg)
Definition: managerMock.hpp:28
daq::Result
Utility class that represents a result and an error.
Definition: utility.hpp:17
daqController.hpp
Contains declaration for for DaqController.
status.hpp
Contains declaration for Status and ObservableStatus.
daq::Manager::HaveDaq
virtual bool HaveDaq(std::string_view id) const DAQ_NOEXCEPT=0
Query existing data acquisition by id.
DaqControllerFake::GetState
daq::State GetState() const DAQ_NOEXCEPT override
Definition: managerMock.hpp:47
DaqControllerFake::AwaitAsync
boost::future< daq::State > AwaitAsync(std::vector< std::string > sources, std::chrono::milliseconds timeout) override
Awaits that data acquisition stops or aborts.
Definition: managerMock.hpp:44
daq::Manager::StartDaqAsync
virtual boost::future< State > StartDaqAsync(std::string_view id)=0
Start DaqController identified by id.
ManagerMock::MOCK_METHOD2
MOCK_METHOD2(AbortDaqAsync, boost::future< daq::Status >(std::string_view, daq::ErrorPolicy))
DaqControllerFake::GetErrorFlag
bool GetErrorFlag() const DAQ_NOEXCEPT override
Definition: managerMock.hpp:62
DaqControllerFake
Definition: managerMock.hpp:27
daq::Manager::AbortDaqAsync
virtual boost::future< Status > AbortDaqAsync(std::string_view id, ErrorPolicy policy)=0
Abort DaqController identified by id.
daq::Status
Non observable status object that keeps stores status of data acquisition.
Definition: status.hpp:32
ManagerMock::MOCK_CONST_METHOD0
MOCK_CONST_METHOD0(MakeDaqId, std::string())
daq::fits::KeywordVector
std::vector< KeywordVariant > KeywordVector
Vector of keywords.
Definition: keyword.hpp:138
daq::Manager::AddDaq
virtual void AddDaq(std::shared_ptr< DaqController > daq)=0
Add data acquisition.
ManagerMock::MOCK_METHOD2
MOCK_METHOD2(StopDaqAsync, boost::future< daq::Status >(std::string_view, daq::ErrorPolicy))
daq::Manager::GetStatusSignal
virtual StatusSignal & GetStatusSignal()=0
DaqControllerFake::GetStatus
std::shared_ptr< daq::ObservableStatus const > GetStatus() const DAQ_NOEXCEPT override
Definition: managerMock.hpp:53
daq::Manager
Manager owns DaqController and FitsController (active data acquisitions) instances and multiplexes re...
Definition: manager.hpp:86
ManagerMock::MOCK_METHOD3
MOCK_METHOD3(AwaitDaqStateAsync, boost::future< daq::Result< daq::Status >>(std::string_view, daq::State, std::chrono::milliseconds))
daq::ErrorPolicy
ErrorPolicy
Error policy supported by certain operations.
Definition: error.hpp:25
daq::DaqController
Controls the execution of single data acquisition that ultimately result in a set of FITS keywords an...
Definition: daqController.hpp:163
ManagerMock::MOCK_METHOD0
MOCK_METHOD0(GetDaqControllers, std::vector< std::shared_ptr< daq::DaqController const >>())
daq::Manager::GetStatus
virtual Status GetStatus(std::string_view id) const =0
Get status.
DaqControllerFake::GetEventLog
std::shared_ptr< daq::ObservableEventLog > GetEventLog() DAQ_NOEXCEPT override
Definition: managerMock.hpp:56
daq::Manager::StopDaqAsync
virtual boost::future< Status > StopDaqAsync(std::string_view id, ErrorPolicy policy)=0
Stop DaqController identified by id.