diff --git a/iceoryx_posh/test/moduletests/test_roudi_system_manager.cpp b/iceoryx_posh/test/moduletests/test_roudi_system_manager.cpp new file mode 100644 index 0000000000..5e9ed715db --- /dev/null +++ b/iceoryx_posh/test/moduletests/test_roudi_system_manager.cpp @@ -0,0 +1,63 @@ +#include "iceoryx_posh/internal/roudi/roudi.hpp" +#include + +TEST(RoudiSystemD, CreateObject) +{ + ::testing::Test::RecordProperty("TEST_ID", "aa77b5f6-ffb3-4267-982d-dfe85da384ca"); + std::unique_ptr roudiSendMessage; + ASSERT_NO_THROW(std::make_unique()); +} + +TEST(RoudiSystemD, CheckConstantsSizeThreadName) +{ + ::testing::Test::RecordProperty("TEST_ID", "9c39f45c-a63c-43ec-9606-e50c33247b3f"); + std::unique_ptr roudiSendMessage; + ASSERT_NO_THROW(std::make_unique()); + ASSERT_EQ(roudiSendMessage->SIZE_THREAD_NAME, 15) << "Size thread must equal 15 simbols"; +} + +TEST(RoudiSystemD, CheckConstantsSizeString) +{ + ::testing::Test::RecordProperty("TEST_ID", "0b3e3058-6052-49cc-8a67-723f3775a745"); + std::unique_ptr roudiSendMessage; + ASSERT_NO_THROW(std::make_unique()); + ASSERT_EQ(roudiSendMessage->SIZE_STRING, 4096) << "Size string must equal 4096 simbols"; +} + +TEST(RoudiSystemD, SetThreadNameHelper) +{ + ::testing::Test::RecordProperty("TEST_ID", "b9ff9e83-9dde-4221-bd1e-c1016ec2d5ff"); + std::unique_ptr roudiSendMessage; + bool result = false; + + ASSERT_NO_THROW(std::make_unique()); + iox::string nameThread = "test"; + ASSERT_NO_THROW(result = roudiSendMessage->setThreadNameHelper(nameThread)); + ASSERT_EQ(result, true) << "Can not change name thread"; +} + +TEST(RoudiSystemD, GetEnvironmentVariableReturnsCorrectValue) +{ + ::testing::Test::RecordProperty("TEST_ID", "12dfa746-d1f1-4b4e-864d-2cb28ee49f70"); + const char* const env_var_name = "TEST_ENV_VAR"; + const char* const env_var_value = "test_value"; + + auto set_env = IOX_POSIX_CALL(setenv)(env_var_name, env_var_value, 1).failureReturnValue(-1).evaluate(); + EXPECT_FALSE(set_env.has_error()) << "setenv failed with error: " << set_env.get_error().errnum; + + iox::roudi::service_management::ServiceManagementSystemd sut; + + std::string result = sut.getEnvironmentVariable(env_var_name); + + EXPECT_EQ(result, env_var_value); +} + +TEST(RoudiSystemD, GetEnvironmentVariableHandlesNonExistentVar) +{ + ::testing::Test::RecordProperty("TEST_ID", "9595728f-a504-46e3-8672-b074696326a4"); + iox::roudi::service_management::ServiceManagementSystemd sut; + + std::string result = sut.getEnvironmentVariable("NON_EXISTENT_VAR"); + + EXPECT_TRUE(result.empty()); +}