def test_configuration_with_env_vars(self): app_name = "brontocrane" path_prefix = "r/slaterock/platform" expected_base_url = f"/{path_prefix}/{app_name}" expected_api_path = f"{expected_base_url}/v1" expected_mgmt_url_path_prefix = "/mgmt_testing" new_env = {"INVENTORY_DB_USER": "******", "INVENTORY_DB_PASS": "******", "INVENTORY_DB_HOST": "localhost", "INVENTORY_DB_NAME": "SlateRockAndGravel", "INVENTORY_DB_POOL_TIMEOUT": "3", "INVENTORY_DB_POOL_SIZE": "8", "APP_NAME": app_name, "PATH_PREFIX": path_prefix, "INVENTORY_MANAGEMENT_URL_PATH_PREFIX": expected_mgmt_url_path_prefix, } with set_environment(new_env): conf = Config() self.assertEqual(conf.db_uri, "postgresql://*****:*****@localhost/SlateRockAndGravel") self.assertEqual(conf.db_pool_timeout, 3) self.assertEqual(conf.db_pool_size, 8) self.assertEqual(conf.api_url_path_prefix, expected_api_path) self.assertEqual(conf.mgmt_url_path_prefix, expected_mgmt_url_path_prefix)
def test_config_default_settings(self): expected_api_path = "/api/inventory/v1" expected_mgmt_url_path_prefix = "/" # Make sure the environment variables are not set with set_environment(None): conf = Config() self.assertEqual(conf.db_uri, "postgresql://*****:*****@localhost/insights") self.assertEqual(conf.api_url_path_prefix, expected_api_path) self.assertEqual(conf.mgmt_url_path_prefix, expected_mgmt_url_path_prefix) self.assertEqual(conf.db_pool_timeout, 5) self.assertEqual(conf.db_pool_size, 5)
def test_config_development_settings(self): with set_environment({"INVENTORY_DB_POOL_TIMEOUT": "3"}): conf = Config() self.assertEqual(conf.db_pool_timeout, 3)
def test_validation_env_var_not_set(self): identity = self._build_id() with set_environment({}): with self.assertRaises(ValueError): validate(identity)
def test_validation(self): identity = self._build_id() with set_environment({SHARED_SECRET_ENV_VAR: self.shared_secret}): validate(identity)