diff --git a/.travis.yml b/.travis.yml index e652b64..686ee21 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,8 @@ matrix: env: TOXENV=py36-django111 - python: 3.7-dev env: TOXENV=py37-django20 + - python: 3.7-dev + env: TOXENV=py37-djangotip install: - pip install Django>=1.11 - pip install coveralls==1.3.0 diff --git a/tests/forms.py b/tests/forms.py index 5316737..097781e 100644 --- a/tests/forms.py +++ b/tests/forms.py @@ -2,26 +2,30 @@ from django.test import TestCase from django.contrib.admin.sites import AdminSite import eav +import sys from eav.admin import * from .models import Patient, M2MModel, ExampleModel from eav.models import Attribute from eav.forms import BaseDynamicEntityForm from django.contrib import admin -from django.core.handlers.base import BaseHandler -from django.test.client import RequestFactory +from django.core.handlers.base import BaseHandler +from django.test.client import RequestFactory from django.forms import ModelForm -class MockRequest(RequestFactory): - def request(self, **request): - "Construct a generic request object." - request = RequestFactory.request(self, **request) - handler = BaseHandler() - handler.load_middleware() - for middleware_method in handler._request_middleware: - if middleware_method(request): - raise Exception("Couldn't create request mock object - " - "request middleware returned a response") +class MockRequest(RequestFactory): + def request(self, **request): + "Construct a generic request object." + request = RequestFactory.request(self, **request) + handler = BaseHandler() + handler.load_middleware() + # BaseHandler_request_middleware is not set in Django2.0 + # and removed in Django2.1 + if sys.version_info[0] < 2: + for middleware_method in handler._request_middleware: + if middleware_method(request): + raise Exception("Couldn't create request mock object - " + "request middleware returned a response") return request @@ -89,4 +93,4 @@ class Forms(TestCase): model = ExampleModel.objects.create(name='name') form = M2MModelForm(dict(name='Lorem', models=[model.pk]), instance=m2mmodel) form.save() - self.assertEqual(len(m2mmodel.models.all()), 1) \ No newline at end of file + self.assertEqual(len(m2mmodel.models.all()), 1) diff --git a/tests/test_settings.py b/tests/test_settings.py index 3fa4aa7..638f9d3 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -9,6 +9,7 @@ SITE_ID = 1 INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.sites', + 'django.contrib.admin', 'django.contrib.contenttypes', "tests", "eav" diff --git a/tox.ini b/tox.ini index a66a9dc..81d8b36 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,15 @@ [tox] envlist = py27-django{111}, - py35-django{111,20}, - py36-django{111,20}, - py37-django{111,20}, + py35-django{111,20,tip}, + py36-django{111,20,tip}, + py37-django{111,20,tip}, [testenv] +pip_pre=True + deps = django111: Django >=1.11, <2.0 django20: Django >= 2.0, <2.1 - djangotip: https://github.com/django/django/archive/master.tar.gz + djangotip: Django commands = ./runtests