From 5cd36b3c667fe06b992b8c612f7e1fe8ce5baba1 Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Wed, 19 Nov 2014 17:23:58 +0100 Subject: [PATCH] Test: use django-setuptest for handling test via 'setup.py test' --- pytest.ini | 3 - setup.py | 20 +- telemeta/settings_base.py | 189 ++++++++++++++++++ .../settings_sqlite.py => test_settings.py | 3 + 4 files changed, 195 insertions(+), 20 deletions(-) delete mode 100644 pytest.ini create mode 100644 telemeta/settings_base.py rename telemeta/tests/settings_sqlite.py => test_settings.py (74%) diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index 8e1f5368..00000000 --- a/pytest.ini +++ /dev/null @@ -1,3 +0,0 @@ -[pytest] -#django_find_project = false -DJANGO_SETTINGS_MODULE = telemeta.tests.settings_sqlite \ No newline at end of file diff --git a/setup.py b/setup.py index 0830c336..54f862ac 100644 --- a/setup.py +++ b/setup.py @@ -1,19 +1,5 @@ # -*- coding: utf-8 -*- from setuptools import setup, find_packages -from setuptools.command.test import test as TestCommand -import os - - -class PyTest(TestCommand): - def finalize_options(self): - TestCommand.finalize_options(self) - self.test_args = ['--strict', '--verbose', '--tb=long', 'tests' , - '--cov' 'telemeta'] - self.test_suite = True - def run_tests(self): - import pytest - errno = pytest.main(self.test_args) - sys.exit(errno) CLASSIFIERS = ['Environment :: Web Environment', @@ -57,9 +43,9 @@ setup( 'psutil', 'pyyaml', 'python-ebml', - ], - cmdclass={'test': PyTest}, - tests_require=['pytest'], + ], + test_suite='setuptest.setuptest.SetupTestSuite', + tests_require=['django-setuptest'], dependency_links = ['https://github.com/yomguy/django-json-rpc/tarball/0.6.2', 'https://github.com/yomguy/django-dynamic-formset/tarball/master', ], diff --git a/telemeta/settings_base.py b/telemeta/settings_base.py new file mode 100644 index 00000000..1ecd79da --- /dev/null +++ b/telemeta/settings_base.py @@ -0,0 +1,189 @@ +# -*- coding: utf-8 -*- +# Django settings for sandbox project. + +import os, sys +from django.core.urlresolvers import reverse_lazy, reverse + +DEBUG = True +TEMPLATE_DEBUG = DEBUG +sys.dont_write_bytecode = True + +ADMINS = ( + ('Guillaume Pellerin', 'yomguy@parisson.com'), +) + +MANAGERS = ADMINS + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. + 'NAME': 'sandbox.sql', # Or path to database file if using sqlite3. + 'USER': '', # Not used with sqlite3. + 'PASSWORD': '', # Not used with sqlite3. + 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT': '', # Set to empty string for default. Not used with sqlite3. + } +} + +# Local time zone for this installation. Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# On Unix systems, a value of None will cause Django to use the same +# timezone as the operating system. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = 'Europe/Paris' + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +#LANGUAGE_CODE = 'fr_FR' +LANGUAGES = [ ('fr', 'French'), + ('en', 'English'), +] + +SITE_ID = 1 + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True + +# If you set this to False, Django will not format dates, numbers and +# calendars according to the current locale +USE_L10N = True + +# Absolute path to the directory that holds media. +# Example: "/home/media/media.lawrence.com/" +MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media/') + +if not os.path.exists(MEDIA_ROOT): + os.mkdir(MEDIA_ROOT) + +# URL that handles the media served from MEDIA_ROOT. Make sure to use a +# trailing slash if there is a path component (optional in other cases). +# Examples: "http://media.lawrence.com", "http://example.com/media/" +MEDIA_URL = '/media/' + +# Absolute path to the directory static files should be collected to. +# Don't put anything in this directory yourself; store your static files +# in apps' "static/" subdirectories and in STATICFILES_DIRS. +# Example: "/home/media/media.lawrence.com/static/" +STATIC_ROOT = '' + +# URL prefix for static files. +# Example: "http://media.lawrence.com/static/" +STATIC_URL = '/static/' + +# Additional locations of static files +STATICFILES_DIRS = ( +# Put strings here, like "/home/html/static" or "C:/www/django/static". +# Always use forward slashes, even on Windows. +# Don't forget to use absolute paths, not relative paths. +) + +# List of finder classes that know how to find static files in +# various locations. +STATICFILES_FINDERS = ( +'django.contrib.staticfiles.finders.FileSystemFinder', +'django.contrib.staticfiles.finders.AppDirectoriesFinder', +# 'django.contrib.staticfiles.finders.DefaultStorageFinder', +) +# Make this unique, and don't share it with anybody. +SECRET_KEY = 'a8l7%06wr2k+3=%#*#@#rvop2mmzko)44%7k(zx%lls^ihm9^5' + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', +) + + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.locale.LocaleMiddleware', + # 'pagination.middleware.PaginationMiddleware', +) + +ROOT_URLCONF = 'urls' + +TEMPLATE_DIRS = ( + # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.admin', + 'django.contrib.staticfiles', + 'django_extensions', + 'telemeta', + 'timeside.player', + 'jsonrpc', + 'south', + 'sorl.thumbnail', + 'timezones', + 'jqchat', + 'extra_views', + # 'breadcrumbs', + 'debug_toolbar', + 'bootstrap3', + 'bootstrap_pagination', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( + 'django.core.context_processors.request', + 'django.contrib.auth.context_processors.auth', + "django.core.context_processors.i18n", + "django.core.context_processors.media", + 'django.core.context_processors.static', + 'django.contrib.messages.context_processors.messages', +) + +TELEMETA_ORGANIZATION = 'Parisson' +TELEMETA_SUBJECTS = ('test', 'telemeta', 'sandbox') +TELEMETA_DESCRIPTION = "Telemeta TEST sandbox" +TELEMETA_GMAP_KEY = 'ABQIAAAArg7eSfnfTkBRma8glnGrlxRVbMrhnNNvToCbZQtWdaMbZTA_3RRGObu5PDoiBImgalVnnLU2yN4RMA' +TELEMETA_CACHE_DIR = MEDIA_ROOT + 'cache/' +TELEMETA_EXPORT_CACHE_DIR = MEDIA_ROOT + 'export/' +TELEMETA_DATA_CACHE_DIR = TELEMETA_CACHE_DIR + "data/" + +TELEMETA_DOWNLOAD_ENABLED = True +TELEMETA_STREAMING_FORMATS = ('mp3', 'ogg') +TELEMETA_DOWNLOAD_FORMATS = ('wav', 'mp3', 'ogg', 'flac') +TELEMETA_PUBLIC_ACCESS_PERIOD = 51 +TELEMETA_DEFAULT_WAVEFORM_SIZES = ['360x130', '640x130'] + +AUTH_PROFILE_MODULE = 'telemeta.userprofile' +SESSION_EXPIRE_AT_BROWSER_CLOSE = False + +LOGIN_URL = '/login/' +LOGIN_REDIRECT_URL = '/desk/lists/' + +EMAIL_HOST = 'localhost' +DEFAULT_FROM_EMAIL = 'webmaster@parisson.com' + +TIMESIDE_DEFAULT_GRAPHER_ID = 'waveform_centroid' +TIMESIDE_AUTO_ZOOM = True + +# Settings for django-bootstrap3 +BOOTSTRAP3 = { + 'set_required': True, + 'set_placeholder': False, + 'error_css_class': 'has-error', + 'required_css_class': 'has-warning', + 'javascript_in_head': True, +} + +PAGINATION_SETTINGS = { + 'PAGE_RANGE_DISPLAYED': 10, + 'MARGIN_PAGES_DISPLAYED': 2, +} diff --git a/telemeta/tests/settings_sqlite.py b/test_settings.py similarity index 74% rename from telemeta/tests/settings_sqlite.py rename to test_settings.py index bc96253a..86e64b4d 100644 --- a/telemeta/tests/settings_sqlite.py +++ b/test_settings.py @@ -1,3 +1,6 @@ +from telemeta.settings_base import * + + DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', -- 2.39.5