From eff6aa77325cc856ec865787d0350929770a8472 Mon Sep 17 00:00:00 2001
From: Dylann Cordel <d.cordel@webu.coop>
Date: Wed, 5 Aug 2015 18:42:42 +0200
Subject: [PATCH] wip tests django 1.8  cms 3.1

---
 newsbox/__init__.py                          |  2 +-
 setup.py                                     |  2 +-
 test_requirements/django-1.6_cms-3.0.txt     | 11 ----
 test_requirements/django-1.7.txt             |  3 +
 test_requirements/django-1.8.txt             |  3 +
 test_requirements/django-1.8_cms-3.1.txt     | 25 ++++++++
 tests/runtests.sh                            | 20 ++++--
 tests/settings.py                            |  6 ++
 tests/{settings_all.py => settings_all30.py} |  2 +-
 tests/settings_all31.py                      | 24 +++++++
 tests/{settings_cms.py => settings_cms30.py} |  0
 tests/settings_cms31.py                      | 66 ++++++++++++++++++++
 tox.ini                                      | 41 +++++++++---
 13 files changed, 176 insertions(+), 29 deletions(-)
 create mode 100644 test_requirements/django-1.7.txt
 create mode 100644 test_requirements/django-1.8.txt
 create mode 100644 test_requirements/django-1.8_cms-3.1.txt
 rename tests/{settings_all.py => settings_all30.py} (96%)
 create mode 100644 tests/settings_all31.py
 rename tests/{settings_cms.py => settings_cms30.py} (100%)
 create mode 100644 tests/settings_cms31.py

diff --git a/newsbox/__init__.py b/newsbox/__init__.py
index 1c06be7..38bdd5c 100644
--- a/newsbox/__init__.py
+++ b/newsbox/__init__.py
@@ -1,3 +1,3 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
-__version__="0.1.0"
+__version__="0.3.0"
diff --git a/setup.py b/setup.py
index 713e517..96064ff 100755
--- a/setup.py
+++ b/setup.py
@@ -34,7 +34,7 @@ setup(
     platforms=['OS Independent'],
     classifiers=CLASSIFIERS,
     install_requires=[
-        'Django>=1.6,<1.7',
+        'Django>=1.6,<1.9',
     ],
     packages=find_packages(exclude=["project", "project.*"]),
     include_package_data=True,
diff --git a/test_requirements/django-1.6_cms-3.0.txt b/test_requirements/django-1.6_cms-3.0.txt
index 6266810..8e0776d 100644
--- a/test_requirements/django-1.6_cms-3.0.txt
+++ b/test_requirements/django-1.6_cms-3.0.txt
@@ -1,4 +1,3 @@
-# Currently, 3.0 is not yet released, so we use the develop branch
 django-cms>=3.0,<3.1
 
 # This is django-cms test requirements
@@ -24,14 +23,4 @@ django-debug-toolbar
 https://github.com/KristianOellegaard/django-hvad/archive/master.zip#egg=hvad
 -e git+git://github.com/divio/djangocms-admin-style.git#egg=djangocms-admin-style
 -e git+git://github.com/divio/djangocms-text-ckeditor.git#egg=djangocms-text-ckeditor
--e git+git://github.com/divio/djangocms-column.git#egg=djangocms-column
--e git+git://github.com/divio/djangocms-style.git#egg=djangocms-style
--e git+git://github.com/divio/djangocms-file.git#egg=djangocms-file
--e git+git://github.com/divio/djangocms-flash.git#egg=djangocms-flash
--e git+git://github.com/divio/djangocms-googlemap.git#egg=djangocms-googlemap
--e git+git://github.com/divio/djangocms-inherit.git#egg=djangocms-inherit
--e git+git://github.com/divio/djangocms-picture.git#egg=djangocms-picture
--e git+git://github.com/divio/djangocms-teaser.git#egg=djangocms-teaser
--e git+git://github.com/divio/djangocms-video.git#egg=djangocms-video
--e git+git://github.com/divio/djangocms-link.git#egg=djangocms-link
 pyflakes
diff --git a/test_requirements/django-1.7.txt b/test_requirements/django-1.7.txt
new file mode 100644
index 0000000..767b57a
--- /dev/null
+++ b/test_requirements/django-1.7.txt
@@ -0,0 +1,3 @@
+-r requirements_base.txt
+django>=1.7,<1.8
+https://github.com/KristianOellegaard/django-hvad/archive/master.zip#egg=hvad
diff --git a/test_requirements/django-1.8.txt b/test_requirements/django-1.8.txt
new file mode 100644
index 0000000..548f68e
--- /dev/null
+++ b/test_requirements/django-1.8.txt
@@ -0,0 +1,3 @@
+-r requirements_base.txt
+django>=1.8,<1.9
+https://github.com/KristianOellegaard/django-hvad/archive/master.zip#egg=hvad
diff --git a/test_requirements/django-1.8_cms-3.1.txt b/test_requirements/django-1.8_cms-3.1.txt
new file mode 100644
index 0000000..610547f
--- /dev/null
+++ b/test_requirements/django-1.8_cms-3.1.txt
@@ -0,0 +1,25 @@
+django-cms>=3.1,<3.2
+
+# This is django-cms test requirements
+
+django>=1.8,<1.9
+django-reversion>=1.8
+
+coverage==3.7
+python-coveralls==2.4.0
+docopt==0.6.1
+unittest-xml-reporting==1.0.3
+sphinx
+Pillow>=2.9,<2.10
+django-classy-tags>=0.6,<0.7
+html5lib==0.999
+django-treebeard>=3.0,<3.1
+django-sekizai>=0.8,<0.9
+argparse
+dj-database-url
+selenium
+django-debug-toolbar
+https://github.com/KristianOellegaard/django-hvad/archive/master.zip#egg=hvad
+-e git+git://github.com/divio/djangocms-admin-style.git#egg=djangocms-admin-style
+-e git+git://github.com/divio/djangocms-text-ckeditor.git#egg=djangocms-text-ckeditor
+pyflakes
diff --git a/tests/runtests.sh b/tests/runtests.sh
index 274086a..b0a7136 100755
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -13,14 +13,24 @@ if [ -z "$args" ] ; then
     export args=myapp
 fi
 
-if [ "$args" = "myapp_cms" ] ; then
-    export DJANGO_SETTINGS_MODULE='settings_cms'
+if [ "$args" = "myapp_cms30" ] ; then
+    export DJANGO_SETTINGS_MODULE='settings_cms30'
+    APP="myapp_cms"
 elif [ "$args" = "myapp_hvad" ] ; then
     export DJANGO_SETTINGS_MODULE='settings_hvad'
-elif [ "$args" = "myapp_all" ] ; then
-    export DJANGO_SETTINGS_MODULE='settings_all'
+    APP="$args"
+elif [ "$args" = "myapp_all30" ] ; then
+    export DJANGO_SETTINGS_MODULE='settings_all30'
+    APP="myapp_all"
+elif [ "$args" = "myapp_cms31" ] ; then
+    export DJANGO_SETTINGS_MODULE='settings_cms31'
+    APP="myapp_cms"
+elif [ "$args" = "myapp_all31" ] ; then
+    export DJANGO_SETTINGS_MODULE='settings_all31'
+    APP="myapp_all"
 else
     export DJANGO_SETTINGS_MODULE='settings'
+    APP="$args"
 fi
 
-$DJANGO_ADMIN test --traceback --settings=$DJANGO_SETTINGS_MODULE --verbosity 2 --pythonpath="../" "$args"
+$DJANGO_ADMIN test --traceback --settings=$DJANGO_SETTINGS_MODULE --verbosity 2 --pythonpath="../" "$APP"
diff --git a/tests/settings.py b/tests/settings.py
index 5f1ad52..e32d25c 100644
--- a/tests/settings.py
+++ b/tests/settings.py
@@ -30,6 +30,12 @@ TEMPLATE_LOADERS = (
     'django.template.loaders.filesystem.Loader',
     'django.template.loaders.app_directories.Loader',
 )
+MIDDLEWARE_CLASSES = (
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.middleware.common.CommonMiddleware',
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+)
 # Required for Django 1.4+
 STATIC_URL = '/static/'
 # Required for Django 1.5+
diff --git a/tests/settings_all.py b/tests/settings_all30.py
similarity index 96%
rename from tests/settings_all.py
rename to tests/settings_all30.py
index cd68248..43cd0d2 100644
--- a/tests/settings_all.py
+++ b/tests/settings_all30.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
-from settings_cms import *
+from settings_cms30 import *
 
 INSTALLED_APPS = list(INSTALLED_APPS + ('myapp_all',))
 INSTALLED_APPS.remove('myapp_cms')
diff --git a/tests/settings_all31.py b/tests/settings_all31.py
new file mode 100644
index 0000000..0f388b5
--- /dev/null
+++ b/tests/settings_all31.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+from settings_cms31 import *
+
+INSTALLED_APPS = list(INSTALLED_APPS + ('myapp_all',))
+INSTALLED_APPS.remove('myapp_cms')
+INSTALLED_APPS = tuple(INSTALLED_APPS)
+
+LANGUAGES = [('en', 'English',), ('fr', 'French',),]
+ROOT_URLCONF = 'myapp_all.urls'
+MIDDLEWARE_CLASSES=MIDDLEWARE_CLASSES+(
+    'django.middleware.common.CommonMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.middleware.locale.LocaleMiddleware',
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+    'django.contrib.messages.middleware.MessageMiddleware',
+)
+CMS_PLACEHOLDER_CONF = {
+    'main': {
+        'name': "Main content",
+        'plugins': ['NewsPlugin','TextPlugin'],
+    },
+}
diff --git a/tests/settings_cms.py b/tests/settings_cms30.py
similarity index 100%
rename from tests/settings_cms.py
rename to tests/settings_cms30.py
diff --git a/tests/settings_cms31.py b/tests/settings_cms31.py
new file mode 100644
index 0000000..03df6e3
--- /dev/null
+++ b/tests/settings_cms31.py
@@ -0,0 +1,66 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+from settings import *
+
+SITE_ID = 1
+INSTALLED_APPS = list(INSTALLED_APPS + (
+    #cms requirements
+    'cms',  # django CMS itself
+    'treebeard',  # utilities for implementing a modified pre-order traversal tree
+    'menus',  # helper for model independent hierarchical website navigation
+    'sekizai',  # for javascript and css management
+    'djangocms_admin_style',  # for the admin skin. You **must** add 'djangocms_admin_style' in the list before 'django.contrib.admin'.
+    'django.contrib.messages',  # to enable messages framework (see :ref:`Enable messages <enable-messages>`)
+    'djangocms_text_ckeditor',
+    'newsbox_cms',
+    'myapp_cms',
+))
+INSTALLED_APPS.remove('myapp')
+INSTALLED_APPS = tuple(INSTALLED_APPS)
+MIDDLEWARE_CLASSES = (
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+    'django.contrib.messages.middleware.MessageMiddleware',
+    'django.middleware.locale.LocaleMiddleware',
+    'django.contrib.admindocs.middleware.XViewMiddleware',
+    'django.middleware.common.CommonMiddleware',
+    'cms.middleware.page.CurrentPageMiddleware',
+    'cms.middleware.user.CurrentUserMiddleware',
+    'cms.middleware.toolbar.ToolbarMiddleware',
+    'cms.middleware.language.LanguageCookieMiddleware',
+)
+TEMPLATES = [
+    {
+        'BACKEND': 'django.template.backends.django.DjangoTemplates',
+        'DIRS': [],
+        'OPTIONS': {
+            'context_processors': [
+                'django.contrib.auth.context_processors.auth',
+                'django.core.context_processors.i18n',
+                'django.core.context_processors.media',
+                'django.core.context_processors.static',
+                'django.template.context_processors.tz',
+                'django.template.context_processors.csrf',
+                'django.core.context_processors.request',
+                'django.contrib.messages.context_processors.messages',
+                'sekizai.context_processors.sekizai',
+                'cms.context_processors.cms_settings',
+            ],
+            'loaders': [
+                'django.template.loaders.filesystem.Loader',
+                'django.template.loaders.app_directories.Loader',
+            ],
+        },
+    },
+]
+CMS_TEMPLATES = (
+    ('page.html', 'page'),
+)
+ROOT_URLCONF = 'myapp_cms.urls'
+CMS_PLACEHOLDER_CONF = {
+    'main': {
+        'name': "Main content",
+        'plugins': ['NewsPlugin',],
+    },
+}
diff --git a/tox.ini b/tox.ini
index ba0e97b..d391d58 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,9 +5,12 @@ envlist=
   py32-16,
   py33-16,
   py34-16,
+  py27-17,
+  py27-18,
   
   py26-cms30,
   py27-cms30,
+  py27-cms31,
 ; cms seems to be not yet compatible with python 3.0
 ;  py32-cms30,
 ;  py33-cms30,
@@ -49,29 +52,47 @@ commands = ./runtests.sh myapp {posargs}
 [testenv:py26-cms30]
 basepython = python2.6
 deps = -r{toxinidir}/test_requirements/django-1.6_cms-3.0.txt
-commands =  ./runtests.sh myapp_cms {posargs}
-            ./runtests.sh myapp_all {posargs}
+commands =  ./runtests.sh myapp_cms30 {posargs}
+            ./runtests.sh myapp_all30 {posargs}
+
+[testenv:py27-17]
+basepython = python2.7
+deps = -r{toxinidir}/test_requirements/django-1.7.txt
+commands = ./runtests.sh myapp {posargs}
+            ./runtests.sh myapp_hvad {posargs}
+            
+[testenv:py27-18]
+basepython = python2.7
+deps = -r{toxinidir}/test_requirements/django-1.8.txt
+commands = ./runtests.sh myapp {posargs}
+            ./runtests.sh myapp_hvad {posargs}
 
 [testenv:py27-cms30]
 basepython = python2.7
 deps = -r{toxinidir}/test_requirements/django-1.6_cms-3.0.txt
-commands =  ./runtests.sh myapp_cms {posargs}
-            ./runtests.sh myapp_all {posargs}
+commands =  ./runtests.sh myapp_cms30 {posargs}
+            ./runtests.sh myapp_all30 {posargs}
+
+[testenv:py27-cms31]
+basepython = python2.7
+deps = -r{toxinidir}/test_requirements/django-1.8_cms-3.1.txt
+commands =  ./runtests.sh myapp_cms31 {posargs}
+            ./runtests.sh myapp_all31 {posargs}
 
 [testenv:py32-cms30]
 basepython = python3.2
 deps = -r{toxinidir}/test_requirements/django-1.6_cms-3.0.txt
-commands =  ./runtests.sh myapp_cms {posargs}
-            ./runtests.sh myapp_all {posargs}
+commands =  ./runtests.sh myapp_cms30 {posargs}
+            ./runtests.sh myapp_all30 {posargs}
 
 [testenv:py33-cms30]
 basepython = python3.3
 deps = -r{toxinidir}/test_requirements/django-1.6_cms-3.0.txt
-commands =  ./runtests.sh myapp_cms {posargs}
-            ./runtests.sh myapp_all {posargs}
+commands =  ./runtests.sh myapp_cms30 {posargs}
+            ./runtests.sh myapp_all30 {posargs}
 
 [testenv:py34-cms30]
 basepython = python3.4
 deps = -r{toxinidir}/test_requirements/django-1.6_cms-3.0.txt
-commands =  ./runtests.sh myapp_cms {posargs}
-            ./runtests.sh myapp_all {posargs}
+commands =  ./runtests.sh myapp_cms30 {posargs}
+            ./runtests.sh myapp_all30 {posargs}
-- 
GitLab