No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.3.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-03-05
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Integration tests and demo nodes for ros2_medkit

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_integration_tests

Integration tests, demo nodes, and shared test utilities for ros2_medkit.

Overview

This package contains everything needed to validate the ros2_medkit system end-to-end:

  • Demo nodes – automotive-themed C++ nodes (sensors, actuators, services, actions) that produce realistic ROS 2 traffic for testing
  • Feature tests – focused tests that validate individual API features (data access, operations, faults, SSE, CORS, auth, etc.)
  • Scenario tests – end-to-end stories that exercise multi-step workflows (fault lifecycle, action execution, discovery modes, subscriptions, etc.)
  • Shared test library (ros2_medkit_test_utils) – base test case, launch helpers, and assertion utilities shared across all test files

Package Structure

ros2_medkit_integration_tests/
  demo_nodes/           # C++ demo node sources
  launch/               # demo_nodes.launch.py
  ros2_medkit_test_utils/
    __init__.py
    constants.py        # DEFAULT_PORT, timeouts
    coverage.py         # GCOV_PREFIX helpers for CI
    gateway_test_case.py  # GatewayTestCase base class
    launch_helpers.py   # create_test_launch(), DEMO_NODE_REGISTRY
  test/
    features/           # Focused API feature tests
    scenarios/          # End-to-end workflow tests

Running Tests

# Build everything
colcon build --symlink-install
source install/setup.bash

# All integration tests
colcon test --packages-select ros2_medkit_integration_tests
colcon test-result --verbose

# Single test
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -R test_data_read

# Feature tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L feature

# Scenario tests only
colcon test --packages-select ros2_medkit_integration_tests \
  --ctest-args -L scenario

Demo Nodes

Launch all demo nodes for manual testing or the web UI:

ros2 launch ros2_medkit_integration_tests demo_nodes.launch.py

Node Namespace Type Description
temp_sensor /powertrain/engine Publisher Engine temperature (2 Hz)
rpm_sensor /powertrain/engine Publisher RPM readings (2 Hz)
pressure_sensor /chassis/brakes Publisher Brake pressure (2 Hz)
status_sensor /body/door/front_left Publisher Door open/closed (0.5 Hz)
lidar_sensor /perception/lidar Publisher + Fault reporter LaserScan with fault detection
actuator /chassis/brakes Subscriber + Publisher Brake actuator (command/feedback)
controller /body/lights Subscriber + Publisher Light controller (command/status)
calibration /powertrain/engine Service Trigger-based calibration
long_calibration /powertrain/engine Action Fibonacci-based long-running action

Writing New Tests

Feature Test Template

Feature tests validate a single API capability:

```python from ros2_medkit_test_utils.gateway_test_case import GatewayTestCase from ros2_medkit_test_utils.launch_helpers import create_test_launch

def generate_test_description(): return create_test_launch( demo_nodes=[‘temp_sensor’], fault_manager=False, )

class TestMyFeature(GatewayTestCase): MIN_EXPECTED_APPS = 1 REQUIRED_APPS = {‘temp_sensor’}

def test_something(self):

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_integration_tests

0.3.0 (2026-02-27)

  • Refactored integration test suite into dedicated ros2_medkit_integration_tests package (#227)
  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange