def test_check_updates_required_with_bad_upload(self): """Testing check_updates_required with a bad upload directory""" settings.MEDIA_ROOT = "/" checks.reset_check_cache() with self.siteconfig_settings({'site_media_root': '/'}, reload_settings=False): updates_required = checks.check_updates_required() self.assertEqual(len(updates_required), 2) url, data = updates_required[0] self.assertEqual(url, 'admin/manual-updates/media-upload-dir.html') response = self.client.get('/dashboard/') self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, 'admin/manual_updates_required.html') settings.MEDIA_ROOT = self.old_media_root # Make sure that the site works again once the media root is fixed. with self.siteconfig_settings({'site_media_root': self.old_media_root}, reload_settings=False): response = self.client.get('/dashboard/') self.assertTemplateNotUsed(response, 'admin/manual_updates_required.html')
def testManualUpdatesRequiredBadUpload(self): """Testing check_updates_required with a bad upload directory""" siteconfig = SiteConfiguration.objects.get_current() siteconfig.set('site_media_root', '/') siteconfig.save() settings.MEDIA_ROOT = "/" checks.reset_check_cache() updates_required = checks.check_updates_required() self.assertEqual(len(updates_required), 2) url, data = updates_required[0] self.assertEqual(url, "admin/manual-updates/media-upload-dir.html") response = self.client.get("/dashboard/") self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, "admin/manual_updates_required.html") settings.MEDIA_ROOT = self.old_media_root siteconfig = SiteConfiguration.objects.get_current() siteconfig.set('site_media_root', self.old_media_root) siteconfig.save() # Make sure that the site works again once the media root is fixed. response = self.client.get("/dashboard/") self.assertTemplateNotUsed(response, "admin/manual_updates_required.html")
def testManualUpdatesRequiredBadUpload(self): """Testing check_updates_required with a bad upload directory""" siteconfig = SiteConfiguration.objects.get_current() siteconfig.set('site_media_root', '/') siteconfig.save() settings.MEDIA_ROOT = "/" checks.reset_check_cache() updates_required = checks.check_updates_required() self.assertEqual(len(updates_required), 1) url, data = updates_required[0] self.assertEqual(url, "admin/manual-updates/media-upload-dir.html") response = self.client.get("/dashboard/") self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, "admin/manual_updates_required.html") settings.MEDIA_ROOT = self.old_media_root siteconfig = SiteConfiguration.objects.get_current() siteconfig.set('site_media_root', self.old_media_root) siteconfig.save() # Make sure that the site works again once the media root is fixed. response = self.client.get("/dashboard/") self.assertTemplateNotUsed(response, "admin/manual_updates_required.html")
def testManualUpdatesRequired(self): """Testing check_updates_required with valid configuration""" # NOTE: This is assuming the install is fine. It should be given # that we set things like the uploaded path correctly to # a known good directory before starting unit tests. updates_required = checks.check_updates_required() self.assertEqual(len(updates_required), 0)
def process_request(self, request): """ Checks whether updates are required and returns the appropriate response if they are. """ path_info = request.META['PATH_INFO'] if (check_updates_required() and not path_info.startswith(settings.MEDIA_URL)): return manual_updates_required(request) # Let another handler handle this. return None
def manual_updates_required(request, template_name="admin/manual_updates_required.html"): """ Checks for required manual updates and displays informational pages on performing the necessary updates. """ updates = check_updates_required() return render_to_response(template_name, RequestContext(request, { 'updates': [render_to_string(template_name, RequestContext(request, extra_context)) for (template_name, extra_context) in updates], }))
def process_view(self, request, view_func, view_args, view_kwargs): """ Checks whether updates are required and returns the appropriate response if they are. """ path_info = request.META['PATH_INFO'] updates_required = check_updates_required() if updates_required and not path_info.startswith(self.ALLOWED_PATHS): return manual_updates_required(request, updates_required) # Let another handler handle this. return None
def process_view(self, request, view_func, view_args, view_kwargs): """Check whether updates are required. This returns the appropriate response if any updates are required, otherwise it allows the normal code to run. """ path_info = request.META['PATH_INFO'] updates_required = check_updates_required() if updates_required and not path_info.startswith(self.ALLOWED_PATHS): return manual_updates_required(request, updates_required) # Let another handler handle this. return None
def testManualUpdatesRequiredBadUpload(self): """Testing check_updates_required with a bad upload directory""" old_media_root = settings.MEDIA_ROOT settings.MEDIA_ROOT = "/" checks.reset_check_cache() updates_required = checks.check_updates_required() settings.MEDIA_ROOT = old_media_root self.assertEqual(len(updates_required), 1) url, data = updates_required[0] self.assertEqual(url, "admin/manual-updates/media-upload-dir.html") response = self.client.get("/") self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, "admin/manual_updates_required.html")
def testManualUpdatesRequiredBadMediaDirs(self): """Testing check_updates_required with bad media directories""" old_media_root = settings.MEDIA_ROOT settings.MEDIA_ROOT = "/" checks.reset_check_cache() updates_required = checks.check_updates_required() settings.MEDIA_ROOT = old_media_root # Should complain about ext and upload directories. self.assertEqual(len(updates_required), 2) url, data = updates_required[0] self.assertEqual(url, "admin/manual-updates/media-upload-dir.html") url, data = updates_required[1] self.assertEqual(url, "admin/manual-updates/ext-dir.html") response = self.client.get("/") self.assertEqual(response.status_code, 200) self.assertTemplateUsed(response, "admin/manual_updates_required.html")
def middleware(request): """Check whether updates are required. This returns the appropriate response if any updates are required, otherwise it allows the normal code to run. Args: request (django.http.HttpRequest): The HTTP request from the client. Returns: django.http.HttpResponse: The response object. """ path_info = request.META['PATH_INFO'] updates_required = check_updates_required() if updates_required and not path_info.startswith(ALLOWED_PATHS): return manual_updates_required(request, updates_required) return get_response(request)