def test_retire_stack(appliance, provider, provisioning, catalog, catalog_item,
                      request, stack_data):
    """Tests stack provisioning

    Metadata:
        test_flag: provision
    """
    catalog_item, template = catalog_item

    @request.addfinalizer
    def _cleanup_vms():
        clean_up(stack_data, provider)

    DefaultView.set_default_view("Stacks", "Grid View")

    service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog,
                                       catalog_item.name, stack_data)
    service_catalogs.order()
    logger.info('Waiting for cfme provision request for service {}'.format(
        catalog_item.name))
    request_description = catalog_item.name
    provision_request = appliance.collections.requests.instantiate(
        request_description, partial_check=True)
    provision_request.wait_for_request()
    assert provision_request.is_succeeded()
    stack = StackCollection(appliance).instantiate(stack_data['stack_name'],
                                                   provider=provider)
    stack.wait_for_exists()
    stack.retire_stack()
def test_retire_stack(appliance, provider, provisioning, catalog, catalog_item, request):
    """Tests stack provisioning

    Metadata:
        test_flag: provision
    """
    catalog_item, template = catalog_item
    DefaultView.set_default_view("Stacks", "Grid View")

    stack_data = prepare_stack_data(provider, provisioning)
    service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog,
                                       catalog_item.name, stack_data)
    service_catalogs.order()
    logger.info('Waiting for cfme provision request for service {}'.format(catalog_item.name))
    request_description = catalog_item.name
    provision_request = appliance.collections.requests.instantiate(request_description,
                                                                   partial_check=True)
    provision_request.wait_for_request()
    assert provision_request.is_succeeded()
    stack = StackCollection(appliance).instantiate(stack_data['stack_name'], provider=provider)
    stack.wait_for_exists()
    stack.retire_stack()

    @request.addfinalizer
    def _cleanup_vms():
        clean_up(stack_data, provider)
def test_delete_stack_appear_after_refresh(setup_provider, provider,
                                           provisioning, request, appliance):
    """ Tests delete stack

    Metadata:
        test_flag: delete_object
    """

    stack = StackCollection(appliance).instantiate(
        name=provisioning['stacks'][0], provider=provider)
    # wait for delete implemented in delete()
    stack.delete()
    # refresh relationships is implemented in wait_for_exists()
    try:
        stack.wait_for_exists()
    except TimedOutError:
        pytest.fail("stack didn't appear after refresh")
    request.addfinalizer(reset)
def test_delete_stack_appear_after_refresh(setup_provider, provider, provisioning, request,
                                           appliance):
    """ Tests delete stack

    Metadata:
        test_flag: delete_object
    """

    stack = StackCollection(appliance).instantiate(name=provisioning['stacks'][0],
                                                   provider=provider)
    # wait for delete implemented in delete()
    stack.delete()
    # refresh relationships is implemented in wait_for_exists()
    try:
        stack.wait_for_exists()
    except TimedOutError:
        pytest.fail("stack didn't appear after refresh")
    request.addfinalizer(reset)