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()
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