diff --git a/test_launch_ros/test/rostest/composition.test.py b/test_launch_ros/test/rostest/composition.test.py index 4e15e9bb..992cfe21 100644 --- a/test_launch_ros/test/rostest/composition.test.py +++ b/test_launch_ros/test/rostest/composition.test.py @@ -77,25 +77,24 @@ def generate_test_description(ready_fn): launch_description.add_action(get_default_launch_description()) launch_description.add_action(mock_container) - # TODO(sloretz) post-launch composable node actions - # launch_description.add_action( - # RegisterEventHandler( - # event_handler=OnProcessStart( - # target_action=mock_container, - # on_start=[ - # LoadComposableNodes( - # composable_node_descriptions=[ - # ComposableNode( - # package='fake_package', node_plugin='node_name', - # node_name='my_talker' - # ), - # ], - # target_container=mock_container - # ) - # ] - # ) - # ) - # ) + launch_description.add_action( + RegisterEventHandler( + event_handler=OnProcessStart( + target_action=mock_container, + on_start=[ + LoadComposableNodes( + composable_node_descriptions=[ + ComposableNode( + package='fake_package', node_plugin='node_name_on_event', + node_name='my_talker_on_event' + ), + ], + target_container=mock_container + ) + ] + ) + ) + ) launch_description.add_action( OpaqueFunction(function=lambda context: ready_fn()) ) @@ -124,6 +123,13 @@ def test_custom_node_name(self, container): request.node_name = 'my_talker' self.proc_output.assertWaitFor(expected_output=repr(request), process=container) + def test_custom_node_name_post_launch(self, container): + request = LoadNode.Request() + request.package_name = 'fake_package' + request.plugin_name = 'node_name_on_event' + request.node_name = 'my_talker_on_event' + self.proc_output.assertWaitFor(expected_output=repr(request), process=container) + def test_custom_node_namespace(self, container): request = LoadNode.Request() request.package_name = 'fake_package' diff --git a/test_launch_ros/test_launch_ros/mock_composable_container.py b/test_launch_ros/test_launch_ros/mock_composable_container.py index ea003fd8..5a280e34 100644 --- a/test_launch_ros/test_launch_ros/mock_composable_container.py +++ b/test_launch_ros/test_launch_ros/mock_composable_container.py @@ -79,6 +79,11 @@ def __init__(self, name, namespace): extra_arguments.full_node_name = '/a_nodename' extra_arguments.unique_id = 128 + node_name_on_event = LoadNode.Response() + node_name_on_event.success = True + node_name_on_event.full_node_name = '/my_talker_on_event' + node_name_on_event.unique_id = 256 + self.__load_node_responses = { ('fake_package', 'fail_to_load'): fail_to_load, ('fake_package', 'successfully_load'): successfully_load, @@ -88,6 +93,7 @@ def __init__(self, name, namespace): ('fake_package', 'remap_rules'): remap_rules, ('fake_package', 'parameters'): parameters, ('fake_package', 'extra_arguments'): extra_arguments, + ('fake_package', 'node_name_on_event'): node_name_on_event, } self.unexpected_request = False