Beispiel #1
0
    def test_get_app_fqn(self, *args):
        mock_app = mock.Mock(fully_qualified_name='foo_app_fqn')
        mock_get_app = packages.api.muranoclient().packages.get
        mock_get_app.return_value = mock_app

        app_fqn = packages.get_app_fqn(None, 'foo_app_id')

        self.assertEqual(app_fqn, 'foo_app_fqn')
        mock_get_app.assert_called_once_with('foo_app_id')
Beispiel #2
0
    def test_get_app_fqn(self, *args):
        mock_app = mock.Mock(fully_qualified_name='foo_app_fqn')
        mock_get_app = packages.api.muranoclient().packages.get
        mock_get_app.return_value = mock_app

        app_fqn = packages.get_app_fqn(None, 'foo_app_id')

        self.assertEqual(app_fqn, 'foo_app_fqn')
        mock_get_app.assert_called_once_with('foo_app_id')
Beispiel #3
0
 def __inner(request, **kwargs):
     app_id = kwargs['app_id']
     fqn = pkg_api.get_app_fqn(request, app_id)
     LOG.debug('Clearing forms data for application {0}.'.format(fqn))
     services.get_apps_data(request)[app_id] = {}
     LOG.debug('Clearing any leftover wizard step data.')
     for key in request.session.keys():
         # TODO(tsufiev): unhardcode the prefix for wizard step data
         if key.startswith('wizard_wizard'):
             request.session.pop(key)
     return func(request, **kwargs)
Beispiel #4
0
 def __inner(request, **kwargs):
     app_id = kwargs['app_id']
     fqn = pkg_api.get_app_fqn(request, app_id)
     LOG.debug('Clearing forms data for application {0}.'.format(fqn))
     services.get_apps_data(request)[app_id] = {}
     LOG.debug('Clearing any leftover wizard step data.')
     for key in request.session.keys():
         # TODO(tsufiev): unhardcode the prefix for wizard step data
         if key.startswith('wizard_wizard'):
             request.session.pop(key)
     return func(request, **kwargs)
Beispiel #5
0
def import_app(request, app_id):
    app_data = get_apps_data(request).setdefault(app_id, {})

    ui_desc = pkg_api.get_app_ui(request, app_id)
    fqn = pkg_api.get_app_fqn(request, app_id)
    LOG.debug('Using data {0} for app {1}'.format(app_data, fqn))
    version.check_version(ui_desc.pop('Version', 1))
    service = dict(
        (helpers.decamelize(k), v) for (k, v) in ui_desc.iteritems())

    global _apps  # In-memory caching of dynamic UI forms
    if app_id in _apps:
        LOG.debug('Using in-memory forms for app {0}'.format(fqn))
        app = _apps[app_id]
        app.set_data(app_data)
    else:
        LOG.debug('Creating new forms for app {0}'.format(fqn))
        app = _apps[app_id] = Service(app_data, **service)
    return app
def import_app(request, app_id):
    app_data = get_apps_data(request).setdefault(app_id, {})

    ui_desc = pkg_api.get_app_ui(request, app_id)
    fqn = pkg_api.get_app_fqn(request, app_id)
    LOG.debug('Using data {0} for app {1}'.format(app_data, fqn))
    app_version = ui_desc.pop('Version', version.LATEST_FORMAT_VERSION)
    version.check_version(app_version)
    service = dict(
        (helpers.decamelize(k), v) for (k, v) in six.iteritems(ui_desc))
    parameters = service.pop('parameters', {})
    parameters_source = service.pop('parameters_source', None)
    if parameters_source is not None:
        parts = parameters_source.rsplit('.', 1)
        if 2 >= len(parts) > 0:
            if len(parts) == 2:
                class_name, method_name = parts
            else:
                method_name = parts[0]
                class_name = service.get('application',
                                         {}).get('?', {}).get('type', fqn)

            details = pkg_api.get_package_details(request, app_id)
            pkg_version = getattr(details, 'version', '*')
            request_body = {
                'className': class_name,
                'methodName': method_name,
                'packageName': fqn,
                'classVersion': pkg_version,
                'parameters': {}
            }

            result = api.muranoclient(request).static_actions.call(
                request_body).get_result()
            if result and isinstance(result, dict):
                parameters.update(result)

    return Service(app_data,
                   app_version,
                   fqn,
                   parameters=parameters,
                   **service)
Beispiel #7
0
def import_app(request, app_id):
    app_data = get_apps_data(request).setdefault(app_id, {})

    ui_desc = pkg_api.get_app_ui(request, app_id)
    fqn = pkg_api.get_app_fqn(request, app_id)
    LOG.debug('Using data {0} for app {1}'.format(app_data, fqn))
    app_version = ui_desc.pop('Version', version.LATEST_FORMAT_VERSION)
    version.check_version(app_version)
    service = dict(
        (helpers.decamelize(k), v) for (k, v) in ui_desc.iteritems())

    global _apps  # In-memory caching of dynamic UI forms
    if app_id in _apps:
        LOG.debug('Using in-memory forms for app {0}'.format(fqn))
        app = _apps[app_id]
        app.set_data(app_data)
    else:
        LOG.debug('Creating new forms for app {0}'.format(fqn))
        app = _apps[app_id] = Service(app_data, app_version, **service)
    return app
Beispiel #8
0
def import_app(request, app_id):
    app_data = get_apps_data(request).setdefault(app_id, {})

    ui_desc = pkg_api.get_app_ui(request, app_id)
    fqn = pkg_api.get_app_fqn(request, app_id)
    LOG.debug('Using data {0} for app {1}'.format(app_data, fqn))
    app_version = ui_desc.pop('Version', version.LATEST_FORMAT_VERSION)
    version.check_version(app_version)
    service = dict(
        (helpers.decamelize(k), v) for (k, v) in six.iteritems(ui_desc))
    parameters = service.pop('parameters', {})
    parameters_source = service.pop('parameters_source', None)
    if parameters_source is not None:
        parts = parameters_source.rsplit('.', 1)
        if 2 >= len(parts) > 0:
            if len(parts) == 2:
                class_name, method_name = parts
            else:
                method_name = parts[0]
                class_name = service.get('application', {}).get('?', {}).get(
                    'type', fqn)

            details = pkg_api.get_package_details(request, app_id)
            pkg_version = getattr(details, 'version', '*')
            request_body = {
                'className': class_name,
                'methodName': method_name,
                'packageName': fqn,
                'classVersion': pkg_version,
                'parameters': {}
            }

            result = api.muranoclient(request).static_actions.call(
                request_body).get_result()
            if result and isinstance(result, dict):
                parameters.update(result)

    return Service(app_data, app_version, fqn, parameters=parameters,
                   **service)