From 58d7c2d29b00323585fb7cf48da6c594d34f3032 Mon Sep 17 00:00:00 2001 From: Karel van Klink <karel.vanklink@geant.org> Date: Wed, 27 Dec 2023 14:50:06 +0100 Subject: [PATCH] add unit test for TWAMP deployment workflow --- test/workflows/iptrunk/test_deploy_twamp.py | 38 +++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/workflows/iptrunk/test_deploy_twamp.py diff --git a/test/workflows/iptrunk/test_deploy_twamp.py b/test/workflows/iptrunk/test_deploy_twamp.py new file mode 100644 index 00000000..4644af98 --- /dev/null +++ b/test/workflows/iptrunk/test_deploy_twamp.py @@ -0,0 +1,38 @@ +from unittest.mock import patch + +import pytest + +from gso.products import Iptrunk +from test.workflows import ( + assert_complete, + assert_pp_interaction_success, + extract_state, + run_workflow, +) + + +@pytest.mark.workflow() +@patch("gso.workflows.iptrunk.deploy_twamp.execute_playbook") +def test_iptrunk_deploy_twamp_success( + mock_execute_playbook, + iptrunk_subscription_factory, + faker, +): + # Set up mock return values + product_id = iptrunk_subscription_factory() + + # Run workflow + initial_input_data = [{"subscription_id": product_id}, {}] + result, process_stat, step_log = run_workflow("deploy_twamp", initial_input_data) + + for _ in range(2): + result, step_log = assert_pp_interaction_success(result, process_stat, step_log) + + assert_complete(result) + + state = extract_state(result) + subscription_id = state["subscription_id"] + subscription = Iptrunk.from_subscription(subscription_id) + + assert subscription.status == "active" + assert mock_execute_playbook.call_count == 2 -- GitLab