Skip to content
GitHub Actions / Functional tests report in Python 3.11 failed Mar 7, 2025 in 0s

6 passed, 1 failed and 0 skipped

Tests failed

Report Passed Failed Skipped Time
edge_orchestrator/reports/behave/TESTS-supervisor_configs_routes.xml 3✅ 67ms
edge_orchestrator/reports/behave/TESTS-supervisor_items_routes.xml 3✅ 925ms
edge_orchestrator/reports/behave/TESTS-supervisor_trigger_route.xml 1❌ 365ms

✅ edge_orchestrator/reports/behave/TESTS-supervisor_configs_routes.xml

3 tests were completed in 67ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
supervisor_configs_routes.The client set an active configuration 3✅ 67ms

✅ supervisor_configs_routes.The client set an active configuration

✅ The client request the active configuration which is unset
✅ The client request all available configurations
✅ The client set a configuration as active

✅ edge_orchestrator/reports/behave/TESTS-supervisor_items_routes.xml

3 tests were completed in 925ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
supervisor_items_routes.The client request metadata and binaries 3✅ 925ms

✅ supervisor_items_routes.The client request metadata and binaries

✅ The Client reads all items metadata
✅ The Client reads one specific item metadata
✅ The Client reads one specific item picture

❌ edge_orchestrator/reports/behave/TESTS-supervisor_trigger_route.xml

1 tests were completed in 365ms with 0 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
supervisor_trigger_route.The client trigger a visual inspection and request the resulting metadata and binaries 1❌ 365ms

❌ supervisor_trigger_route.The client trigger a visual inspection and request the resulting metadata and binaries

❌ The Client trigger a visual inspection
	Failing step: Then item metadata are like the following ... failed in 0.005s

Annotations

Check failure on line 0 in edge_orchestrator/reports/behave/TESTS-supervisor_trigger_route.xml

See this annotation in the file changed.

@github-actions github-actions / Functional tests report in Python 3.11

supervisor_trigger_route.The client trigger a visual inspection and request the resulting metadata and binaries ► The Client trigger a visual inspection

Failed test found in:
  edge_orchestrator/reports/behave/TESTS-supervisor_trigger_route.xml
Error:
  Failing step: Then item metadata are like the following ... failed in 0.005s
Raw output

Failing step: Then item metadata are like the following ... failed in 0.005s
  """
  {
  "id": "[a-z0-9-_]{36}",
  "creation_date": "2025-02-10T14:02:28.097549",
  "cameras_metadata": {
  "camera_1": {
  "camera_id": "camera_1",
  "camera_type": "fake",
  "source_directory": "fake_images",
  "position": "front",
  "model_forwarder_config": {
  "model_name": "pin_detection",
  "model_type": "classification",
  "expected_image_resolution": {
  "width": 224,
  "height": 224
  },
  "model_version": "1",
  "class_names": [
  "OK",
  "KO"
  ],
  "model_serving_url": "http://0.0.0.0:8501/",
  "model_id": "pin_detection_classification_1"
  },
  "camera_rule_config": {
  "camera_rule_type": "expected_label_rule",
  "expected_class": "OK"
  }
  },
  "camera_2": {
  "camera_id": "camera_2",
  "camera_type": "fake",
  "source_directory": "fake_images",
  "position": "front",
  "model_forwarder_config": {
  "model_name": "mobilenet_ssd_v2_coco",
  "model_type": "object_detection",
  "expected_image_resolution": {
  "width": 300,
  "height": 300
  },
  "model_version": "1",
  "class_names": [],
  "class_names_filepath": "model_labels/imagenet_labels.txt",
  "model_serving_url": "http://0.0.0.0:8501/",
  "model_id": "mobilenet_ssd_v2_coco_object_detection_1"
  },
  "camera_rule_config": {
  "camera_rule_type": "min_nb_objects_rule",
  "class_to_detect": "OK",
  "threshold": 1
  }
  }
  },
  "binaries": {
  "camera_1": {
  "creation_date": "2025-02-10T14:02:28.106651",
  "storing_path": "/tmp/tmpza91f2gn/data_storage/cb5e2fac-4a6f-49f2-bd82-2bb951ea5b19/camera_1.jpg"
  },
  "camera_2": {
  "creation_date": "2025-02-10T14:02:28.107943",
  "storing_path": "/tmp/tmpza91f2gn/data_storage/cb5e2fac-4a6f-49f2-bd82-2bb951ea5b19/camera_2.jpg"
  }
  },
  "predictions": {
  "camera_1": {
  "prediction_type": "class",
  "label": "KO",
  "probability": 0.94642
  },
  "camera_2": {
  "prediction_type": "objects",
  "detected_objects": {
  "object_1": {
  "location": [
  0.36,
  0.6234,
  0.6545,
  0.817
  ],
  "objectness": 0.58203,
  "label": "motorcycle"
  },
  "...": {}
  }
  }
  },
  "camera_decisions": {
  "camera_1": "KO",
  "camera_2": "KO"
  },
  "decision": "KO",
  "state": "DONE"
  }
  """
Location: tests/functional_tests/supervisor_trigger_route.feature:11
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/behave/model.py", line 1812, in run
    match.run(runner.context)
  File "/opt/hostedtoolcache/Python/3.11.11/x64/lib/python3.11/site-packages/behave/matchers.py", line 97, in run
    self.func(context, *args, **kwargs)
  File "tests/functional_tests/steps/supervisor_trigger_route.py", line 60, in item_metadata_like_following_are_captured
    assert_metadata_almost_equal(actual_item_metadata, expected_item_metadata)
  File "/home/runner/work/VIO/VIO/edge_orchestrator/tests/functional_tests/steps/common_steps.py", line 36, in assert_metadata_almost_equal
    assert expected_item_value_or_pattern == actual_item_metadata[expected_item_key]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

Captured logging:
INFO:httpx:HTTP Request: GET http://testserver/api/v1 "HTTP/1.1 307 Temporary Redirect"
INFO:httpx:HTTP Request: GET http://testserver/api/v1/ "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://testserver/api/v1/configs/active?station_name=config_3 "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: GET http://testserver/api/v1/configs/active "HTTP/1.1 200 OK"
INFO:edge_orchestrator.application.use_cases.supervisor:Resetting all managers after configuration update...
INFO:edge_orchestrator.application.use_cases.supervisor:Managers reset done!
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Creating camera camera_1
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Camera camera_1 created!
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Creating camera camera_2
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Camera camera_2 created!
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Taking pictures...
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Image captured from camera camera_1!
INFO:edge_orchestrator.infrastructure.adapters.camera.camera_manager:Image captured from camera camera_2!
INFO:edge_orchestrator.infrastructure.adapters.binary_storage.filesystem_binary_storage:Saving item binaries for item 82ff51f2-7264-41a0-8afb-5b77c6453004
INFO:edge_orchestrator.infrastructure.adapters.binary_storage.filesystem_binary_storage:Image for camera camera_1 saved as /tmp/tmp0xw50g9f/data_storage/82ff51f2-7264-41a0-8afb-5b77c6453004_camera_1.jpg
INFO:edge_orchestrator.infrastructure.adapters.binary_storage.filesystem_binary_storage:Image for camera camera_2 saved as /tmp/tmp0xw50g9f/data_storage/82ff51f2-7264-41a0-8afb-5b77c6453004_camera_2.jpg
INFO:edge_orchestrator.infrastructure.adapters.binary_storage.filesystem_binary_storage:Item binaries saved for item 82ff51f2-7264-41a0-8afb-5b77c6453004!
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.model_forwarder_manager:Predicting on pictures...
WARNING:edge_orchestrator.infrastructure.adapters.model_forwarder.model_forwarder_manager:No model forwarder available to predict on item pictures! May take some extra time to instantiate.
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.model_forwarder_manager:Creating model forwarder for model_id: pin_detection_classification_1
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.classif_model_forwarder:Preprocessing binary
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.classif_model_forwarder:Getting prediction from: http://localhost:8502/v1/models/pin_detection/versions/1:predict
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.classif_model_forwarder:Post processing prediction
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.model_forwarder_manager:Prediction for camera camera_1 done!
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.model_forwarder_manager:Creating model forwarder for model_id: mobilenet_ssd_v2_coco_object_detection_1
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.object_detection_model_forwarder:Preprocessing binary
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.object_detection_model_forwarder:Getting prediction from: http://localhost:8502/v1/models/mobilenet_ssd_v2_coco/versions/1:predict
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.object_detection_model_forwarder:Post processing prediction
INFO:edge_orchestrator.infrastructure.adapters.model_forwarder.model_forwarder_manager:Prediction for camera camera_2 done!
INFO:edge_orchestrator.infrastructure.adapters.camera_rule.camera_rule_manager:Applying rule on each picture...
INFO:edge_orchestrator.infrastructure.adapters.camera_rule.camera_rule_manager:Camera rule applied for camera camera_1!
INFO:edge_orchestrator.infrastructure.adapters.camera_rule.camera_rule_manager:Camera rule applied for camera camera_2!
INFO:edge_orchestrator.infrastructure.adapters.item_rule.min_threshold_ratio_rule:Applying rule on item...
INFO:edge_orchestrator.infrastructure.adapters.item_rule.min_threshold_ratio_rule:Item rule applied for item 82ff51f2-7264-41a0-8afb-5b77c6453004!
INFO:edge_orchestrator.infrastructure.adapters.metadata_storage.filesystem_metadata_storage:Saving item metadata for item 82ff51f2-7264-41a0-8afb-5b77c6453004
INFO:edge_orchestrator.infrastructure.adapters.metadata_storage.filesystem_metadata_storage:Item metadata for item 82ff51f2-7264-41a0-8afb-5b77c6453004 saved as /tmp/tmp0xw50g9f/data_storage/82ff51f2-7264-41a0-8afb-5b77c6453004.json
INFO:httpx:HTTP Request: POST http://testserver/api/v1/trigger "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: GET http://testserver/api/v1/items/82ff51f2-7264-41a0-8afb-5b77c6453004 "HTTP/1.1 200 OK"