Coverage for tests/test_configs.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""
2test all the different configurations types in
3config.py
4"""
5import pytest
8class TestAppConfigs:
9 @pytest.mark.parametrize("app_type", ["development"])
10 def test_dev_app_config(self, app):
12 config = app.config
14 assert "ENV" in config
15 assert config["ENV"] == "development"
16 assert "DEBUG" in config
17 assert config["DEBUG"] is True
18 assert config["LOGIN_DISABLED"] is not None
19 assert "SECRET_KEY" in config
20 assert config["SECRET_KEY"] is not None
21 assert "SQLALCHEMY_DATABASE_URI" in config
22 assert config["SQLALCHEMY_DATABASE_URI"] is not None
23 assert config["MAIL_SERVER"] in ["localhost", "console"]
24 assert "MAIL_PORT" in config
25 assert "MAIL_USERNAME" in config
26 assert "MAIL_PASSWORD" in config
27 assert "MAIL_DEFAULT_SENDER" in config
29 @pytest.mark.parametrize("app_type", ["production"])
30 def test_prod_app_config(self, app):
31 """
32 Test the productions configs. Environment variable
33 configs(private configs) are loaded from .test.prod.env just
34 to make sure these are loaded correctly
35 """
36 config = app.config
38 assert "ENV" in config
39 assert config["ENV"] == "production"
40 assert "DEBUG" in config
41 assert config["DEBUG"] is False
42 assert "SECRET_KEY" in config
43 assert config["SECRET_KEY"] == "secret"
44 assert "EMAIL_CONFIRMATION_DISABLED" in config
45 assert config["MAIL_SERVER"] not in ["localhost", "console"]
46 assert "MAIL_PORT" in config
47 assert "MAIL_USERNAME" in config
48 assert config["MAIL_USERNAME"] == "foo@gmail.com"
49 assert "MAIL_PASSWORD" in config
50 assert config["MAIL_PASSWORD"] == "pass"
51 assert "MAIL_DEFAULT_SENDER" in config
52 assert config["MAIL_DEFAULT_SENDER"] == "foo@gmail.com"
53 assert "SQLALCHEMY_DATABASE_URI" in config
54 assert (
55 config["SQLALCHEMY_DATABASE_URI"]
56 == "mysql+pymysql://db_username:db_password@db_host/db_name"
57 )