def test_prod_config(self):
        """ Tests if the production config loads correctly """

        app = create_app('cablemystreet.settings.ProdConfig', env='prod')

        assert app.config['SQLALCHEMY_DATABASE_URI'] == 'sqlite:///../database.db'
        assert app.config['CACHE_TYPE'] == 'simple'
    def test_dev_config(self):
        """ Tests if the development config loads correctly """

        app = create_app('cablemystreet.settings.DevConfig', env='dev')

        assert app.config['DEBUG'] is True
        assert app.config['SQLALCHEMY_DATABASE_URI'] == 'sqlite:///../database.db'
        assert app.config['CACHE_TYPE'] == 'null'
    def test_test_config(self):
        """ Tests if the test config loads correctly """

        app = create_app('cablemystreet.settings.TestConfig', env='dev')

        assert app.config['DEBUG'] is True
        assert app.config['SQLALCHEMY_ECHO'] is True
        assert app.config['CACHE_TYPE'] == 'null'
def testapp(request):
    app = create_app('cablemystreet.settings.TestConfig', env='dev')
    client = app.test_client()

    db.app = app
    db.create_all()

    def teardown():
        db.session.remove()
        db.drop_all()

    request.addfinalizer(teardown)

    return client
#!/usr/bin/env python

import os

from flask.ext.script import Manager, Server
from flask.ext.script.commands import ShowUrls, Clean
from cablemystreet import create_app
from cablemystreet.models import db

# default to dev config because no one should use this in
# production anyway
env = os.environ.get('cablemystreet_ENV', 'dev')
app = create_app('cablemystreet.settings.%sConfig' % env.capitalize(), env=env)

manager = Manager(app)
manager.add_command("server", Server())
manager.add_command("show-urls", ShowUrls())
manager.add_command("clean", Clean())


@manager.shell
def make_shell_context():
    """ Creates a python REPL with several default imports
        in the context of the app
    """

    return dict(app=app, db=db)


@manager.command
def createdb():