示例#1
0
 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)
示例#2
0
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
        })
示例#3
0
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)
示例#4
0
    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)
示例#5
0
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
                })
示例#6
0
 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)