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()
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()
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)
def service_templates(self, request, rest_api_modscope, dialog): return _service_templates(request, rest_api_modscope, dialog)
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)
def service_templates(request, appliance): response = _service_templates(request, appliance.rest_api) assert appliance.rest_api.response return response
def service_templates(request, appliance): response = _service_templates(request, appliance.rest_api) assert appliance.rest_api.response.status_code == 200 return response
def service_templates(request, rest_api, dialog): response = _service_templates(request, rest_api, dialog) assert rest_api.response.status_code == 200 return response