Remove redundant CloudFoundry config code

These env vars can be set directly in the manifest, like we do for
Template Preview [^1].

[^1]: c08036189b/manifest.yml.j2 (L23-L26)
This commit is contained in:
Ben Thorner
2022-04-13 14:45:29 +01:00
parent 5f84ea938c
commit be1fc9de79
3 changed files with 8 additions and 22 deletions

View File

@@ -1,8 +1,3 @@
"""
Extracts cloudfoundry config from its json and populates the environment variables that we would expect to be populated
on local/aws boxes
"""
import json import json
import os import os
@@ -13,7 +8,3 @@ def extract_cloudfoundry_config():
# Redis config # Redis config
if 'redis' in vcap_services: if 'redis' in vcap_services:
os.environ['REDIS_URL'] = vcap_services['redis'][0]['credentials']['uri'] os.environ['REDIS_URL'] = vcap_services['redis'][0]['credentials']['uri']
vcap_application = json.loads(os.environ.get('VCAP_APPLICATION'))
os.environ['NOTIFY_ENVIRONMENT'] = vcap_application['space_name']
os.environ['NOTIFY_LOG_PATH'] = '/home/vcap/logs/app.log'

View File

@@ -36,7 +36,9 @@ applications:
env: env:
NOTIFY_APP_NAME: admin NOTIFY_APP_NAME: admin
NOTIFY_LOG_PATH: /home/vcap/logs/app.log
FLASK_APP: application.py FLASK_APP: application.py
NOTIFY_ENVIRONMENT: {{ environment }}
# Credentials variables # Credentials variables
ADMIN_CLIENT_SECRET: '{{ ADMIN_CLIENT_SECRET }}' ADMIN_CLIENT_SECRET: '{{ ADMIN_CLIENT_SECRET }}'

View File

@@ -7,7 +7,7 @@ from app.cloudfoundry_config import extract_cloudfoundry_config
@pytest.fixture @pytest.fixture
def cloudfoundry_config(): def vcap_services():
return { return {
'redis': [{ 'redis': [{
'credentials': { 'credentials': {
@@ -17,23 +17,16 @@ def cloudfoundry_config():
} }
@pytest.fixture def test_extract_cloudfoundry_config_populates_other_vars(os_environ, vcap_services):
def vcap_application(os_environ): os.environ['VCAP_SERVICES'] = json.dumps(vcap_services)
os.environ['VCAP_APPLICATION'] = '{"space_name":"🚀🌌"}'
def test_extract_cloudfoundry_config_populates_other_vars(vcap_application, cloudfoundry_config):
os.environ['VCAP_SERVICES'] = json.dumps(cloudfoundry_config)
extract_cloudfoundry_config() extract_cloudfoundry_config()
assert os.environ['REDIS_URL'] == 'redis uri' assert os.environ['REDIS_URL'] == 'redis uri'
assert os.environ['NOTIFY_ENVIRONMENT'] == '🚀🌌'
assert os.environ['NOTIFY_LOG_PATH'] == '/home/vcap/logs/app.log'
def test_set_config_env_vars_copes_if_redis_not_set(vcap_application, cloudfoundry_config): def test_extract_cloudfoundry_config_copes_if_redis_not_set(os_environ, vcap_services):
del cloudfoundry_config['redis'] del vcap_services['redis']
os.environ['VCAP_SERVICES'] = json.dumps(cloudfoundry_config) os.environ['VCAP_SERVICES'] = json.dumps(vcap_services)
extract_cloudfoundry_config() extract_cloudfoundry_config()
assert 'REDIS_URL' not in os.environ assert 'REDIS_URL' not in os.environ