Verification
This section documents the test cases and their traceability to requirements. It is automatically generated from the source code.
Test GET / returns server capabilities and entry points. Implementation: |
Test GET /version-info returns valid format and data. Implementation: |
Smoke test: verify all advertised GET endpoints are implemented and don’t return 5xx. This test ensures that: 1. All endpoints listed in GET / are actually implemented 2. No endpoint returns a server error (5xx) 3. Documentation in handle_root matches actual implementation Only GET endpoints are tested (safe, read-only operations). POST/PUT/DELETE endpoints are skipped as they modify state. Implementation: |
Test GET /areas returns all discovered areas. Implementation: |
Implementation: |
Test GET /components returns all discovered synthetic components. With heuristic discovery (default), components are synthetic groups created by namespace aggregation. ROS 2 nodes are exposed as Apps. Implementation: |
Test that automotive areas are properly discovered. Implementation: |
Test GET /areas/{area_id}/components returns components for valid area. With synthetic components, the powertrain area contains the ‘powertrain’ synthetic component which aggregates all ROS 2 nodes in that namespace. Implementation: |
Test GET /areas/{area_id}/components returns 404 for nonexistent area. Implementation: |
Implementation: |
Test GET /apps/{app_id}/data for engine temperature sensor app. Apps are ROS 2 nodes. The temp_sensor app publishes temperature data. Implementation: |
Implementation: |
Test GET /apps/{app_id}/data for brakes pressure sensor app. Implementation: |
Test GET /apps/{app_id}/data for door status sensor app. Implementation: |
Test GET /apps/{id}/operations/{op-id}/executions/{exec-id} gets status. Creates a real execution using long_calibration action, then verifies the execution status endpoint returns correct data. Implementation: |
Test PUT /apps/{id}/operations/{op-id}/executions/{exec-id} returns 501. Execution updates (pause/resume) are not supported for ROS 2 actions. This test verifies the endpoint exists and returns appropriate error. Implementation: |
Test GET /apps/{id}/configurations returns configuration list. Implementation: |
Test GET /apps/{id}/configurations/{config-id} returns configuration value. Dynamically finds an app with configurations and tests single config endpoint. Implementation: |
Test PUT /apps/{id}/configurations/{config-id} sets configuration value. Implementation: |
Test DELETE /apps/{id}/configurations resets all configurations. Returns 204 on complete success, 207 if some parameters couldn’t be reset. Implementation: |
Test DELETE /apps/{id}/configurations/{config-id} resets single config. Uses temp_sensor with known ‘min_temp’ parameter that can be reset. Implementation: |
Test GET /areas/{area_id}/data returns aggregated topics for area. Areas aggregate data from all components and apps in their hierarchy. The powertrain area should include topics from engine sensors. Implementation: |
Test GET /apps/{app_id}/data response structure. Implementation: |
Test GET /areas/{area_id}/data returns 404 for nonexistent area. Implementation: |
Test GET /areas/root/data returns all topics system-wide. The root area aggregates all entities in the system. Implementation: |
Test GET /areas/{area_id}/data returns 200 with empty items for area with no data. Some areas may exist but have no direct topics - they should return 200 with empty items, not 404. The entity_id should be in aggregated_from. Implementation: |
Test GET /functions/{function_id}/data returns data items for function. Functions are logical groupings and may aggregate data from multiple sources. Implementation: |
Test GET /functions/{function_id}/data returns 404 for nonexistent function. Implementation: |
Test GET /functions/{function_id}/data rejects invalid function IDs. Implementation: |
Test that /components/{id}/data rejects app IDs. In runtime-only discovery mode, /components/{id} should only accept synthetic component IDs, not individual ROS 2 node (app) IDs. Implementation: |
Test Case: test_117_component_route_rejects_app_id_operations TEST_test_117_component_route_rejects_app_id_operations
|
Test that /components/{id}/operations rejects app IDs. Implementation: |
Test Case: test_118_component_route_rejects_app_id_configurations TEST_test_118_component_route_rejects_app_id_configurations
|
Test that /components/{id}/configurations rejects app IDs. Implementation: |
Test Case: test_119_component_route_rejects_app_id_faults TEST_test_119_component_route_rejects_app_id_faults
|
Test that /components/{id}/faults rejects app IDs. Implementation: |
Test GET /apps/{app_id}/data returns 404 for nonexistent app. Implementation: |
Test that /apps/{id}/data works correctly with app IDs. Verify that while /components rejects app IDs, /apps accepts them. Implementation: |
Test Case: test_121_bulk_data_list_categories_success TEST_test_121_bulk_data_list_categories_success
|
Test GET /apps/{app}/bulk-data returns categories. Implementation: |
Test Case: test_122_bulk_data_list_categories_all_entity_types TEST_test_122_bulk_data_list_categories_all_entity_types
|
Test bulk-data endpoint works for all entity types. Implementation: |
Test Case: test_123_bulk_data_list_categories_entity_not_found TEST_test_123_bulk_data_list_categories_entity_not_found
|
Test bulk-data returns 404 for nonexistent entity. Implementation: |
Test Case: test_124_bulk_data_list_descriptors_structure TEST_test_124_bulk_data_list_descriptors_structure
|
Test GET /apps/{app}/bulk-data/rosbags returns BulkDataDescriptor[]. Implementation: |
Test Case: test_125_bulk_data_list_descriptors_empty_result TEST_test_125_bulk_data_list_descriptors_empty_result
|
Test bulk-data returns empty array for entity without rosbags. Implementation: |
Test Case: test_126_bulk_data_unknown_category_returns_404 TEST_test_126_bulk_data_unknown_category_returns_404
|
Test bulk-data returns 404 for unknown category. Implementation: |
Test GET /apps/{app}/bulk-data/rosbags/{id} downloads file successfully. This test verifies the complete rosbag download flow: 1. Wait for fault with rosbag snapshot 2. Download the rosbag via bulk-data endpoint 3. Verify response headers (Content-Type, Content-Disposition) 4. Verify response body is non-empty binary data Implementation: |
Test bulk-data download returns 404 for invalid UUID. Implementation: |
Test Case: test_129_bulk_data_download_wrong_entity_returns_404 TEST_test_129_bulk_data_download_wrong_entity_returns_404
|
Test bulk-data download returns 404 if rosbag exists but for different entity. Security check: rosbag belonging to one entity shouldn’t be accessible via another entity’s bulk-data endpoint. Implementation: |
Test GET /apps/{app_id}/data returns empty array. Verifies that apps with no topics return an empty items array. The calibration app typically has only services, no topics. Implementation: |
Test bulk-data endpoints work for nested entities (e.g., perception area). Implementation: |
Test GET /{entity}/faults/{code} returns SOVD-compliant response. Implementation: |
Test fault item has SOVD-compliant status object. Implementation: |
Test fault response includes environment_data with snapshots. Implementation: |
Test Case: test_134_fault_snapshot_freeze_frame_structure TEST_test_134_fault_snapshot_freeze_frame_structure
|
Test freeze_frame snapshot has correct structure. Implementation: |
Test Case: test_135_fault_snapshot_rosbag_has_bulk_data_uri TEST_test_135_fault_snapshot_rosbag_has_bulk_data_uri
|
Test rosbag snapshot has correct bulk_data_uri format. Implementation: |
Test fault response includes x-medkit extensions. Implementation: |
Test Case: test_137_bulk_data_download_verifies_complete_rosbag TEST_test_137_bulk_data_download_verifies_complete_rosbag
|
Test downloading rosbag and verifying it’s a valid file. This test goes beyond basic download verification to ensure the downloaded content is actually a valid rosbag file. Implementation: |
Test GET /apps/{app_id}/data rejects special characters. Implementation: |
Test GET /areas/{area_id}/components rejects special characters. Implementation: |
Test that valid IDs with underscores are accepted (ROS 2 naming). Implementation: |
Test that IDs with special chars (except underscore/hyphen) are rejected. Implementation: |
Test Case: test_16_snapshot_capture_on_fault_confirmation TEST_test_16_snapshot_capture_on_fault_confirmation
|
Test that snapshot is captured when fault is confirmed. Implementation: |
Test GET /components/{component_id}/data/{topic_name} for temperature topic. Uses synthetic ‘powertrain’ component which aggregates apps in that namespace. Implementation: |
Test GetSnapshots returns error for nonexistent fault. Implementation: |
Test GET /components/{component_id}/data/{topic_name} for RPM topic. Uses synthetic ‘powertrain’ component. Implementation: |
Test GetSnapshots returns error for empty fault code. Implementation: |
Test GET /components/{component_id}/data/{topic_name} for pressure topic. Uses synthetic ‘chassis’ component. Implementation: |
Test GetSnapshots with specific topic filter. Implementation: |
Test GET /components/{component_id}/data/{topic_name} response structure. Uses synthetic ‘powertrain’ component. Implementation: |
Test that pattern-based config is loaded correctly. Implementation: |
Test Case: test_21_component_nonexistent_topic_metadata_only TEST_test_21_component_nonexistent_topic_metadata_only
|
Test nonexistent topic returns 200 with metadata_only status. Test GET /components/{component_id}/data/{topic_name} returns 200 with metadata_only status for nonexistent topics. The gateway returns metadata about the topic even if no data is available. This allows discovery of topic availability without errors. Uses synthetic ‘powertrain’ component. Implementation: |
Test Case: test_22_component_topic_nonexistent_component_error TEST_test_22_component_topic_nonexistent_component_error
|
Test GET endpoint returns 404 for nonexistent component. Implementation: |
Test GET with percent-encoded slashes in topic path. Uses synthetic ‘powertrain’ component. Implementation: |
Test that valid topic names work correctly. Uses synthetic ‘powertrain’ component. Implementation: |
Test PUT /components/{component_id}/data/{topic_name} publishes data. Uses synthetic ‘chassis’ component. Implementation: |
Test PUT /components/{component_id}/data/{topic_name} returns 400 when type missing. Implementation: |
Test PUT /components/{component_id}/data/{topic_name} returns 400 when data missing. Implementation: |
Test Case: test_28_publish_validation_invalid_type_format TEST_test_28_publish_validation_invalid_type_format
|
Test PUT /components/{component_id}/data/{topic_name} returns 400 for invalid type. Implementation: |
Test PUT /components/{component_id}/data/{topic_name} returns 404 for unknown component. Implementation: |
Test PUT /components/{component_id}/data/{topic_name} returns 400 for invalid JSON. Implementation: |
Test POST /apps/{app_id}/operations/{op}/executions calls a service. Operations are exposed on Apps (ROS 2 nodes), not synthetic Components. Implementation: |
Test Case: test_32_operation_call_nonexistent_operation TEST_test_32_operation_call_nonexistent_operation
|
Test operation call returns 404 for unknown operation. POST /apps/{app_id}/operations/{op}/executions Implementation: |
Test operation call returns 404 for unknown entity. POST /apps/{app_id}/operations/{op}/executions Implementation: |
Test operation call rejects invalid entity ID. POST /apps/{app_id}/operations/{op}/executions Implementation: |
Test Case: test_35_operation_call_invalid_operation_name TEST_test_35_operation_call_invalid_operation_name
|
Test operation call rejects invalid operation name. POST /apps/{app_id}/operations/{op}/executions Implementation: |
Test operation call returns 400 for invalid JSON body. POST /apps/{app_id}/operations/{op}/executions Implementation: |
Test Case: test_37_operations_listed_in_app_discovery TEST_test_37_operations_listed_in_app_discovery
|
Test that operations (services) are available via app detail endpoint. Operations are exposed via /apps/{id} detail endpoint or /apps/{id}/operations, not in the list response (to keep listing lightweight). Implementation: |
Test that root endpoint lists operations endpoint and capability. Implementation: |
Test POST /apps/{app_id}/operations/{operation_id}/executions sends action goal. Sends a goal to the long_calibration action and verifies execution_id is returned. Implementation: |
Test GET /apps/{app_id}/operations/{operation_id}/executions/{exec_id} returns status. Implementation: |
Test that execution status is updated to completed after action finishes. The native status subscription updates goal status in real-time. After an action completes, polling the executions endpoint should show ‘completed’. Implementation: |
Test DELETE /apps/{app_id}/operations/{operation_id}/executions/{exec_id} cancels action. Implementation: |
Test that actions are listed in app detail/operations response. Note: The /apps list endpoint returns lightweight items without operations. Operations are available via /apps/{id} detail or /apps/{id}/operations. Implementation: |
Test GET /apps/{app_id}/operations/{operation_id}/executions lists all executions. Returns list of execution IDs for the operation. Implementation: |
Test GET /apps/{app_id}/configurations lists all parameters. Implementation: |
Test GET /apps/{app_id}/configurations/{param_name} gets parameter. Implementation: |
Test PUT /apps/{app_id}/configurations/{param_name} sets parameter. Implementation: |
Test Case: test_48_delete_configuration_resets_to_default TEST_test_48_delete_configuration_resets_to_default
|
Test DELETE /apps/{app_id}/configurations/{param_name} resets to default. The DELETE method resets the parameter to its default value. It first changes the value, then resets it, then verifies the reset. Implementation: |
Test GET /apps/{app_id}/configurations returns 404 for unknown app. Implementation: |
Test Case: test_50_configuration_nonexistent_parameter TEST_test_50_configuration_nonexistent_parameter
|
Test GET configurations/{param_name} returns 404 for unknown param. Implementation: |
Test PUT configurations/{param_name} returns 400 when value missing. Implementation: |
Test Case: test_52_root_endpoint_includes_configurations TEST_test_52_root_endpoint_includes_configurations
|
Test that root endpoint lists configurations endpoints and capability. Implementation: |
Test that root endpoint lists faults endpoints and capability. Implementation: |
Test GET /apps/{app_id}/faults returns valid response structure. In the heuristic discovery model, ROS nodes are Apps. This test uses temp_sensor which is an App (ROS node). Implementation: |
Test GET /components/{component_id}/faults returns 404 for unknown entity. Implementation: |
Test GET /apps/{app_id}/faults/{fault_code} returns 404. Implementation: |
Test that root endpoint lists snapshots endpoints. Implementation: |
Test GET /components returns items with href field. Each entity in a list response MUST have an href field pointing to its detail endpoint. Implementation: |
Test GET /apps returns items with href field. Implementation: |
Test GET /areas returns items with href field. Implementation: |
Test Case: test_73_component_detail_has_capability_uris TEST_test_73_component_detail_has_capability_uris
|
Test GET /components/{id} returns capability URIs at top level. SOVD requires entity details to have flat capability URIs. Implementation: |
Test GET /apps/{id} returns capability URIs at top level. Implementation: |
Test GET /areas/{id}/subareas returns items with href field. Implementation: |
Test GET /components/{id}/subcomponents returns items with href field. Implementation: |
Test GET /areas/{id}/contains returns items with href field. Implementation: |
Test GET /components/{id}/hosts returns items with href field. Implementation: |
Test GET /components/{id}/depends-on returns items with href field. Implementation: |
Test GET /apps/{id}/depends-on returns items with href field. Implementation: |
Test GET /apps/{id}/depends-on returns 404 for unknown app. Implementation: |
Test GET /functions returns items with href field. Implementation: |
Test that root endpoint lists apps endpoints including depends-on. Implementation: |
Test Case: test_83_x_medkit_extension_in_list_responses TEST_test_83_x_medkit_extension_in_list_responses
|
Test that list responses have x-medkit at item and response level. ROS2-specific data should be in x-medkit extension, not at top level. Implementation: |
Test GET /{entity}/operations/{op-id} returns operation details for service. Implementation: |
Test GET /{entity}/operations/{op-id} returns operation details for action. Implementation: |
Test GET /{entity}/operations/{op-id} returns 404 for nonexistent operation. Implementation: |
Test Case: test_87_list_executions_returns_items_array TEST_test_87_list_executions_returns_items_array
|
Test GET /{entity}/operations/{op-id}/executions returns items array. Implementation: |
Test POST /{entity}/operations/{op-id}/executions calls service and returns. Implementation: |
Test DELETE /{entity}/operations/{op-id}/executions/{exec-id} returns 404. Implementation: |
Test DELETE /components/{id}/faults clears all faults for component. Implementation: |
Test DELETE /apps/{id}/faults clears all faults for app. Implementation: |
Test Case: test_92_delete_all_faults_nonexistent_entity TEST_test_92_delete_all_faults_nonexistent_entity
|
Test DELETE /{entity}/faults returns 404 for nonexistent entity. Implementation: |
Test GET /apps/{id}/operations/{op-id} works for apps. Implementation: |
Test DELETE /apps/{id}/faults/{code} clears a specific fault. Uses lidar_sensor which has deterministic faults due to invalid parameters. The LIDAR_RANGE_INVALID fault is triggered because min_range > max_range. Note: The fault may be immediately re-reported by the sensor after deletion, so we only verify the DELETE returns 204 (success) or 404 (not found). Implementation: |
Test PUT /apps/{id}/data/{data-id} publishes data to topic. Uses the brake actuator which subscribes to /chassis/brakes/command. This is a deterministic writable topic for testing data writes. Implementation: |
Test GET /apps/{id}/operations returns operations list. Implementation: |
Test GET /apps/{id}/configurations in manifest-only mode. App is defined in manifest with bound_fqn. Configurations are retrieved from the ROS 2 parameter service on the node. When the node is running, returns 200 with the list of parameters. Implementation: |
Test GET /apps/{id}/data/{data_id} returns sampled topic data. Implementation: |
Test app depends_on creates dependency link. Implementation: |
Test apps linked to running nodes have is_online=true. Implementation: |
Test apps are loaded from manifest. Implementation: |
Test GET /areas/{id}/components returns components in area. Implementation: |
Implementation: |
Test GET /areas/{id}/subareas returns nested areas. Implementation: |
Test subarea relationships from manifest. Implementation: |
Test area descriptions from manifest are preserved. Implementation: |
Test areas are loaded from manifest in hybrid mode. Implementation: |
Test component is associated with correct area. Implementation: |
Test Case: test_component_capabilities_includes_depends_on_link TEST_test_component_capabilities_includes_depends_on_link
|
Test component with dependencies has depends-on in capabilities. Implementation: |
Test GET /components/{id}/depends-on returns empty list for component without deps. Implementation: |
Test GET /components/{id}/depends-on returns 404 for unknown component. Implementation: |
Test GET /components/{id}/depends-on returns dependency references. Implementation: |
Implementation: |
Test GET /components/{id}/subcomponents returns subcomponents. Implementation: |
Test GET /components/{id}/subcomponents returns 404 for unknown component. Implementation: |
Test component type from manifest is preserved. Implementation: |
Test components are loaded from manifest. Implementation: |
Test GET /functions/{id}/hosts returns hosting apps. Implementation: |
Test function hosts are correctly linked. Implementation: |
Test function tags from manifest are preserved. Implementation: |
Test functions are loaded from manifest. Implementation: |
Test GET /apps/{id} returns app with capabilities. Implementation: |
Test GET /areas/{id} returns area with capabilities. Implementation: |
Test GET /components/{id} returns component with capabilities. Implementation: |
Test GET /functions/{id} returns function with capabilities. Implementation: |
Test GET /components/{id}/subcomponents returns subcomponents in hybrid mode. Implementation: |
Test Case: test_hybrid_component_subcomponents_not_found TEST_test_hybrid_component_subcomponents_not_found
|
Test GET /components/{id}/subcomponents returns 404 for unknown component in hybrid mode. Implementation: |
Test GET /apps returns all manifest-defined apps. Implementation: |
Test GET /areas returns all manifest-defined areas. Implementation: |
Implementation: |
Test GET /components returns all manifest-defined components. Implementation: |
Implementation: |
Test GET /functions returns all manifest-defined functions. Implementation: |
Test deeply nested subareas (door -> front-left-door). Implementation: |
Implementation: |
Implementation: |
ID |
Title |
Status |
Verifies |
|---|---|---|---|
test_01_root_endpoint |
verified |
||
test_01b_version_info_endpoint |
verified |
||
test_01c_endpoint_smoke_test |
verified |
||
test_02_list_areas |
verified |
||
test_03_authenticate_valid_credentials |
verified |
||
test_03_list_components |
verified |
||
test_04_automotive_areas_discovery |
verified |
||
test_05_area_components_success |
verified |
||
test_06_area_components_nonexistent_error |
verified |
||
test_06_authenticate_form_urlencoded |
verified |
||
test_07_app_data_powertrain_engine |
verified |
||
test_07_refresh_token |
verified |
||
test_08_app_data_chassis_brakes |
verified |
||
test_09_app_data_body_door |
verified |
||
test_100_get_execution_status |
verified |
||
test_101_update_execution |
verified |
||
test_102_list_configurations |
verified |
||
test_103_get_configuration |
verified |
||
test_104_set_configuration |
verified |
||
test_105_reset_all_configurations |
verified |
||
test_106_reset_single_configuration |
verified |
||
test_109_list_area_data |
verified |
||
test_10_app_data_structure |
verified |
||
test_110_list_area_data_nonexistent |
verified |
||
test_111_list_area_data_root |
verified |
||
test_112_list_area_data_empty |
verified |
||
test_113_list_function_data |
verified |
||
test_114_list_function_data_nonexistent |
verified |
||
test_115_list_function_data_invalid_id |
verified |
||
test_116_component_route_rejects_app_id |
verified |
||
test_117_component_route_rejects_app_id_operations |
verified |
||
test_118_component_route_rejects_app_id_configurations |
verified |
||
test_119_component_route_rejects_app_id_faults |
verified |
||
test_11_app_nonexistent_error |
verified |
||
test_120_app_routes_work_with_app_id |
verified |
||
test_121_bulk_data_list_categories_success |
verified |
||
test_122_bulk_data_list_categories_all_entity_types |
verified |
||
test_123_bulk_data_list_categories_entity_not_found |
verified |
||
test_124_bulk_data_list_descriptors_structure |
verified |
||
test_125_bulk_data_list_descriptors_empty_result |
verified |
||
test_126_bulk_data_unknown_category_returns_404 |
verified |
||
test_127_bulk_data_download_success |
verified |
||
test_128_bulk_data_download_not_found |
verified |
||
test_129_bulk_data_download_wrong_entity_returns_404 |
verified |
||
test_12_app_no_topics |
verified |
||
test_130_bulk_data_nested_entity_path |
verified |
||
test_131_fault_response_structure |
verified |
||
test_132_fault_status_object_structure |
verified |
||
test_133_fault_environment_data_structure |
verified |
||
test_134_fault_snapshot_freeze_frame_structure |
verified |
||
test_135_fault_snapshot_rosbag_has_bulk_data_uri |
verified |
||
test_136_fault_x_medkit_extensions |
verified |
||
test_137_bulk_data_download_verifies_complete_rosbag |
verified |
||
test_13_invalid_app_id_special_chars |
verified |
||
test_14_invalid_area_id_special_chars |
verified |
||
test_15_valid_ids_with_underscores |
verified |
||
test_16_invalid_ids_with_special_chars |
verified |
||
test_16_snapshot_capture_on_fault_confirmation |
verified |
||
test_17_component_topic_temperature |
verified |
||
test_17_get_snapshots_nonexistent_fault |
verified |
||
test_18_component_topic_rpm |
verified |
||
test_18_get_snapshots_empty_fault_code |
verified |
||
test_19_component_topic_pressure |
verified |
||
test_19_snapshot_with_topic_filter |
verified |
||
test_20_component_topic_data_structure |
verified |
||
test_20_snapshot_config_loads_patterns |
verified |
||
test_21_component_nonexistent_topic_metadata_only |
verified |
||
test_22_component_topic_nonexistent_component_error |
verified |
||
test_23_component_topic_with_slashes |
verified |
||
test_24_component_topic_valid_names |
verified |
||
test_25_publish_brake_command |
verified |
||
test_26_publish_validation_missing_type |
verified |
||
test_27_publish_validation_missing_data |
verified |
||
test_28_publish_validation_invalid_type_format |
verified |
||
test_29_publish_nonexistent_component |
verified |
||
test_30_publish_invalid_json_body |
verified |
||
test_31_operation_call_calibrate_service |
verified |
||
test_32_operation_call_nonexistent_operation |
verified |
||
test_33_operation_call_nonexistent_entity |
verified |
||
test_34_operation_call_invalid_entity_id |
verified |
||
test_35_operation_call_invalid_operation_name |
verified |
||
test_36_operation_call_with_invalid_json |
verified |
||
test_37_operations_listed_in_app_discovery |
verified |
||
test_38_root_endpoint_includes_operations |
verified |
||
test_39_action_send_goal_and_get_id |
verified |
||
test_40_action_status_endpoint |
verified |
||
test_41_action_status_after_completion |
verified |
||
test_42_action_cancel_endpoint |
verified |
||
test_43_action_listed_in_app_discovery |
verified |
||
test_44_list_executions_endpoint |
verified |
||
test_45_list_configurations |
verified |
||
test_46_get_configuration |
verified |
||
test_47_set_configuration |
verified |
||
test_48_delete_configuration_resets_to_default |
verified |
||
test_49_configurations_nonexistent_app |
verified |
||
test_50_configuration_nonexistent_parameter |
verified |
||
test_51_set_configuration_missing_value |
verified |
||
test_52_root_endpoint_includes_configurations |
verified |
||
test_55_root_endpoint_includes_faults |
verified |
||
test_56_list_faults_response_structure |
verified |
||
test_57_faults_nonexistent_component |
verified |
||
test_58_get_nonexistent_fault |
verified |
||
test_65_root_endpoint_includes_snapshots |
verified |
||
test_70_components_list_has_href |
verified |
||
test_71_apps_list_has_href |
verified |
||
test_72_areas_list_has_href |
verified |
||
test_73_component_detail_has_capability_uris |
verified |
||
test_74_app_detail_has_capability_uris |
verified |
||
test_75_subareas_list_has_href |
verified |
||
test_76_subcomponents_list_has_href |
verified |
||
test_77b_contains_list_has_href |
verified |
||
test_77c_hosts_list_has_href |
verified |
||
test_78_depends_on_components_has_href |
verified |
||
test_79_depends_on_apps_has_href |
verified |
||
test_80_depends_on_apps_nonexistent |
verified |
||
test_81_functions_list_has_href |
verified |
||
test_82_root_endpoint_has_apps_endpoints |
verified |
||
test_83_x_medkit_extension_in_list_responses |
verified |
||
test_84_get_operation_details_for_service |
verified |
||
test_85_get_operation_details_for_action |
verified |
||
test_86_get_operation_not_found |
verified |
||
test_87_list_executions_returns_items_array |
verified |
||
test_88_create_execution_for_service |
verified |
||
test_89_cancel_nonexistent_execution |
verified |
||
test_90_delete_all_faults_for_component |
verified |
||
test_91_delete_all_faults_for_app |
verified |
||
test_92_delete_all_faults_nonexistent_entity |
verified |
||
test_93_get_operation_details_for_apps |
verified |
||
test_95_delete_single_fault |
verified |
||
test_98_write_data_to_topic |
verified |
||
test_99_list_operations |
verified |
||
test_app_configurations_endpoint |
verified |
||
test_app_data_item_endpoint |
verified |
||
test_app_depends_on_relationship |
verified |
||
test_app_online_with_runtime_node |
verified |
||
test_apps_from_manifest |
verified |
||
test_area_components |
verified |
||
test_area_contains_nonexistent |
verified |
||
test_area_subareas |
verified |
||
test_area_subareas_hierarchy |
verified |
||
test_area_with_description |
verified |
||
test_areas_from_manifest |
verified |
||
test_component_area_relationship |
verified |
||
test_component_capabilities_includes_depends_on_link |
verified |
||
test_component_depends_on_empty |
verified |
||
test_component_depends_on_not_found |
verified |
||
test_component_depends_on_returns_items |
verified |
||
test_component_hosts_nonexistent |
verified |
||
test_component_subcomponents |
verified |
||
test_component_subcomponents_not_found |
verified |
||
test_component_type_preserved |
verified |
||
test_components_from_manifest |
verified |
||
test_function_hosts |
verified |
||
test_function_hosts_relationship |
verified |
||
test_function_with_tags |
verified |
||
test_functions_from_manifest |
verified |
||
test_get_app_details |
verified |
||
test_get_area_details |
verified |
||
test_get_component_details |
verified |
||
test_get_function_details |
verified |
||
test_hybrid_component_subcomponents |
verified |
||
test_hybrid_component_subcomponents_not_found |
verified |
||
test_list_apps |
verified |
||
test_list_areas |
verified |
||
test_list_areas_endpoint |
verified |
||
test_list_components |
verified |
||
test_list_components_endpoint |
verified |
||
test_list_functions |
verified |
||
test_nested_subareas |
verified |
||
test_root_endpoint |
verified |
||
test_version_info_endpoint |
verified |