def test_404_response(self): command = runserver.Command() handler = command.get_handler(use_static_handler=True, insecure_serving=True) missing_static_file = os.path.join(settings.STATIC_URL, 'unknown.css') req = RequestFactory().get(missing_static_file) with override_settings(DEBUG=False): response = handler.get_response(req) self.assertEqual(response.status_code, 404) with override_settings(DEBUG=True): response = handler.get_response(req) self.assertEqual(response.status_code, 404)
def server(bind='127.0.0.1', port=8000, migrate_cmd=False): if os.environ.get("RUN_MAIN") != "true": from cms.utils.compat.dj import get_user_model if DJANGO_1_6: from south.management.commands import syncdb, migrate if migrate_cmd: syncdb.Command().handle_noargs(interactive=False, verbosity=1, database='default') migrate.Command().handle(interactive=False, verbosity=1) else: syncdb.Command().handle_noargs(interactive=False, verbosity=1, database='default', migrate=False, migrate_all=True) migrate.Command().handle(interactive=False, verbosity=1, fake=True) else: call_command("migrate", database='default') User = get_user_model() if not User.objects.filter(is_superuser=True).exists(): usr = User() if (User.USERNAME_FIELD != 'email'): setattr(usr, User.USERNAME_FIELD, 'admin') usr.email = '*****@*****.**' usr.set_password('admin') usr.is_superuser = True usr.is_staff = True usr.is_active = True usr.save() print('') print( "A admin user (username: admin, password: admin) has been created." ) print('') from django.contrib.staticfiles.management.commands import runserver rs = runserver.Command() rs.stdout = sys.stdout rs.stderr = sys.stderr rs.use_ipv6 = False rs._raw_ipv6 = False rs.addr = bind rs.port = port autoreload.main( rs.inner_run, (), { 'addrport': '%s:%s' % (bind, port), 'insecure_serving': True, 'use_threading': True })
def main(): parser = argparse.ArgumentParser() parser.add_argument('-p', '--port', default='9000') parser.add_argument('-b', '--bind', default='127.0.0.1') args = parser.parse_args() new_db = not os.path.exists('development.sqlite') with temp_dir() as STATIC_ROOT: with temp_dir() as MEDIA_ROOT: configure(ROOT_URLCONF='poser.test_utils.project.urls', STATIC_ROOT=STATIC_ROOT, MEDIA_ROOT=MEDIA_ROOT, DATABASES={ 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'development.sqlite', } }) from django.core.management import call_command call_command('syncdb', interactive=False, migrate_all=new_db) call_command('migrate', interactive=False, fake=new_db) from django.contrib.auth.models import User if not User.objects.filter(is_superuser=True).exists(): usr = User() usr.username = '******' usr.email = '*****@*****.**' usr.set_password('admin') usr.is_superuser = True usr.is_staff = True usr.is_active = True usr.save() print print "A admin user (username: admin, password: admin) has been created." print from poser.models import Page if not Page.objects.filter(slug='test').exists(): testpage = Page(title='test', created_by=usr, published=True) testpage.save() else: page = Page.objects.get(slug='test') page.publish() from django.contrib.staticfiles.management.commands import runserver rs = runserver.Command() rs.stdout = sys.stdout rs.stderr = sys.stderr rs.use_ipv6 = False rs._raw_ipv6 = False rs.addr = args.bind rs.port = args.port rs.inner_run(addrport='%s:%s' % (args.bind, args.port), insecure_serving=True)
def handle_preview(self, read_results): if 'django.contrib.staticfiles' in settings.INSTALLED_APPS: from django.contrib.staticfiles.management.commands import runserver else: from django.core.management.commands import runserver def filename_len(res): return len(res.filename) sorted_views = sorted((read_result for read_result in read_results), key=filename_len) fake_views = chain.from_iterable(read_result.as_urls() for read_result in sorted_views) urlconf = FakeURLConf(urlpatterns=tuple(fake_views)) with override_settings(ROOT_URLCONF=urlconf): return runserver.Command().handle(use_reloader=False)
def main(): parser = argparse.ArgumentParser() parser.add_argument('-p', '--port', default='8000') parser.add_argument('-b', '--bind', default='127.0.0.1') args = parser.parse_args() new_db = not os.path.exists('cmstestdb.sqlite') with temp_dir() as STATIC_ROOT: with temp_dir() as MEDIA_ROOT: configure( "sqlite://localhost/cmstestdb.sqlite", ROOT_URLCONF='cms.test_utils.project.urls', STATIC_ROOT=STATIC_ROOT, MEDIA_ROOT=MEDIA_ROOT, ) if os.environ.get("RUN_MAIN") != "true": from django.core.management import call_command call_command('syncdb', interactive=False, migrate_all=new_db) call_command('migrate', interactive=False, fake=new_db) from django.contrib.auth.models import User if not User.objects.filter(is_superuser=True).exists(): usr = User() usr.username = '******' usr.email = '*****@*****.**' usr.set_password('admin') usr.is_superuser = True usr.is_staff = True usr.is_active = True usr.save() print print "A admin user (username: admin, password: admin) has been created." print from django.contrib.staticfiles.management.commands import runserver rs = runserver.Command() rs.stdout = sys.stdout rs.stderr = sys.stderr rs.use_ipv6 = False rs._raw_ipv6 = False rs.addr = args.bind rs.port = args.port autoreload.main( rs.inner_run, (), { 'addrport': '%s:%s' % (args.bind, args.port), 'insecure_serving': True, 'use_threading': True })
def test_middleware_loaded_only_once(self): command = runserver.Command() with mock.patch('django.middleware.common.CommonMiddleware') as mocked: command.get_handler(use_static_handler=True, insecure_serving=True) self.assertEqual(mocked.call_count, 1)