10#ifndef SEN_DB_TEST_HELPERS_H
11#define SEN_DB_TEST_HELPERS_H
13#include "stl/db_test_class.stl.h"
34 TempDir(): path_(
std::filesystem::temp_directory_path() / (
"db_test_" +
std::to_string(
std::
time(nullptr))))
36 std::filesystem::create_directories(path_);
48 if (std::filesystem::exists(path_))
50 std::filesystem::remove_all(path_);
54 [[nodiscard]]
const std::filesystem::path&
path()
const {
return path_; }
57 std::filesystem::path path_;
64 using TestObjBase::TestObjBase;
66 using TestObjBase::valueChanged;
73 std::unique_ptr<sen::kernel::TestKernel>
kernel;
77 object = std::make_shared<TestObjImpl>(
"testObj",
sen::VarMap {});
81 auto source = api.getSource(
"local.test");
85 component.onRun([](
auto& api) {
return api.execLoop(std::chrono::seconds(1), []() {}); });
95 using OtherObjBase::OtherObjBase;
104 std::unique_ptr<sen::kernel::TestKernel>
kernel;
113 auto source = api.getSource(
"local.test");
118 component.onRun([](
auto& api) {
return api.execLoop(std::chrono::seconds(1), []() {}); });
Definition db_test_helpers.h:92
~OtherObjImpl() override=default
const std::filesystem::path & path() const
Definition db_test_helpers.h:54
TempDir(TempDir &&)=delete
~TempDir()
Definition db_test_helpers.h:46
TempDir(const TempDir &)=delete
TempDir & operator=(const TempDir &)=delete
TempDir & operator=(TempDir &&)=delete
TempDir()
Definition db_test_helpers.h:34
Definition db_test_helpers.h:61
~TestObjImpl() override=default
What can be done when initializing a component.
Definition component_api.h:213
Convenience class for using lambdas instead of inheritance when defining test components.
Definition test_kernel.h:58
std::map< std::string, Var, std::less<> > VarMap
A map of vars to represent structures.
Definition var.h:107
@ time
Definition unit.h:34
Definition db_test_helpers.h:29
PassResult done()
Convenience helper for doing sen::Ok(sen::kernel::OpState {sen::kernel::OpFinished {}...
Definition component.h:25
Result< OpState, ExecError > PassResult
The result of operations that may be called multiple times.
Definition component_api.h:53
std::unique_ptr< sen::kernel::TestKernel > kernel
Definition db_test_helpers.h:104
DualClassSetup()
Definition db_test_helpers.h:106
sen::kernel::TestComponent component
Definition db_test_helpers.h:103
std::shared_ptr< OtherObjImpl > otherObject
Definition db_test_helpers.h:102
std::shared_ptr< TestObjImpl > testObject
Definition db_test_helpers.h:101
sen::kernel::TestComponent component
Definition db_test_helpers.h:72
std::unique_ptr< sen::kernel::TestKernel > kernel
Definition db_test_helpers.h:73
std::shared_ptr< TestObjImpl > object
Definition db_test_helpers.h:71
SingleClassSetup()
Definition db_test_helpers.h:75