Newer
Older
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"