FitTrackee/mpwo_api/server.py

58 lines
1.4 KiB
Python

import unittest
from mpwo_api import app, db
from mpwo_api.activities.models import Sport
from mpwo_api.users.models import User
@app.cli.command()
def drop_db():
db.drop_all()
db.session.commit()
print('Database dropped.')
@app.cli.command()
def init_data():
"""Init the database."""
admin = User(
username='admin',
email='admin@example.com',
password='mpwoadmin')
admin.admin = True
db.session.add(admin)
db.session.add(Sport(label='Cycling (Sport)'))
db.session.add(Sport(label='Cycling (Transport)'))
db.session.add(Sport(label='Hiking'))
db.session.add(Sport(label='Mountain Biking'))
db.session.add(Sport(label='Running'))
db.session.add(Sport(label='Walking'))
db.session.commit()
print('Initial data stored in database.')
def run_test(test_path='mpwo_api/tests'):
"""Runs the tests without code coverage."""
tests = unittest.TestLoader().discover(
test_path, pattern='test*.py')
result = unittest.TextTestRunner(verbosity=2).run(tests)
if result.wasSuccessful():
return 0
return 1
@app.cli.command()
def test(test_path='mpwo_api/tests'):
"""Runs the tests without code coverage."""
run_test()
@app.cli.command()
def test_local():
"""Runs the tests without code coverage in local machine w/ make."""
run_test('mpwo_api/mpwo_api/tests')
if __name__ == '__main__':
app.run()