Exemplo n.º 1
0
 def setUp(self):
     """Pre-test activities."""
     app.testing = True
     app.config['STRIPE_SECRET_KEY'] = 'foo'
     app.config['STRIPE_PUBLIC_KEY'] = 'bar'
     app.config['SITE_NAME'] = 'www.foo.com'
     app.config['STRIPE_SECRET_KEY'] = 'foo'
     app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
     app.config['WTF_CSRF_ENABLED'] = False
     app.config['FILE_DIRECTORY'] = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], 'files'))
     with app.app_context():
         db.init_app(current_app)
         db.metadata.create_all(db.engine)
         mail.init_app(current_app)
         bcrypt.init_app(current_app)
         self.db = db
         self.app = app.test_client()
         self.purchase_uuid = str(uuid.uuid4())
         product = Product(
             name='Test Product',
             file_name='test.txt',
             price=5.01)
         purchase = Purchase(product=product,
                 email='*****@*****.**',
                 uuid=self.purchase_uuid,
                 sold_at=datetime.datetime(2014, 1, 1, 12, 12, 12))
         user = User(email='*****@*****.**',
                 password=bcrypt.generate_password_hash('password'))
         db.session.add(product)
         db.session.add(purchase)
         db.session.add(user)
         db.session.commit()
Exemplo n.º 2
0
        threshold = today - datetime.timedelta(days=2)
    elif args.week:
        threshold = today - datetime.timedelta(days=7)
    with app.app_context():
        purchases = Purchase.query.filter(Purchase.sold_at>threshold).all()
        sales = sum(p.product.price for p in purchases)
        for purchase in purchases:
            print str(purchase), purchase.sold_at
        print '{} sales in that period'.format(len(purchases))
        print '{} in total sales in that period'.format(sales)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    with app.app_context():
        current_app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite+pysqlite:////Users/jknupp/code/github_code/bull/sqlite3.db'
        db.init_app(current_app)
    parser.add_argument('-t', '--today', help='Get today\'s stats', action='store_true')
    parser.add_argument('-w', '--week', help='Get seven days stats', action='store_true')
    parser.add_argument('-y', '--yesterday', help='Get yesterday\'s stats', action='store_true')
    parser.add_argument('-a', '--all', help='Get all purchases', action='store_true')
    sys.exit(main(parser.parse_args()))

########NEW FILE########
__FILENAME__ = test_bull
"""Tests for the Bull digital goods sales application."""

import datetime
import unittest
import uuid
import os