From 6a47d0ceb400443f453049a07303b435b1d746cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20=C5=BBak?= Date: Thu, 10 Oct 2024 23:23:21 +0200 Subject: [PATCH] fix ROS2FrameComponent::UpdateNamespaceConfiguration() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mateusz Żak --- .../Source/Frame/NamespaceConfiguration.cpp | 5 +++++ .../Tests/Frame/ROS2FrameComponentTest.cpp | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/Gems/ROS2/Code/Source/Frame/NamespaceConfiguration.cpp b/Gems/ROS2/Code/Source/Frame/NamespaceConfiguration.cpp index ae8b6b32d..fbba26aeb 100644 --- a/Gems/ROS2/Code/Source/Frame/NamespaceConfiguration.cpp +++ b/Gems/ROS2/Code/Source/Frame/NamespaceConfiguration.cpp @@ -82,6 +82,11 @@ namespace ROS2 { m_namespace = ros2Namespace; m_namespaceStrategy = strategy; + + if (strategy == NamespaceStrategy::Custom) { + m_customNamespace = ros2Namespace; + } + UpdateNamespace(); } diff --git a/Gems/ROS2/Code/Tests/Frame/ROS2FrameComponentTest.cpp b/Gems/ROS2/Code/Tests/Frame/ROS2FrameComponentTest.cpp index c26f0cec5..c985cd596 100644 --- a/Gems/ROS2/Code/Tests/Frame/ROS2FrameComponentTest.cpp +++ b/Gems/ROS2/Code/Tests/Frame/ROS2FrameComponentTest.cpp @@ -136,6 +136,24 @@ namespace UnitTest } } + TEST_F(ROS2FrameComponentFixture, UpdateNamespace_Custom) + { + ROS2::ROS2FrameConfiguration config; + + AZ::Entity entity; + const std::string entityName = entity.GetName().c_str(); + entity.CreateComponent(); + auto frame = entity.CreateComponent(config); + + + entity.Init(); + entity.Activate(); + + ASSERT_STREQ(frame->GetNamespace().c_str(), ("o3de_" + entityName).c_str()); + frame->UpdateNamespaceConfiguration("MyCustomNamespace", ROS2::NamespaceConfiguration::NamespaceStrategy::Custom); + EXPECT_STREQ(frame->GetNamespace().c_str(), "MyCustomNamespace"); + } + } // namespace UnitTest // required to support running integration tests with Qt and PhysX