mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-10 12:41:00 -05:00
These env vars can be set directly in the manifest, like we do for
Template Preview [^1].
[^1]: c08036189b/manifest.yml.j2 (L23-L26)
40 lines
973 B
Python
40 lines
973 B
Python
import json
|
|
import os
|
|
|
|
import pytest
|
|
|
|
from app.cloudfoundry_config import extract_cloudfoundry_config
|
|
|
|
|
|
@pytest.fixture
|
|
def vcap_services():
|
|
return {
|
|
'postgres': [{
|
|
'credentials': {
|
|
'uri': 'postgres uri'
|
|
}
|
|
}],
|
|
'redis': [{
|
|
'credentials': {
|
|
'uri': 'redis uri'
|
|
}
|
|
}],
|
|
'user-provided': []
|
|
}
|
|
|
|
|
|
def test_extract_cloudfoundry_config_populates_other_vars(os_environ, vcap_services):
|
|
os.environ['VCAP_SERVICES'] = json.dumps(vcap_services)
|
|
extract_cloudfoundry_config()
|
|
|
|
assert os.environ['SQLALCHEMY_DATABASE_URI'] == 'postgresql uri'
|
|
assert os.environ['REDIS_URL'] == 'redis uri'
|
|
|
|
|
|
def test_extract_cloudfoundry_config_copes_if_redis_not_set(os_environ, vcap_services):
|
|
del vcap_services['redis']
|
|
os.environ['VCAP_SERVICES'] = json.dumps(vcap_services)
|
|
|
|
extract_cloudfoundry_config()
|
|
assert 'REDIS_URL' not in os.environ
|