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_" + getRandomPathPostFix()))
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_; }
61 std::filesystem::path path_;
68 using TestObjBase::TestObjBase;
70 using TestObjBase::valueChanged;
77 std::unique_ptr<sen::kernel::TestKernel>
kernel;
81 object = std::make_shared<TestObjImpl>(
"testObj",
sen::VarMap {});
85 auto source = api.getSource(
"local.test");
89 component.onRun([](
auto& api) {
return api.execLoop(std::chrono::seconds(1), []() {}); });
99 using OtherObjBase::OtherObjBase;
108 std::unique_ptr<sen::kernel::TestKernel>
kernel;
117 auto source = api.getSource(
"local.test");
122 component.onRun([](
auto& api) {
return api.execLoop(std::chrono::seconds(1), []() {}); });
Definition db_test_helpers.h:96
~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:65
~TestObjImpl() override=default
What can be done when initializing a component.
Definition component_api.h:235
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
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:56
std::unique_ptr< sen::kernel::TestKernel > kernel
Definition db_test_helpers.h:108
DualClassSetup()
Definition db_test_helpers.h:110
sen::kernel::TestComponent component
Definition db_test_helpers.h:107
std::shared_ptr< OtherObjImpl > otherObject
Definition db_test_helpers.h:106
std::shared_ptr< TestObjImpl > testObject
Definition db_test_helpers.h:105
sen::kernel::TestComponent component
Definition db_test_helpers.h:76
std::unique_ptr< sen::kernel::TestKernel > kernel
Definition db_test_helpers.h:77
std::shared_ptr< TestObjImpl > object
Definition db_test_helpers.h:75
SingleClassSetup()
Definition db_test_helpers.h:79