Test/support Django 2.1

This commit is contained in:
medmunds
2018-05-24 11:18:19 -07:00
parent f7aa67c42c
commit 51d2a404c0
6 changed files with 132 additions and 14 deletions

View File

@@ -29,11 +29,12 @@ matrix:
- { env: DJANGO=2.0, python: 3.5 }
- { env: DJANGO=2.0 RUN_LIVE_TESTS=true, python: 3.6 }
- { env: DJANGO=2.0, python: pypy3 }
# Django 2.1 (prerelease): Python 3.5+
#- { env: DJANGO=2.1, python: 3.5 }
#- { env: DJANGO=2.1, python: 3.6 }
# Django 2.1: Python 3.5, 3.6, or 3.7
- { env: DJANGO=2.1, python: 3.5 }
- { env: DJANGO=2.1, python: 3.6 }
- { env: DJANGO=2.1, python: 3.7-dev }
- { env: DJANGO=2.1, python: pypy3 }
# Django development master (direct from GitHub source):
- { env: DJANGO=master, python: 3.6 }
- { env: DJANGO=master, python: 3.7-dev }
# Obsolete Django versions (no longer supported by Django)
@@ -51,12 +52,6 @@ matrix:
- { env: DJANGO=1.10, python: 3.5 }
allow_failures:
- env: DJANGO=2.1
python: 3.5
- env: DJANGO=2.1
python: 3.6
- env: DJANGO=master
python: 3.6
- env: DJANGO=master
python: 3.7-dev

View File

@@ -40,8 +40,8 @@ built-in `django.core.mail` package. It includes:
* Inbound message support, to receive email through your ESP's webhooks,
with simplified, portable access to attachments and other inbound content
Anymail is released under the BSD license. It is extensively tested against Django 1.8--2.0
(including Python 2.7, Python 3 and PyPy).
Anymail is released under the BSD license. It is extensively tested against
Django 1.8--2.1 (including Python 2.7, Python 3 and PyPy).
Anymail releases follow `semantic versioning <http://semver.org/>`_.
.. END shared-intro

View File

@@ -70,6 +70,7 @@ setup(
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"License :: OSI Approved :: BSD License",
"Topic :: Communications :: Email",
"Topic :: Software Development :: Libraries :: Python Modules",
@@ -80,6 +81,7 @@ setup(
"Framework :: Django :: 1.10",
"Framework :: Django :: 1.11",
"Framework :: Django :: 2.0",
"Framework :: Django :: 2.1",
"Environment :: Web Environment",
],
long_description=long_description,

View File

@@ -1,7 +1,7 @@
"""
Django settings for Anymail tests.
Generated by 'django-admin startproject' using Django 2.1.dev20180313162727.
Generated by 'django-admin startproject' using Django 2.1a1.
For more information on this file, see
https://docs.djangoproject.com/en/dev/topics/settings/

View File

@@ -0,0 +1,121 @@
"""
Django settings for Anymail tests.
Generated by 'django-admin startproject' using Django 2.2.dev20180524181819.
For more information on this file, see
https://docs.djangoproject.com/en/dev/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/dev/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/dev/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'NOT_FOR_PRODUCTION_USE'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'anymail',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'tests.test_settings.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'tests.wsgi.application'
# Database
# https://docs.djangoproject.com/en/dev/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/dev/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/dev/howto/static-files/
STATIC_URL = '/static/'

View File

@@ -12,7 +12,7 @@ envlist =
django19-py{27,34,35,py2}
django18-py{34,35,py2}
# ... then prereleases (if available):
#django21-py{35,36}
django21-py{35,36,37}
djangoMaster-py{36,37}
[testenv]