Tests: add Django 3.0 alpha, Python 3.8-dev

This commit is contained in:
medmunds
2019-09-27 10:58:35 -07:00
parent 2762ea9ff8
commit c6ab1e374c
5 changed files with 131 additions and 3 deletions

View File

@@ -46,6 +46,11 @@ matrix:
- { env: TOXENV=django22-py36-all, python: 3.6 } - { env: TOXENV=django22-py36-all, python: 3.6 }
- { env: TOXENV=django22-py37-all RUN_LIVE_TESTS=true, python: 3.7 } - { env: TOXENV=django22-py37-all RUN_LIVE_TESTS=true, python: 3.7 }
- { env: TOXENV=django22-pypy3-all, python: pypy3.5-6.0 } - { env: TOXENV=django22-pypy3-all, python: pypy3.5-6.0 }
# Django 3.0: Python 3.6, 3.7, or 3.8
- { env: TOXENV=django30-py36-all, python: 3.6 }
- { env: TOXENV=django30-py37-all, python: 3.7 }
- { env: TOXENV=django30-py38-all, python: 3.8-dev }
- { env: TOXENV=django30-pypy3-all, python: pypy3.6-7.1 }
# Django development master (direct from GitHub source): # Django development master (direct from GitHub source):
- { env: TOXENV=djangoMaster-py37-all, python: 3.7 } - { env: TOXENV=djangoMaster-py37-all, python: 3.7 }
# Install without optional extras (don't need to cover entire matrix) # Install without optional extras (don't need to cover entire matrix)

View File

@@ -41,7 +41,7 @@ built-in `django.core.mail` package. It includes:
with simplified, portable access to attachments and other inbound content with simplified, portable access to attachments and other inbound content
Anymail is released under the BSD license. It is extensively tested against Anymail is released under the BSD license. It is extensively tested against
Django 1.11--2.2 (including Python 2.7, Python 3 and PyPy). Django 1.11--3.0 on all Python versions supported by Django.
Anymail releases follow `semantic versioning <http://semver.org/>`_. Anymail releases follow `semantic versioning <http://semver.org/>`_.
.. END shared-intro .. END shared-intro

View File

@@ -1,7 +1,7 @@
""" """
Django settings for Anymail tests. Django settings for Anymail tests.
Generated by 'django-admin startproject' using Django 2.2a1. Generated by 'django-admin startproject' using Django 3.0a1.
For more information on this file, see For more information on this file, see
https://docs.djangoproject.com/en/dev/topics/settings/ 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 3.0a1.
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,8 @@ envlist =
django20-py{35,36,py3}-all django20-py{35,36,py3}-all
django111-py{34,35,36,py}-all django111-py{34,35,36,py}-all
# ... then prereleases (if available): # ... then prereleases (if available):
djangoMaster-py{36,37}-all django30-py{36,37,38,py3}-all
djangoMaster-py{36,37,38}-all
# ... then partial installation (limit extras): # ... then partial installation (limit extras):
django22-py37-{none,amazon_ses,sparkpost} django22-py37-{none,amazon_ses,sparkpost}
# ... then older versions of some dependencies: # ... then older versions of some dependencies:
@@ -25,6 +26,7 @@ deps =
django20: django~=2.0.0 django20: django~=2.0.0
django21: django~=2.1.0 django21: django~=2.1.0
django22: django~=2.2.0 django22: django~=2.2.0
django30: django>=3.0a1
djangoMaster: https://github.com/django/django/tarball/master djangoMaster: https://github.com/django/django/tarball/master
old_urllib3: urllib3<1.25 old_urllib3: urllib3<1.25
# testing dependencies (duplicates setup.py tests_require, less optional extras): # testing dependencies (duplicates setup.py tests_require, less optional extras):