Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions config/default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ blue_sky_air_traffic_simulator_settings:
single_or_multiple_sensors: "multiple" # this setting specifiies if the traffic data is submitted from a single sensor or multiple sensors
sensor_ids: ["562e6297036a4adebb4848afcd1ede90"] # List of sensor IDs to use when 'multiple' is selected

# AMQP/RabbitMQ configuration for event monitoring
# Set AMQP_URL environment variable or configure here
amqp:
url: "" # e.g., amqp://guest:guest@localhost:5672/ (can also use AMQP_URL env var)
exchange_name: "operational_events"
exchange_type: "direct"
routing_key: "#" # Flight declaration ID or '#' for all messages
queue_name: "" # Empty means auto-generate exclusive queue

data_files:
trajectory: "config/bern/trajectory_f1.json" # Path to flight declarations JSON file
simulation: "config/bern/blue_sky_sim_example.scn" # Path to air traffic simulation scenario file, used for BlueSky enabled simulations only.
Expand Down
24 changes: 8 additions & 16 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -66,36 +66,28 @@ dev = [
"types-pyyaml",
"types-redis",
"types-requests",
"pytest-cov>=7.0.0",
]

[build-system]
requires = [
"hatchling",
]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = [
"src/openutm_verification",
]
packages = ["src/openutm_verification"]
# (artifacts configuration removed; docs are included via force-include)

[tool.hatch.build.targets.wheel.force-include]
"docs/scenarios" = "openutm_verification/docs/scenarios"

[tool.pytest.ini_options]
pythonpath = [
".",
"src/openutm_verification",
]
testpaths = [
"tests",
]
pythonpath = [".", "src/openutm_verification"]
testpaths = ["tests"]
markers = ["asyncio: mark test as asyncio"]


[tool.coverage.run]
source = [
"src/openutm_verification",
]
source = ["src/openutm_verification"]


[tool.pylint."messages control"]
Expand Down
4 changes: 0 additions & 4 deletions pytest.ini

This file was deleted.

16 changes: 9 additions & 7 deletions scenarios/F1_happy_path.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
name: F1_happy_path
description: >
This scenario verifies the nominal flow (Happy Path) for a flight operation.
It walks through the lifecycle of a flight from declaration to activation,
submission of telemetry, and finally ending the operation.
description: 'This scenario verifies the nominal flow (Happy Path) for a flight operation.
It walks through the lifecycle of a flight from declaration to activation, submission
of telemetry, and finally ending the operation.

'
steps:
- step: Cleanup Flight Declarations
- step: Setup Flight Declaration
description: Creates a fresh flight declaration in the DSS.
- step: Update Operation State
description: Activates the flight operation, transitioning it to the active state.
arguments:
state: ACTIVATED
description: Activates the flight operation, transitioning it to the active state.
- step: Submit Telemetry
description: Simulates the broadcast of telemetry data for 30 seconds.
arguments:
duration: 30
description: Simulates the broadcast of telemetry data for 30 seconds.
- id: update_state_ended
step: Update Operation State
description: Marks the operation as ended after the flight is complete.
arguments:
state: ENDED
description: Marks the operation as ended after the flight is complete.
- step: Teardown Flight Declaration
description: Cleans up the flight declaration and any associated resources.
15 changes: 15 additions & 0 deletions src/openutm_verification/core/clients/amqp/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""AMQP client module for RabbitMQ queue monitoring."""

from openutm_verification.core.clients.amqp.amqp_client import (
AMQPClient,
AMQPMessage,
AMQPSettings,
create_amqp_settings,
)

__all__ = [
"AMQPClient",
"AMQPMessage",
"AMQPSettings",
"create_amqp_settings",
]
Loading