def generic_catalog_item(request, appliance, dialog, catalog):
    cat = _service_templates(
        request, appliance, service_dialog=dialog, service_catalog=catalog, num=1
    )[0]

    yield appliance.collections.catalog_items.instantiate(
        appliance.collections.catalog_items.GENERIC,
        name=cat.name,
        description=cat.description,
        display_in=True,
        catalog=catalog,
        dialog=dialog,
    )

    if cat.exists:
        cat.action.delete()
Ejemplo n.º 2
0
def generic_catalog_item(request, appliance, dialog_modscope, catalog_modscope):
    cat = _service_templates(
        request, appliance, service_dialog=dialog_modscope, service_catalog=catalog_modscope, num=1
    )[0]

    yield appliance.collections.catalog_items.instantiate(
        appliance.collections.catalog_items.GENERIC,
        name=cat.name,
        description=cat.description,
        display_in=True,
        catalog=catalog_modscope,
        dialog=dialog_modscope,
    )

    if cat.exists:
        cat.action.delete()
Ejemplo n.º 3
0
def generic_catalog_item_with_imported_dialog(request, appliance, import_dialog, catalog):
    sd, ele_label = import_dialog
    cat = _service_templates(
        request, appliance, service_dialog=sd, service_catalog=catalog, num=1
    )[0]

    catalog_item = appliance.collections.catalog_items.instantiate(
        appliance.collections.catalog_items.GENERIC,
        name=cat.name,
        description=cat.description,
        display_in=True,
        catalog=catalog,
        dialog=sd,
    )
    yield catalog_item, sd, ele_label
    if cat.exists:
        cat.action.delete()
    def test_user_item_order(self, appliance, request, user_api):
        """Tests ordering a catalog item using the REST API as a non-admin user.

        Metadata:
            test_flag: rest
        """
        new_template = _service_templates(request, appliance.rest_api, num=1)
        new_template = new_template[0]
        catalog_id = new_template.service_template_catalog_id
        template_id = new_template.id

        catalog = user_api.get_entity('service_catalogs', catalog_id)
        templates_collection = catalog.service_templates
        template_href = '{}/service_templates/{}'.format(
            catalog.href, template_id)

        # The "order" action doesn't return resource in the "service_requests" collection
        # using workaround with `response.json()`
        templates_collection.action.order(href=template_href)
        assert user_api.response
        result = user_api.response.json()
        result = result['results'][0]

        service_request = appliance.rest_api.get_entity(
            'service_requests', result['id'])

        def _order_finished():
            service_request.reload()
            return (service_request.status.lower() == 'ok'
                    and service_request.request_state.lower() == 'finished')

        wait_for(_order_finished, num_sec=180, delay=10)

        service_name = re.search(r'\[({}[0-9-]*)\] '.format(new_template.name),
                                 service_request.message).group(1)
        # this fails if the service with the `service_name` doesn't exist
        new_service = appliance.rest_api.collections.services.get(
            name=service_name)
        request.addfinalizer(new_service.action.delete)
Ejemplo n.º 5
0
 def service_templates(self, request, rest_api_modscope, dialog):
     return _service_templates(request, rest_api_modscope, dialog)
Ejemplo n.º 6
0
 def service_templates(self, request, appliance):
     return _service_templates(request, appliance)
def service_templates(request, rest_api, dialog):
    return _service_templates(request, rest_api, dialog)
Ejemplo n.º 8
0
 def service_templates(self, request, appliance):
     return _service_templates(request, appliance)
Ejemplo n.º 9
0
def service_templates(request, appliance):
    response = _service_templates(request, appliance.rest_api)
    assert appliance.rest_api.response
    return response
Ejemplo n.º 10
0
def service_templates(request, appliance):
    response = _service_templates(request, appliance.rest_api)
    assert appliance.rest_api.response
    return response
Ejemplo n.º 11
0
 def service_templates(self, request, rest_api_modscope, dialog):
     return _service_templates(request, rest_api_modscope, dialog)
def service_templates(request, appliance):
    response = _service_templates(request, appliance.rest_api)
    assert appliance.rest_api.response.status_code == 200
    return response
Ejemplo n.º 13
0
def service_templates(request, rest_api, dialog):
    response = _service_templates(request, rest_api, dialog)
    assert rest_api.response.status_code == 200
    return response