import os import unittest from flask import current_app from flask_testing import TestCase from backend import app basedir = os.path.abspath(os.path.join(os.path.abspath(app.root_path), os.pardir)) class TestDevelopmentConfig(TestCase): def create_app(self): app.config.from_object('backend.config.DevelopmentConfig') return app def test_app_is_development(self): self.assertFalse(app.config['SECRET_KEY'] is 'you-will-never-guess') self.assertTrue(app.config['DEBUG'] is True) self.assertFalse(current_app is None) self.assertTrue( app.config['SQLALCHEMY_DATABASE_URI'] == 'sqlite:///' + os.path.join(basedir, 'app.db_debug') ) class TestTestingConfig(TestCase): def create_app(self): app.config.from_object('backend.config.TestingConfig') return app def test_app_is_testing(self): self.assertFalse(app.config['SECRET_KEY'] is 'you-will-never-guess') self.assertTrue(app.config['DEBUG']) self.assertTrue( app.config['SQLALCHEMY_DATABASE_URI'] == 'sqlite:///' + os.path.join(basedir, 'app.db_test') ) class TestProductionConfig(TestCase): def create_app(self): app.config.from_object('backend.config.Config') return app def test_app_is_production(self): self.assertTrue(app.config['DEBUG'] is False) if __name__ == '__main__': unittest.main()