Fix tests for Django 2.1+ (tip) (#25)

This commit is contained in:
MajekX 2018-07-27 13:47:01 +02:00 committed by Iwo Herka
parent 0c8bd2208c
commit 9d044ee8e2
4 changed files with 26 additions and 17 deletions

View file

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

View file

@ -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)
self.assertEqual(len(m2mmodel.models.all()), 1)

View file

@ -9,6 +9,7 @@ SITE_ID = 1
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.contenttypes',
"tests",
"eav"

10
tox.ini
View file

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