Files
notifications-admin/tests/app/test_cloudfoundry_config.py
2024-07-15 08:07:18 -07:00

71 lines
1.8 KiB
Python

import json
import os
import pytest
from app.cloudfoundry_config import CloudfoundryConfig
bucket_credentials = {
"access_key_id": "contact-list-access",
"bucket": "contact-list-bucket",
"region": "us-gov-west-1",
"secret_access_key": "contact-list-secret",
}
@pytest.fixture
def vcap_services():
return {
"aws-elasticache-redis": [{"credentials": {"uri": "redis://xxx:6379"}}],
"s3": [
{
"name": "notify-api-csv-upload-bucket-test",
"credentials": {
"access_key_id": "csv-access",
"bucket": "csv-upload-bucket",
"region": "us-gov-west-1",
"secret_access_key": "csv-secret",
},
},
{
"name": "notify-api-contact-list-bucket-test",
"credentials": bucket_credentials,
},
],
}
def test_redis_url(vcap_services):
os.environ["VCAP_SERVICES"] = json.dumps(vcap_services)
assert CloudfoundryConfig().redis_url == "rediss://xxx:6379"
def test_redis_url_falls_back_to_REDIS_URL():
expected = "rediss://yyy:6379"
os.environ["REDIS_URL"] = expected
os.environ["VCAP_SERVICES"] = ""
assert CloudfoundryConfig().redis_url == expected
def test_s3_bucket_credentials(vcap_services):
os.environ["VCAP_SERVICES"] = json.dumps(vcap_services)
assert (
CloudfoundryConfig().s3_credentials("notify-api-contact-list-bucket-test")
== bucket_credentials
)
def test_s3_bucket_credentials_falls_back_to_empty_creds():
os.environ["VCAP_SERVICES"] = ""
expected = {
"bucket": "",
"access_key_id": "",
"secret_access_key": "",
"region": "",
}
assert CloudfoundryConfig().s3_credentials("bucket") == expected