Beispiel #1
0
    def test_patch_django_20_develop(self):
        extra_path = os.path.join(os.path.dirname(__file__), 'data',
                                  'extra_settings.py')
        params = [
            '--db=sqlite://localhost/test.db', '--lang=en',
            '--extra-settings=%s' % extra_path, '--django-version=2.0', '-f',
            '--cms-version=develop', '--timezone=Europe/Moscow', '-q', '-u',
            '-zno', '--i18n=no', '-p' + self.project_dir,
            'example_path_20_develop_settings'
        ]
        config_data = config.parse(params)
        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(),
                             [str('settings')])

        # checking for django options
        self.assertTrue(project.settings.TEMPLATES)
        self.assertFalse(getattr(project.settings, 'TEMPLATES_DIR', False))
        self.assertTrue(
            config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS_OLD not in
            project.settings.MIDDLEWARE)
        self.assertTrue(config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS
                        in project.settings.MIDDLEWARE)
Beispiel #2
0
    def test_patch_django_19_32(self):
        # On django CMS 3.2 the reload apphooks middleware is enabled by default
        extra_path = os.path.join(os.path.dirname(__file__), 'data',
                                  'extra_settings.py')
        config_data = config.parse([
            '--db=sqlite://localhost/test.db', '--lang=en',
            '--extra-settings=%s' % extra_path, '--django-version=1.9', '-f',
            '--cms-version=develop', '--timezone=Europe/Moscow', '-q', '-u',
            '-zno', '--i18n=no', '-p' + self.project_dir,
            'example_path_19_32_settings'
        ])
        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(),
                             [str('settings')])

        # checking for django options
        self.assertTrue(project.settings.TEMPLATES)
        self.assertFalse(getattr(project.settings, 'TEMPLATES_DIR', False))
        self.assertTrue(
            'aldryn_apphook_reload' not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS_OLD not in
            project.settings.MIDDLEWARE_CLASSES)
        self.assertTrue(config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS
                        in project.settings.MIDDLEWARE_CLASSES)
Beispiel #3
0
    def test_patch_django_19_develop(self):
        # On django CMS 3.2 the reload apphooks middleware is enabled by default
        extra_path = os.path.join(os.path.dirname(__file__), 'data', 'extra_settings.py')
        config_data = config.parse(['--db=sqlite://localhost/test.db',
                                    '--lang=en', '--extra-settings=%s' % extra_path,
                                    '--django-version=1.9', '-f',
                                    '--cms-version=develop', '--timezone=Europe/Moscow',
                                    '-q', '-u', '-zno', '--i18n=no',
                                    '-p' + self.project_dir, 'example_path_19_32_settings'])
        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(), [str('settings')])

        # checking for django options
        self.assertTrue(project.settings.TEMPLATES)
        self.assertFalse(getattr(project.settings, 'TEMPLATES_DIR', False))
        self.assertTrue(
            config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS_OLD not in
            project.settings.MIDDLEWARE_CLASSES
        )
        self.assertTrue(
            config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS in
            project.settings.MIDDLEWARE_CLASSES
        )
Beispiel #4
0
    def test_patch_django_16(self):
        config_data = config.parse(['--db=sqlite://localhost/test.db',
                                    '--lang=en', '--bootstrap=yes',
                                    '--django-version=1.6', '--apphooks-reload',
                                    '--cms-version=3.0', '--timezone=Europe/Moscow',
                                    '-q', '-u', '-zno', '--i18n=no',
                                    '-p'+self.project_dir, 'example_path_16'])

        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        settings = open(config_data.settings_path).read()
        urlconf = open(config_data.urlconf_path).read()

        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(), [str('settings')])

        # checking for django options
        self.assertEqual(project.settings.MEDIA_ROOT, os.path.join(config_data.project_directory, 'media'))
        self.assertEqual(project.settings.MEDIA_URL, '/media/')

        self.assertEqual(project.settings.TIME_ZONE, 'Europe/Moscow')
        self.assertTrue('cmsplugin_filer_image' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_file' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_folder' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_link' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_teaser' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_utils' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_video' not in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_text_ckeditor' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_admin_style' in project.settings.INSTALLED_APPS)
        self.assertTrue('filer' not in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_column' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_file' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_flash' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_googlemap' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_inherit' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_link' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_picture' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_style' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_teaser' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_video' in project.settings.INSTALLED_APPS)
        self.assertTrue('aldryn_apphook_reload' in project.settings.INSTALLED_APPS)
        self.assertTrue(config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS_OLD in project.settings.MIDDLEWARE_CLASSES)
        self.assertTrue(config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS not in project.settings.MIDDLEWARE_CLASSES)
        self.assertTrue('cms.context_processors.cms_settings' in project.settings.TEMPLATE_CONTEXT_PROCESSORS)
        self.assertTrue('cms.context_processors.media' not in project.settings.TEMPLATE_CONTEXT_PROCESSORS)

        self.assertEqual(set(project.settings.CMS_TEMPLATES), self.templates_bootstrap)

        self.assertEqual(len(re.findall('BASE_DIR = ', settings)), 1)
        self.assertEqual(len(re.findall('STATIC_ROOT', settings)), 1)
        self.assertEqual(len(re.findall('MEDIA_ROOT =', settings)), 1)
        self.assertEqual(len(re.findall('STATICFILES_DIRS', settings)), 1)
Beispiel #5
0
    def test_patch_django_111_36(self):
        dj_version, dj_match = get_latest_django(latest_1_x=True)

        config_data = config.parse(['--db=sqlite://localhost/test.db',
                                    '--lang=en', '--bootstrap=yes',
                                    '--django-version=%s' % dj_version,
                                    '--cms-version=3.6', '--timezone=Europe/Moscow',
                                    '-q', '-u', '-zno', '--i18n=no',
                                    '-p' + self.project_dir, 'test_patch_django_111_36'])

        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        settings = open(config_data.settings_path).read()
        urlconf = open(config_data.urlconf_path).read()

        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(), [str('settings')])

        # checking for django options
        self.assertEqual(
            project.settings.MEDIA_ROOT, os.path.join(config_data.project_directory, 'media')
        )
        self.assertEqual(project.settings.MEDIA_URL, '/media/')

        self.assertEqual(project.settings.TIME_ZONE, 'Europe/Moscow')
        self.assertTrue('cmsplugin_filer_image' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_file' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_folder' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_link' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_teaser' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_utils' not in project.settings.INSTALLED_APPS)
        self.assertTrue('cmsplugin_filer_video' not in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_text_ckeditor' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_admin_style' in project.settings.INSTALLED_APPS)
        self.assertTrue('filer' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_bootstrap4' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_file' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_flash' not in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_googlemap' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_inherit' not in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_link' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_picture' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_style' in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_teaser' not in project.settings.INSTALLED_APPS)
        self.assertTrue('djangocms_video' in project.settings.INSTALLED_APPS)
        self.assertTrue(
            config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS in
            project.settings.MIDDLEWARE
        )
        self.assertEqual(set(project.settings.CMS_TEMPLATES), self.templates_bootstrap)

        self.assertTrue(project.settings.TEMPLATES)
        self.assertEqual(len(re.findall('BASE_DIR = ', settings)), 1)
        self.assertEqual(len(re.findall('STATIC_ROOT', settings)), 1)
        self.assertEqual(len(re.findall('MEDIA_ROOT =', settings)), 1)
        self.assertEqual(len(re.findall('STATICFILES_DIRS', settings)), 1)
Beispiel #6
0
    def test_patch_django_30_develop(self):
        extra_path = os.path.join(os.path.dirname(__file__), "data",
                                  "extra_settings.py")
        params = [
            "--db=sqlite://localhost/test.db",
            "--lang=en",
            "--extra-settings=%s" % extra_path,
            "--django-version=3.0",
            "-f",
            "--cms-version=develop",
            "--timezone=Europe/Moscow",
            "-q",
            "-u",
            "-zno",
            "--i18n=no",
            "-p" + self.project_dir,
            "test_patch_django_30_develop",
        ]
        config_data = config.parse(params)
        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(),
                             ["settings"])

        # checking for django options
        self.assertTrue(project.settings.TEMPLATES)
        self.assertFalse(getattr(project.settings, "TEMPLATES_DIR", False))
        self.assertTrue(config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS
                        in project.settings.MIDDLEWARE)
Beispiel #7
0
    def test_patch_django_22_37(self):
        dj_version, dj_match = get_stable_django()

        config_data = config.parse([
            "--db=sqlite://localhost/test.db",
            "--lang=en",
            "--bootstrap=yes",
            "--django-version=%s" % dj_version,
            "--cms-version=3.7",
            "--timezone=Europe/Moscow",
            "-q",
            "-u",
            "-zno",
            "--i18n=no",
            "-p" + self.project_dir,
            "test_patch_django_111_36",
        ])

        install.requirements(config_data.requirements)
        django.create_project(config_data)
        django.patch_settings(config_data)
        django.copy_files(config_data)
        settings = open(config_data.settings_path).read()
        urlconf = open(config_data.urlconf_path).read()

        # settings is importable even in non django environment
        sys.path.append(config_data.project_directory)

        project = __import__(config_data.project_name, globals(), locals(),
                             ["settings"])

        # checking for django options
        self.assertEqual(
            project.settings.MEDIA_ROOT,
            os.path.join(config_data.project_directory, "media"),
        )
        self.assertEqual(project.settings.MEDIA_URL, "/media/")

        self.assertEqual(project.settings.TIME_ZONE, "Europe/Moscow")
        self.assertTrue(
            "cmsplugin_filer_image" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "cmsplugin_filer_file" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "cmsplugin_filer_folder" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "cmsplugin_filer_link" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "cmsplugin_filer_teaser" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "cmsplugin_filer_utils" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "cmsplugin_filer_video" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_text_ckeditor" in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_admin_style" in project.settings.INSTALLED_APPS)
        self.assertTrue("filer" in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_bootstrap4" in project.settings.INSTALLED_APPS)
        self.assertTrue("djangocms_file" in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_flash" not in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_googlemap" in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_inherit" not in project.settings.INSTALLED_APPS)
        self.assertTrue("djangocms_link" in project.settings.INSTALLED_APPS)
        self.assertTrue("djangocms_picture" in project.settings.INSTALLED_APPS)
        self.assertTrue("djangocms_style" in project.settings.INSTALLED_APPS)
        self.assertTrue(
            "djangocms_teaser" not in project.settings.INSTALLED_APPS)
        self.assertTrue("djangocms_video" in project.settings.INSTALLED_APPS)
        self.assertTrue(config.get_settings().APPHOOK_RELOAD_MIDDLEWARE_CLASS
                        in project.settings.MIDDLEWARE)
        self.assertEqual(set(project.settings.CMS_TEMPLATES),
                         self.templates_bootstrap)

        self.assertTrue(project.settings.TEMPLATES)
        self.assertEqual(len(re.findall("BASE_DIR = ", settings)), 1)
        self.assertEqual(len(re.findall("STATIC_ROOT", settings)), 1)
        self.assertEqual(len(re.findall("MEDIA_ROOT =", settings)), 1)
        self.assertEqual(len(re.findall("STATICFILES_DIRS", settings)), 1)