Check backward compatibility with tox
This commit is contained in:
@ -34,8 +34,8 @@ matrix:
|
|||||||
env: TOXENV=py36-django22-wagtail26
|
env: TOXENV=py36-django22-wagtail26
|
||||||
- python: 3.6
|
- python: 3.6
|
||||||
env: TOXENV=py36-django22-wagtail26-geoip2
|
env: TOXENV=py36-django22-wagtail26-geoip2
|
||||||
- python: 3.6
|
# - python: 3.6
|
||||||
env: TOXENV=py36-django111-wagtail22
|
# env: TOXENV=py36-django111-wagtail22
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- pip install tox codecov
|
- pip install tox codecov
|
||||||
|
2
setup.py
2
setup.py
@ -16,7 +16,7 @@ tests_require = [
|
|||||||
'flake8',
|
'flake8',
|
||||||
'freezegun==0.3.8',
|
'freezegun==0.3.8',
|
||||||
'pytest-cov==2.5.1',
|
'pytest-cov==2.5.1',
|
||||||
'pytest-django==3.1.2',
|
'pytest-django==4.1.0',
|
||||||
'pytest-pythonpath==0.7.2',
|
'pytest-pythonpath==0.7.2',
|
||||||
'pytest-sugar==0.9.1',
|
'pytest-sugar==0.9.1',
|
||||||
'pytest==6.1.2',
|
'pytest==6.1.2',
|
||||||
|
@ -10,7 +10,7 @@ from wagtail_personalisation.models import PersonalisablePageMetadata
|
|||||||
try:
|
try:
|
||||||
from wagtail.core.models import Locale
|
from wagtail.core.models import Locale
|
||||||
|
|
||||||
class LocaleFactory(factory.django.DjangoModelFactory):
|
class LocaleFactory(factory.DjangoModelFactory):
|
||||||
language_code = "en"
|
language_code = "en"
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -28,14 +28,14 @@ def site():
|
|||||||
return site
|
return site
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture(autouse=True)
|
||||||
def segmented_page(site):
|
def segmented_page(site):
|
||||||
page = ContentPageFactory(parent=site.root_page, slug='personalised')
|
page = ContentPageFactory(parent=site.root_page, slug='personalised')
|
||||||
segment = SegmentFactory()
|
segment = SegmentFactory()
|
||||||
return page.personalisation_metadata.copy_for_segment(segment)
|
return page.personalisation_metadata.copy_for_segment(segment)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture(autouse=True)
|
||||||
def rf():
|
def rf():
|
||||||
"""RequestFactory instance"""
|
"""RequestFactory instance"""
|
||||||
return RequestFactory()
|
return RequestFactory()
|
||||||
@ -51,6 +51,6 @@ class RequestFactory(BaseRequestFactory):
|
|||||||
return request
|
return request
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture(autouse=True)
|
||||||
def user(django_user_model):
|
def user(django_user_model):
|
||||||
return django_user_model.objects.create(username='user')
|
return django_user_model.objects.create(username='user')
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
from importlib.util import find_spec
|
||||||
|
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
@ -58,10 +59,14 @@ MIDDLEWARE = (
|
|||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
|
||||||
'wagtail.contrib.legacy.sitemiddleware.SiteMiddleware',
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if find_spec('wagtail.contrib.legacy'):
|
||||||
|
MIDDLEWARE += ('wagtail.contrib.legacy.sitemiddleware.SiteMiddleware',)
|
||||||
|
else:
|
||||||
|
MIDDLEWARE += ('wagtail.core.middleware.SiteMiddleware', )
|
||||||
|
|
||||||
|
|
||||||
INSTALLED_APPS = (
|
INSTALLED_APPS = (
|
||||||
'wagtail_personalisation',
|
'wagtail_personalisation',
|
||||||
|
|
||||||
|
@ -31,11 +31,6 @@ def test_metadata_page_has_variants(segmented_page):
|
|||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_content_page_model():
|
def test_content_page_model():
|
||||||
try:
|
|
||||||
from tests.factories.page import LocaleFactory
|
|
||||||
LocaleFactory()
|
|
||||||
except ImportError:
|
|
||||||
pass
|
|
||||||
page = ContentPageFactory()
|
page = ContentPageFactory()
|
||||||
qs = models.ContentPage.objects.all()
|
qs = models.ContentPage.objects.all()
|
||||||
assert page in qs
|
assert page in qs
|
||||||
@ -81,5 +76,8 @@ def test_sitemap_generation_for_variants_is_disabled(segmented_page):
|
|||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_segment_edit_view(site, client, django_user_model):
|
def test_segment_edit_view(site, client, django_user_model):
|
||||||
test_segment = SegmentFactory()
|
test_segment = SegmentFactory()
|
||||||
new_panel = test_segment.panels[1].children[0].bind_to(model=Segment)
|
try:
|
||||||
|
new_panel = test_segment.panels[1].children[0].bind_to(model=Segment)
|
||||||
|
except AttributeError:
|
||||||
|
new_panel = test_segment.panels[1].children[0].bind_to_model(Segment)
|
||||||
assert new_panel.related.name == "wagtail_personalisation_timerules"
|
assert new_panel.related.name == "wagtail_personalisation_timerules"
|
||||||
|
@ -18,8 +18,6 @@ except ImportError:
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def rootpage():
|
def rootpage():
|
||||||
if locale_factory:
|
|
||||||
LocaleFactory()
|
|
||||||
return ContentPageFactory(parent=None, path='/', depth=0, title='root')
|
return ContentPageFactory(parent=None, path='/', depth=0, title='root')
|
||||||
|
|
||||||
|
|
||||||
@ -81,8 +79,6 @@ def test_exclude_variants_with_pages_querysets():
|
|||||||
'''
|
'''
|
||||||
Test that excludes variant works for querysets
|
Test that excludes variant works for querysets
|
||||||
'''
|
'''
|
||||||
if locale_factory:
|
|
||||||
LocaleFactory()
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
||||||
page.save()
|
page.save()
|
||||||
@ -98,8 +94,6 @@ def test_exclude_variants_with_pages_querysets_not_canonical():
|
|||||||
Test that excludes variant works for querysets with
|
Test that excludes variant works for querysets with
|
||||||
personalisation_metadata canonical False
|
personalisation_metadata canonical False
|
||||||
'''
|
'''
|
||||||
if locale_factory:
|
|
||||||
LocaleFactory()
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
||||||
page.save()
|
page.save()
|
||||||
@ -120,8 +114,6 @@ def test_exclude_variants_with_pages_querysets_meta_none():
|
|||||||
'''
|
'''
|
||||||
Test that excludes variant works for querysets with meta as none
|
Test that excludes variant works for querysets with meta as none
|
||||||
'''
|
'''
|
||||||
if locale_factory:
|
|
||||||
LocaleFactory()
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
page = ContentPageFactory(path="/" + str(i), depth=0, url_path="/", title="Hoi " + str(i))
|
||||||
page.save()
|
page.save()
|
||||||
|
@ -106,5 +106,5 @@ def test_segment_delete_view_raises_permission_denied(rf, segmented_page, user):
|
|||||||
)
|
)
|
||||||
view.request = request
|
view.request = request
|
||||||
message = 'User have no permission to delete variant page objects.'
|
message = 'User have no permission to delete variant page objects.'
|
||||||
with pytest.raises(PermissionDenied, message=message):
|
with pytest.raises(PermissionDenied):
|
||||||
view.delete_instance()
|
view.delete_instance()
|
||||||
|
2
tox.ini
2
tox.ini
@ -17,7 +17,7 @@ deps =
|
|||||||
wagtail25: wagtail>=2.5,<2.6
|
wagtail25: wagtail>=2.5,<2.6
|
||||||
wagtail26: wagtail>=2.6,<2.7
|
wagtail26: wagtail>=2.6,<2.7
|
||||||
geoip2: geoip2
|
geoip2: geoip2
|
||||||
django111: django>=1.11,<1.12
|
; django111: django>=1.11,<1.12
|
||||||
|
|
||||||
[testenv:coverage-report]
|
[testenv:coverage-report]
|
||||||
basepython = python3.6
|
basepython = python3.6
|
||||||
|
Reference in New Issue
Block a user