def diagnose_app(request, app_id): """Return diagnostics for a particular app.""" try: app = App.get(app_id) except KeyError: raise Http404('App does not exist') return TemplateResponse(request, 'diagnostics_app.html', { 'title': _('Diagnostic Test'), 'app_id': app_id, 'results': app.diagnose() })
def set_domains(primary_domain=None): """Set the primary domain and all the domains for postfix.""" all_domains = DomainName.list_names() if not primary_domain: primary_domain = get_domains()['primary_domain'] if primary_domain not in all_domains: primary_domain = config.get_domainname() or list(all_domains)[0] # Update configuration and don't restart daemons superuser_run( 'email', ['domain', 'set_domains', primary_domain, ','.join(all_domains)]) superuser_run('email', ['dkim', 'setup_dkim', primary_domain]) # Copy certificates (self-signed if needed) and restart daemons app = App.get('email') app.get_component('letsencrypt-email-postfix').setup_certificates() app.get_component('letsencrypt-email-dovecot').setup_certificates()
def diagnose_app(request, app_id): """Return diagnostics for a particular app.""" try: app = App.get(app_id) except KeyError: raise Http404('App does not exist') app_name = app.info.name or app_id diagnosis = None diagnosis_exception = None try: diagnosis = app.diagnose() except Exception as exception: logger.exception('Error running %s diagnostics - %s', app_id, exception) diagnosis_exception = str(exception) return TemplateResponse( request, 'diagnostics_app.html', { 'title': _('Diagnostic Test'), 'app_name': app_name, 'results': diagnosis, 'exception': diagnosis_exception, })
def test_app_get(): """Test that an app can be correctly retrieved.""" app = AppTest() assert App.get(app.app_id) == app