import pytest from orchestrator.domain.base import SubscriptionModel from orchestrator.types import SubscriptionLifecycle from test.workflows import assert_complete, extract_state, run_workflow @pytest.mark.parametrize( "subscription_factory", [ "site_subscription_factory", "juniper_router_subscription_factory", "nokia_router_subscription_factory", "iptrunk_subscription_factory", ], ) @pytest.mark.workflow() def test_cancel_workflow_success(subscription_factory, geant_partner, request): subscription_id = request.getfixturevalue(subscription_factory)( status=SubscriptionLifecycle.INITIAL, partner=geant_partner, ) initial_site_data = [{"subscription_id": subscription_id}, {}] result, _, _ = run_workflow("cancel_subscription", initial_site_data) assert_complete(result) state = extract_state(result) subscription_id = state["subscription_id"] subscription = SubscriptionModel.from_subscription(subscription_id) assert subscription.status == "terminated"