mirror of
https://github.com/GSA/notifications-api.git
synced 2026-06-02 04:20:20 -04:00
Merge pull request #850 from alphagov/paas_redis_config
Get Redis config from PaaS
This commit is contained in:
@@ -32,6 +32,8 @@ def set_config_env_vars(vcap_services):
|
||||
extract_mmg_config(s)
|
||||
elif s['name'] == 'firetext':
|
||||
extract_firetext_config(s)
|
||||
elif s['name'] == 'redis':
|
||||
extract_redis_config(s)
|
||||
|
||||
|
||||
def extract_notify_config(notify_config):
|
||||
@@ -60,3 +62,8 @@ def extract_mmg_config(mmg_config):
|
||||
def extract_firetext_config(firetext_config):
|
||||
os.environ['FIRETEXT_API_KEY'] = firetext_config['credentials']['api_key']
|
||||
os.environ['LOADTESTING_API_KEY'] = firetext_config['credentials']['loadtesting_api_key']
|
||||
|
||||
|
||||
def extract_redis_config(redis_config):
|
||||
os.environ['REDIS_ENABLED'] = redis_config['credentials']['redis_enabled']
|
||||
os.environ['REDIS_URL'] = redis_config['credentials']['redis_url']
|
||||
|
||||
@@ -54,6 +54,10 @@ def process_ses_response():
|
||||
client_name = 'SES'
|
||||
try:
|
||||
ses_request = json.loads(request.data)
|
||||
|
||||
if 'Type' in ses_request and ses_request['Type'] == 'SubscriptionConfirmation':
|
||||
current_app.logger.info("SNS subscription confirmation url: {}".format(ses_request['SubscribeURL']))
|
||||
|
||||
errors = validate_callback_data(data=ses_request, fields=['Message'], client_name=client_name)
|
||||
if errors:
|
||||
raise InvalidRequest(errors, status_code=400)
|
||||
|
||||
@@ -9,6 +9,7 @@ services:
|
||||
- mmg
|
||||
- firetext
|
||||
- hosted-graphite
|
||||
- redis
|
||||
env:
|
||||
NOTIFY_APP_NAME: public-api
|
||||
CW_APP_NAME: api
|
||||
|
||||
@@ -10,6 +10,7 @@ services:
|
||||
- mmg
|
||||
- firetext
|
||||
- hosted-graphite
|
||||
- redis
|
||||
instances: 1
|
||||
memory: 512M
|
||||
|
||||
|
||||
@@ -75,6 +75,17 @@ def postgres_config():
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def redis_config():
|
||||
return {
|
||||
'name': 'redis',
|
||||
'credentials': {
|
||||
'redis_enabled': '1',
|
||||
'redis_url': 'redis url'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def cloudfoundry_config(
|
||||
postgres_config,
|
||||
@@ -82,7 +93,8 @@ def cloudfoundry_config(
|
||||
aws_config,
|
||||
hosted_graphite_config,
|
||||
mmg_config,
|
||||
firetext_config
|
||||
firetext_config,
|
||||
redis_config
|
||||
):
|
||||
return {
|
||||
'postgres': postgres_config,
|
||||
@@ -91,7 +103,8 @@ def cloudfoundry_config(
|
||||
aws_config,
|
||||
hosted_graphite_config,
|
||||
mmg_config,
|
||||
firetext_config
|
||||
firetext_config,
|
||||
redis_config
|
||||
]
|
||||
}
|
||||
|
||||
@@ -165,3 +178,11 @@ def test_firetext_config():
|
||||
|
||||
assert os.environ['FIRETEXT_API_KEY'] == 'firetext api key'
|
||||
assert os.environ['LOADTESTING_API_KEY'] == 'loadtesting api key'
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('os_environ', 'cloudfoundry_environ')
|
||||
def test_redis_config():
|
||||
extract_cloudfoundry_config()
|
||||
|
||||
assert os.environ['REDIS_ENABLED'] == '1'
|
||||
assert os.environ['REDIS_URL'] == 'redis url'
|
||||
|
||||
Reference in New Issue
Block a user