|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ros2_medkit_integration_tests at Robotics Stack Exchange
|
ros2_medkit_integration_tests package from ros2_medkit reporos2_medkit_diagnostic_bridge ros2_medkit_fault_manager ros2_medkit_fault_reporter ros2_medkit_gateway ros2_medkit_integration_tests ros2_medkit_msgs ros2_medkit_serialization |
ROS Distro
|
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
Maintainers
- bburda
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
Package Dependencies
System Dependencies
| Name |
|---|
| python3-requests |