Browse Source

Updated tests. Now using django TestCase, fabric command and fox working again.

develop
Felipe Martín 9 years ago
parent
commit
c768b88fa5
  1. 2
      config/development/local_settings.py
  2. 2
      fabfile.py
  3. 2
      minecraftcodex/herobrine/settings.py
  4. 0
      minecraftcodex/runtests/__init__.py
  5. 1
      minecraftcodex/runtests/local_settings.py
  6. 31
      minecraftcodex/runtests/runtests.py
  7. 128
      minecraftcodex/runtests/settings.py
  8. 0
      minecraftcodex/tests/__init__.py
  9. 7
      minecraftcodex/tests/base.py
  10. 3
      minecraftcodex/tests/models.py
  11. 13
      minecraftcodex/tests/tests.py
  12. 12
      tests/local_settings.py
  13. 3
      tox.ini

2
config/development/local_settings.py

@ -1,5 +1,5 @@
LOCAL_SETTINGS = True
from herobrine.settings import *
from settings import *
DEBUG = True
TEMPLATE_DEBUG = DEBUG

2
fabfile.py

@ -182,7 +182,7 @@ def run():
def test():
if not active_virtualenv():
with prefix(env.activate):
local('python -m unittest discover')
local('python minecraftcodex/runtests/runtests.py')
with settings(hide('warnings', 'running', 'stdout', 'stderr'),
warn_only=True):
local('find . -type d -name __pycache__ -exec rm -rf {} \;',

2
minecraftcodex/herobrine/settings.py

@ -166,7 +166,7 @@ try:
LOCAL_SETTINGS
except NameError:
try:
from herobrine.local_settings import *
from local_settings import *
except ImportError as error:
print(error)
pass

0
tests/__init__.py → minecraftcodex/runtests/__init__.py

1
minecraftcodex/runtests/local_settings.py

@ -0,0 +1 @@
LOCAL_SETTINGS = True

31
minecraftcodex/runtests/runtests.py

@ -0,0 +1,31 @@
from __future__ import absolute_import
import os
import sys
# fix sys path so we don't need to setup PYTHONPATH
sys.path.insert(0, os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'minecraftcodex.runtests.settings'
from django.conf import settings
from django.test.utils import get_runner
def usage():
return """
Usage: python runtests.py [UnitTestClass].[method]
You can pass the Class name of the `UnitTestClass` you want to test.
Append a method name if you only want to test a specific method of that class.
"""
def main():
TestRunner = get_runner(settings)
test_runner = TestRunner()
failures = test_runner.run_tests(['tests'], verbosity=1)
sys.exit(failures)
if __name__ == '__main__':
main()

128
minecraftcodex/runtests/settings.py

@ -0,0 +1,128 @@
# Django settings for herobrine project.
DEBUG = False
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Felipe Martin', 'fmartingr@me.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'tests.sqlite',
}
}
# Hosts/domain names that are valid for this site; required if DEBUG is False
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
ALLOWED_HOSTS = []
# 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.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = 'Europe/Madrid'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'
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
# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/var/www/example.com/media/"
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://example.com/media/", "http://media.example.com/"
MEDIA_URL = ''
# 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: "/var/www/example.com/static/"
STATIC_ROOT = ''
# URL prefix for static files.
# Example: "http://example.com/static/", "http://static.example.com/"
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 = '1234567890'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'jingo.Loader',
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
JINGO_INCLUDE_PATTERN = r'\.jinja2'
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.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'minecraftcodex.herobrine.urls'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'grappelli',
'django.contrib.admin',
'south',
'minecraftcodex',
'minecraftcodex.database',
'minecraftcodex.tests',
)
try:
LOCAL_SETTINGS
except NameError:
try:
from local_settings import *
except ImportError as error:
print(error)
pass

0
minecraftcodex/tests/__init__.py

7
minecraftcodex/tests/base.py

@ -0,0 +1,7 @@
from django.test import TestCase
from django.conf import settings
class SettingsTest(TestCase):
def test_local_settings(self):
self.assertTrue(settings.LOCAL_SETTINGS)

3
minecraftcodex/tests/models.py

@ -0,0 +1,3 @@
#from django.db import models
# Create your models here.

13
minecraftcodex/tests/tests.py

@ -0,0 +1,13 @@
"""
Import all tests.
https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/tests/tests.py
"""
import os
modules = [filename.rsplit('.', 1)[0]
for filename in os.listdir(os.path.dirname(__file__))
if filename.endswith('.py') and not filename.startswith('_')]
__test__ = dict()
for module in modules:
exec("from minecraftcodex.tests.%s import *" % module)

12
tests/local_settings.py

@ -1,12 +0,0 @@
LOCAL_SETTINGS = True
from herobrine.settings import *
DEBUG = True
TEMPLATE_DEBUG = DEBUG
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'dev_ddbb.sqlite',
}
}

3
tox.ini

@ -2,9 +2,10 @@
envlist = py27, py33
[testenv]
commands = {envpython} -m unittest discover
commands = {envpython} minecraftcodex/runtests/runtests.py
deps =
Django==1.5.1
jingo==0.6.1
django-grappelli==2.4.4
South==0.7.6

Loading…
Cancel
Save