Test against Django 4.0

This commit is contained in:
Artur Barseghyan 2022-06-23 00:59:46 +02:00
parent 4aed9455c3
commit 4d2d986769
14 changed files with 448 additions and 53 deletions

View file

@ -2,16 +2,27 @@ FROM docker.io/python:3.9
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED 1
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y cmake
RUN apt-get install -y libpq-dev
RUN apt-get install -y mc
RUN apt-get install -y graphviz
RUN apt-get install -y gettext
RUN apt-get install -y nano
RUN apt-get install -y chromium
#RUN apt-get install -y firefox
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
software-properties-common \
cmake \
mc \
gettext \
nano \
chromium \
graphviz \
libpq-dev
RUN add-apt-repository ppa:deadsnakes/ppa --yes
#RUN apt-get update && \
# RUN apt-get install -y --no-install-recommends \
# python3.6-dev \
# python3.7-dev \
# python3.8-dev
#RUN apt-get install -y firefox
RUN pip install pip --upgrade
RUN pip install virtualenv

View file

@ -32,6 +32,8 @@ cfgv==3.3.0
# via pre-commit
chardet==4.0.0
# via requests
chromedriver-py==102.0.5005.61
# via -r test.in
click==8.0.1
# via black
confusable-homoglyphs==3.2.0

View file

@ -1,5 +1,5 @@
#
# This file is autogenerated by pip-compile with python 3.6
# This file is autogenerated by pip-compile with python 3.9
# To update, run:
#
# pip-compile dev.in
@ -57,10 +57,6 @@ coverage==5.5
# via
# -r django_3_2.txt
# pytest-cov
dataclasses==0.8
# via
# -r django_3_2.txt
# black
decorator==5.0.9
# via
# -r django_3_2.txt
@ -127,7 +123,7 @@ faker==8.8.1
# via
# -r django_3_2.txt
# factory-boy
feincms==1.18.0
feincms==1.20.0
# via -r django_3_2.txt
filelock==3.0.12
# via
@ -148,22 +144,6 @@ imagesize==1.2.0
# via
# -r django_3_2.txt
# sphinx
importlib-metadata==4.5.0
# via
# -r django_3_2.txt
# click
# flake8
# markdown
# pluggy
# pre-commit
# pytest
# tox
# virtualenv
importlib-resources==5.1.4
# via
# -r django_3_2.txt
# pre-commit
# virtualenv
iniconfig==1.1.1
# via
# -r django_3_2.txt
@ -217,8 +197,8 @@ packaging==20.9
path==16.0.0
# via
# -r django_3_2.txt
# path.py
path.py==12.5.0
# path-py
path-py==12.5.0
# via -r django_3_2.txt
pathspec==0.8.1
# via
@ -318,7 +298,6 @@ six==1.16.0
# via
# -r django_3_2.txt
# bleach
# django-simple-captcha
# feincms
# python-dateutil
# tox
@ -381,17 +360,6 @@ tox==3.23.1
# via -r django_3_2.txt
traitlets==4.3.3
# via -r django_3_2.txt
typed-ast==1.4.3
# via
# -r django_3_2.txt
# astroid
# black
typing-extensions==3.10.0.0
# via
# -r django_3_2.txt
# asgiref
# black
# importlib-metadata
urllib3==1.26.5
# via
# -r django_3_2.txt
@ -412,11 +380,6 @@ wrapt==1.12.1
# via
# -r django_3_2.txt
# astroid
zipp==3.4.1
# via
# -r django_3_2.txt
# importlib-metadata
# importlib-resources
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -32,6 +32,8 @@ cfgv==3.3.0
# via pre-commit
chardet==4.0.0
# via requests
chromedriver-py==102.0.5005.61
# via -r test.in
click==8.0.1
# via black
confusable-homoglyphs==3.2.0

View file

@ -0,0 +1,15 @@
-r common.in
-r test.in
-r style_checkers.in
-r feincms_1_20.in
Django>=4.0,<4.1
django-admin-tools>=0.8.0
django-autoslug>=1.9.6
django-ckeditor>=5.8.0
django-debug-toolbar>=2.1
django-formtools>=2.2
django-registration>=3.1.1
django-simple-captcha>=0.5.12
djangorestframework>=3.10
easy-thumbnails>=2.7.0

View file

@ -0,0 +1,377 @@
#
# This file is autogenerated by pip-compile with python 3.9
# To update, run:
#
# pip-compile django_4_0.in
#
alabaster==0.7.12
# via
# -r common.in
# sphinx
asgiref==3.5.2
# via django
astroid==2.11.6
# via pylint
async-generator==1.10
# via
# trio
# trio-websocket
attrs==21.4.0
# via
# outcome
# pytest
# trio
babel==2.10.3
# via
# -r common.in
# sphinx
black==22.3.0
# via -r style_checkers.in
bleach==5.0.0
# via -r common.in
certifi==2022.6.15
# via
# requests
# urllib3
cffi==1.15.0
# via cryptography
cfgv==3.3.1
# via pre-commit
charset-normalizer==2.0.12
# via requests
chromedriver-py==102.0.5005.61
# via -r test.in
click==8.1.3
# via black
confusable-homoglyphs==3.2.0
# via django-registration
coverage[toml]==6.4.1
# via
# -r test.in
# pytest-cov
cryptography==37.0.2
# via
# pyopenssl
# urllib3
cssselect2==0.6.0
# via svglib
decorator==5.1.1
# via -r common.in
dill==0.3.5.1
# via pylint
distlib==0.3.4
# via virtualenv
django==4.0.5
# via
# -r django_4_0.in
# django-ckeditor
# django-debug-toolbar
# django-formtools
# django-js-asset
# django-ranged-response
# django-registration
# django-simple-captcha
# djangorestframework
# easy-thumbnails
# feincms
django-admin-tools==0.9.2
# via -r django_4_0.in
django-autoslug==1.9.8
# via -r django_4_0.in
django-ckeditor==6.4.2
# via -r django_4_0.in
django-debug-toolbar==3.4.0
# via -r django_4_0.in
django-formtools==2.3
# via -r django_4_0.in
django-js-asset==2.0.0
# via
# django-ckeditor
# django-mptt
django-mptt==0.13.4
# via
# -r feincms_1_20.in
# feincms
django-ranged-response==0.2.0
# via django-simple-captcha
django-registration==3.3
# via -r django_4_0.in
django-simple-captcha==0.5.17
# via -r django_4_0.in
djangorestframework==3.13.1
# via -r django_4_0.in
docopt==0.4.0
# via
# -r common.in
# mailchimp
docutils==0.17.1
# via
# -r common.in
# sphinx
# sphinx-rtd-theme
easy-thumbnails==2.8.1
# via -r django_4_0.in
factory-boy==3.2.1
# via -r test.in
faker==13.14.0
# via
# -r test.in
# factory-boy
feincms==1.20.1
# via -r feincms_1_20.in
filelock==3.7.1
# via
# tox
# virtualenv
flake8==4.0.1
# via -r style_checkers.in
h11==0.13.0
# via wsproto
identify==2.5.1
# via pre-commit
idna==3.3
# via
# requests
# trio
# urllib3
imagesize==1.3.0
# via sphinx
importlib-metadata==4.11.4
# via
# markdown
# sphinx
iniconfig==1.1.1
# via pytest
isort==5.10.1
# via
# -r style_checkers.in
# pylint
jinja2==3.1.2
# via
# -r common.in
# sphinx
lazy-object-proxy==1.7.1
# via astroid
lxml==4.9.0
# via svglib
mailchimp==2.0.10
# via -r common.in
markdown==3.3.7
# via -r common.in
markupsafe==2.1.1
# via
# -r common.in
# jinja2
mccabe==0.6.1
# via
# flake8
# pylint
mypy-extensions==0.4.3
# via black
nodeenv==1.6.0
# via pre-commit
ordereddict==1.1
# via -r common.in
outcome==1.2.0
# via trio
packaging==21.3
# via
# pytest
# sphinx
# tox
path==16.4.0
# via path-py
path-py==12.5.0
# via -r common.in
pathspec==0.9.0
# via black
pexpect==4.8.0
# via -r common.in
pickleshare==0.7.5
# via -r common.in
pillow==9.1.1
# via
# -r common.in
# django-simple-captcha
# easy-thumbnails
# feincms
# reportlab
platformdirs==2.5.2
# via
# black
# pylint
# virtualenv
pluggy==1.0.0
# via
# -r common.in
# pytest
# tox
pre-commit==2.19.0
# via -r style_checkers.in
psycopg2-binary==2.9.3
# via -r common.in
ptyprocess==0.7.0
# via
# -r common.in
# pexpect
py==1.11.0
# via
# -r test.in
# pytest
# tox
pycodestyle==2.8.0
# via flake8
pycparser==2.21
# via cffi
pydocstyle==6.1.1
# via -r style_checkers.in
pyflakes==2.4.0
# via
# -r style_checkers.in
# flake8
pygments==2.12.0
# via
# -r common.in
# sphinx
pylint==2.14.3
# via -r style_checkers.in
pyopenssl==22.0.0
# via urllib3
pyparsing==3.0.9
# via packaging
pysocks==1.7.1
# via urllib3
pytest==6.2.5
# via
# -r test.in
# pytest-cov
# pytest-django
# pytest-ordering
# pytest-pythonpath
pytest-cov==3.0.0
# via -r test.in
pytest-django==4.5.2
# via -r test.in
pytest-ordering==0.6
# via -r test.in
pytest-pythonpath==0.7.4
# via -r test.in
python-dateutil==2.8.2
# via faker
pytz==2022.1
# via
# -r common.in
# babel
# djangorestframework
# feincms
pyyaml==6.0
# via pre-commit
reportlab==3.6.10
# via
# easy-thumbnails
# svglib
requests==2.28.0
# via
# mailchimp
# sphinx
selenium==4.2.0
# via -r test.in
simplegeneric==0.8.1
# via -r common.in
six==1.16.0
# via
# -r common.in
# bleach
# feincms
# python-dateutil
# tox
# virtualenv
sniffio==1.2.0
# via trio
snowballstemmer==2.2.0
# via
# -r common.in
# pydocstyle
# sphinx
sortedcontainers==2.4.0
# via trio
sphinx==5.0.2
# via
# -r common.in
# sphinx-rtd-theme
sphinx-rtd-theme==1.0.0
# via -r common.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==2.0.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
sqlparse==0.4.2
# via
# django
# django-debug-toolbar
svglib==1.3.0
# via easy-thumbnails
tinycss2==1.1.1
# via
# cssselect2
# svglib
toml==0.10.2
# via
# pre-commit
# pytest
# tox
tomli==2.0.1
# via
# black
# coverage
# pylint
tomlkit==0.11.0
# via pylint
tox==3.25.0
# via -r test.in
traitlets==5.3.0
# via -r common.in
trio==0.21.0
# via
# selenium
# trio-websocket
trio-websocket==0.9.2
# via selenium
typing-extensions==4.2.0
# via
# astroid
# black
# pylint
urllib3[secure,socks]==1.26.9
# via
# requests
# selenium
virtualenv==20.14.1
# via
# -r common.in
# pre-commit
# tox
webencodings==0.5.1
# via
# bleach
# cssselect2
# tinycss2
wheel==0.37.1
# via -r common.in
wrapt==1.14.1
# via astroid
wsproto==1.1.0
# via trio-websocket
zipp==3.8.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View file

@ -32,6 +32,8 @@ cfgv==3.3.0
# via pre-commit
chardet==4.0.0
# via requests
chromedriver-py==102.0.5005.61
# via -r test.in
click==8.0.1
# via black
coverage==5.5

View file

@ -8,6 +8,8 @@ appdirs==1.4.4
# via virtualenv
attrs==21.2.0
# via pytest
chromedriver-py==102.0.5005.61
# via -r test.in
coverage==5.5
# via
# -r test.in

View file

@ -32,6 +32,8 @@ cfgv==3.3.0
# via pre-commit
chardet==4.0.0
# via requests
chromedriver-py==102.0.5005.61
# via -r test.in
click==8.0.1
# via black
confusable-homoglyphs==3.2.0

View file

@ -234,7 +234,7 @@ INSTALLED_APPS = [
'fobi.contrib.plugins.form_elements.fields.file',
'fobi.contrib.plugins.form_elements.fields.float',
'fobi.contrib.plugins.form_elements.fields.hidden',
'fobi.contrib.plugins.form_elements.fields.hidden_model_object',
# 'fobi.contrib.plugins.form_elements.fields.hidden_model_object',
'fobi.contrib.plugins.form_elements.fields.input',
'fobi.contrib.plugins.form_elements.fields.integer',
'fobi.contrib.plugins.form_elements.fields.ip_address',

View file

@ -42,6 +42,22 @@ TEST_DATABASES = {
}
}
# FeinCMS addons
INSTALLED_APPS += [
'feincms', # FeinCMS
'fobi.contrib.apps.feincms_integration', # Fobi FeinCMS app
'page', # Example
]
MIGRATION_MODULES = {
'fobi': 'fobi.migrations',
'db_store': 'fobi.contrib.plugins.form_handlers.db_store.migrations',
'page': 'page.migrations',
}
INTERNAL_IPS = ('127.0.0.1',)
ALLOWED_HOSTS = ['*']

View file

@ -14,7 +14,7 @@ python_files =
python_paths =
src
examples/simple
DJANGO_SETTINGS_MODULE=settings.test
DJANGO_SETTINGS_MODULE=settings.docker_test
addopts=
--cov=fobi
--ignore=.tox

View file

@ -10,6 +10,7 @@ pip-compile django_2_2.in "$@"
pip-compile django_3_0.in "$@"
pip-compile django_3_1.in "$@"
pip-compile django_3_2.in "$@"
pip-compile django_4_0.in "$@"
pip-compile djangocms_3_4_3.in "$@"
pip-compile djangorestframework.in "$@"
pip-compile docs.in "$@"

View file

@ -1,6 +1,7 @@
[tox]
envlist =
py{36,37,38,39}-django{22,30,31,32}
py{38,39}-django{40}
#flake8,
#isort
@ -12,6 +13,7 @@ deps =
django30: -r{toxinidir}/examples/requirements/django_3_0.txt
django31: -r{toxinidir}/examples/requirements/django_3_1.txt
django32: -r{toxinidir}/examples/requirements/django_3_2.txt
django40: -r{toxinidir}/examples/requirements/django_4_0.txt
commands =
# {envpython} examples/simple/manage.py test {posargs:fobi} --settings=settings.test --traceback -v 3
pip install -e .