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)
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)
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 )
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)
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)
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)
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)