示例#1
0
 def test_load_config_fill_with_defaults(self, _):
     self.config_loader = ConfigLoader(use_vault=False)
     self.config = self.config_loader.load_config(
         path='resources/',
         environments='with_defaults',
         fill_with_defaults=True)
     expected = {
         'defaults': {
             'config': {
                 'protocol': 'http',
                 'api': '/v2/apps',
                 'username': '******',
                 'password': '******'
             }
         },
         'config': [{
             'api': '/v2/apps',
             'password': '******',
             'protocol': 'ftp',
             'username': '******'
         }, {
             'api': '/v2/apps',
             'host': 'marathon.tesla.develop.lhotse.ov.otto.de',
             'password': '******',
             'protocol': 'http',
             'username': '******'
         }, {
             'api': '/v2/apps',
             'password': '******',
             'protocol': 'http',
             'username': '******'
         }]
     }
     self.assertDictEqual(expected, self.config)
示例#2
0
文件: app.py 项目: otto-de/gatekeeper
def create_app(environment, port):
    flask = Flask(__name__)
    flask.config.from_pyfile('config.py')

    config_loader = ConfigLoader(verify=False)
    info = config_loader.load_application_info("./")
    config = config_loader.load_config("resources/", environment)

    view_util.navigation_bar = navigation_bar
    view_util.app_name = info['name']

    status.blueprint.navigation_bar = navigation_bar
    status.blueprint.info = info
    status.blueprint.environment = environment
    status.blueprint.port = port
    status.blueprint.start_time = Delorean.now()

    mongo = MongoConnect(config)
    state.mongo = mongo

    views.blueprint.mongo = mongo
    views.blueprint.config = config['app']
    api.blueprint.mongo = mongo
    api.blueprint.config = config['app']

    flask.register_blueprint(status.blueprint)
    flask.register_blueprint(views.blueprint)
    flask.register_blueprint(api.blueprint)
    return flask
示例#3
0
 def test_load_config_with_env_variable(self, _):
     self.config_loader = ConfigLoader(use_vault=False)
     self.config = self.config_loader.load_config(path='resources/',
                                                  environments='env')
     self.assertEqual(
         {
             'filename': 'env',
             'test_env': self.env_HOME,
             'empty_test_env': ''
         }, self.config)
示例#4
0
    def test_load_config_with_vault(self, mock):
        mock.register_uri('GET',
                          "http://www.some-url.de/v1/secret/path",
                          text=json.dumps({'data': {
                              'value': 'some secret'
                          }}))

        self.config_loader = ConfigLoader(use_vault=True,
                                          vault_addr="http://www.some-url.de",
                                          vault_token="AAAA")
        self.config = self.config_loader.load_config(path='resources/',
                                                     environments='vault')
        self.assertEqual({
            'filename': 'vault',
            'secret': 'some secret'
        }, self.config)
示例#5
0
def create_app(port, environment, working_dir, greedy_mode):
    flask = Flask(__name__)
    flask.config.from_pyfile('config.py')

    flask.jinja_env.filters['ceil'] = view_util.ceil

    config_loader = ConfigLoader(verify=False)
    config.info = config_loader.load_application_info("./")
    config.config = config_loader.load_config("resources/",
                                              environment,
                                              fill_with_defaults=True)
    config.rdb = redislite.Redis(working_dir + 'redis.db')
    config.rdb.flushall()
    config.rdb.flushdb()

    start_tasks(config.config, greedy_mode)

    register_status_page(flask, config.rdb, config.info, environment, port)

    flask.register_blueprint(views.blueprint)
    flask.register_blueprint(styleguide.blueprint)

    return flask
示例#6
0
 def test_load_config_with_vault_disabled(self, _):
     self.config_loader = ConfigLoader(use_vault=False)
     self.config = self.config_loader.load_config(path='resources/',
                                                  environments='vault')
     self.assertEqual({'filename': 'vault', 'secret': ''}, self.config)
示例#7
0
 def test_load_multiple_configs_with_empty_files(self, _):
     self.config_loader = ConfigLoader(use_vault=False)
     self.config = self.config_loader.load_config(
         path='resources/', environments=['develop', 'empty', 'live'])
     self.assertEqual({'filename': 'live'}, self.config)
示例#8
0
 def test_load_config(self, _):
     self.config_loader = ConfigLoader(use_vault=False)
     self.config = self.config_loader.load_config(path='resources/',
                                                  environments='develop')
     self.assertEqual({'filename': 'develop'}, self.config)