Metadata-Version: 1.1
Name: django-easytests
Version: 0.9.1
Summary: Slightly modified test utils from django-cms as a own module
Home-page: http://github.com/fivethreeo/django-easytests/
Author: Oyvind Saltvik
Author-email: oyvind.saltvik@gmail.com
License: UNKNOWN
Description: ================
        django-easytests
        ================
        
        Utils for test setup based on test utils from django-cms
        
        Installation
        ------------
        
        For the current stable version:
        
        ::
        
            pip install django-easytests
        
        For the development version:
        
        ::
        
            pip install -e git+git://github.com/fivethreeo/django-easytests.git@develop#egg=django-easytests
        
        Example usage in develop.py:
        -----------------------------
        
        ::
            
            #!/usr/bin/env python
            
            from djeasytests.testsetup import TestSetup
        
            settings = dict(
                ROOT_URLCONF='appname_test_project.urls',
                INSTALLED_APPS = [
                    'appname_test_project',
                    'appname',
                    'django.contrib.auth',
                    'django.contrib.contenttypes',
                    'django.contrib.sessions',
                    'django.contrib.admin',
                    'django.contrib.sites',
                    'django.contrib.staticfiles'
                ]
            )
            
            testsetup = TestSetup(
                appname='appname',
                test_settings=settings
            )
            
            if __name__ == '__main__':
                testsetup.run(__file__)
            
        Project structure
        -----------------
        
            How to lay out files for using django-easytests::
            
                django-appname
                  ...
                  appname/
                    __init__.py
                    views.py
                    urls.py
                    models.py
                    tests.py
                  testing/
                    appname_test_project/
                        __init__.py
                        templates/appname/
                  README.rst
                  MANIFEST.in
                  LICENSE
                  .travis.yml
                  develop.py
                  ...
        
        Running tests and commands
        --------------------------
        
        ::
        
            develop.py test
            develop.py --failfast test
            develop.py --parallel test
            develop.py --migrate test
            develop.py test test_labels here
            develop.py timed test
            develop.py isolated test
            develop.py manage help
            develop.py manage syncdb
            develop.py server
        
        Using a custom database
        -----------------------
        
        Simply set a environment varable::
        
            export DATABASE_URL="postgres://myuser:mypass@localhost/mydb"
            
        Then test, server and manage will use this database.
        
        Using existing settings:
        -----------------------
        
        Useful for testing projects
        
        appname/base_settings.py
        ========================
        
        ::
            
            ROOT_URLCONF = 'appname.urls',
            INSTALLED_APPS = [
                'appname'.
                'django.contrib.auth',
                'django.contrib.contenttypes',
                'django.contrib.sessions',
                'django.contrib.admin',
                'django.contrib.sites',
                'django.contrib.staticfiles'
            ]
            
            
        appname/settings.py
        ===================
        
        ::
            
            from appname.base_settings import *
            from local_settings import *
            
        appname/local_settings.py
        =========================
        
        ::
            
            SOME_LOCAL_SETTING = False
        
        
        develop.py
        ==========
        
        ::
            
            settings = dict(
                DEBUG = True
            )
            
            from appname import base_settings
            testsetup = TestSetup(
               appname='appname',
               test_settings=settings,
               fallback_settings=base_settings
            )
            
            if __name__ == '__main__':
                testsetup.run(__file__)
        
        default_settings
        ================
        
        By default fallback_settings gets merged with default_settings ( by default django.conf.global_settings) like in djangos settings.configure.
        
        This can be changed by passing default_settings with a module/object other than global_settings to TestSetup.
        
        ::
        
            from appname import other_global_settings
            testsetup = TestSetup(
                appname='appname',
                test_settings=settings,
                fallback_settings=base_settings,
                default_settings=other_global_settings
            )
        
        Additional apps (test_modules) for testing
        ==========================================
        
            Say you want this filestructure when the amount of test increase exponentially::
        
                django-appname
                  ...
                  appname/
                    __init__.py
                    views.py
                    urls.py
                    models.py
                  testing/
                    appname_test_project/
                        __init__.py
                        templates/appname/
                    appname_modeltests/
                        __init__.py
                        tests.py
                        models.py
                    appname_admintests/
                        __init__.py
                        tests.py
                        models.py
                    appname_somothertests/
                        __init__.py
                        tests.py
                        models.py
                  README.rst
                  MANIFEST.in
                  LICENSE
                  .travis.yml
                  develop.py
                  ...
        
            In develop.py::
                
                from djeasytests.testsetup import TestSetup
            
                settings = dict(
                    ROOT_URLCONF='appname_test_project.urls',
                    INSTALLED_APPS = [
                        'appname_modeltests',
                        'appname_admintests',
                        'appname_somothertests',
                        'appname_test_project',
                        'appname',
                        'django.contrib.auth',
                        'django.contrib.contenttypes',
                        'django.contrib.sessions',
                        'django.contrib.admin',
                        'django.contrib.sites',
                        'django.contrib.staticfiles'
                    ]
                )
            
                testsetup = TestSetup(
                    appname='appname',
                    test_settings=settings,
                    test_modules=['appname_modeltests','appname_admintests','appname_somothertests']
                )
                
                    
                if __name__ == '__main__':
                    testsetup.run(__file__)
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Framework :: Django
