def _get_requirements(self): forms = services.get_app_forms(self.request, {'app_id': self.app.id}) self.app.requirements = [] for step_name, step in forms: for key in step.base_fields: # Check for instance size requirements in the UI yaml file. if key == 'flavor': reqs = getattr(step.base_fields[key], 'requirements', '') if reqs: # Make the requirement values screen-printable. self.app.requirements.append('Instance flavor:') requirements = [] for req in reqs: if req == 'min_disk': requirements.append( 'Minimum disk size: {0}GB'.format( str(reqs[req]))) elif req == 'min_vcpus': requirements.append( 'Minimum vCPUs: {0}'.format( str(reqs[req]))) elif req == 'min_memory_mb': requirements.append( 'Minimum RAM size: {0}MB'.format( str(reqs[req]))) self.app.requirements.append(requirements)
def _get_license(self): forms = services.get_app_forms(self.request, {'app_id': self.app.id}) self.app.license = '' for step_name, step in forms: for key in step.base_fields.keys(): # Check for a license in the UI yaml file. if key == 'license': self.app.license = step.base_fields[key].description
def test_get_app_forms(self, mock_pkg_api): mock_pkg_api.get_app_ui.return_value = {'Application': {}} kwargs = {'app_id': '123'} result = services.get_app_forms(self.request, kwargs) self.assertIsNotNone(result) result = next(iter(result)) self.assertEqual('Step 1', result[0]) self.assertEqual(service_forms.DynamicFormMetaclass, type(result[1]))