Use nonexistant buckets in testing to verify mocks

This commit is contained in:
Ryan Ahearn
2022-10-26 13:19:07 +00:00
parent 921c872bd1
commit d98e25180f
3 changed files with 20 additions and 21 deletions

View File

@@ -79,6 +79,15 @@ class Config(object):
}
def _default_s3_credentials(bucket_name):
return {
'bucket': bucket_name,
'access_key_id': os.environ.get('AWS_ACCESS_KEY_ID'),
'secret_access_key': os.environ.get('AWS_SECRET_ACCESS_KEY'),
'region': os.environ.get('AWS_REGION')
}
class Development(Config):
BASIC_AUTH_FORCE = False
DEBUG = True
@@ -89,24 +98,9 @@ class Development(Config):
ASSET_PATH = '/static/'
# Buckets
CSV_UPLOAD_BUCKET = {
'bucket': 'local-notifications-csv-upload',
'access_key_id': os.environ.get('AWS_ACCESS_KEY_ID'),
'secret_access_key': os.environ.get('AWS_SECRET_ACCESS_KEY'),
'region': os.environ.get('AWS_REGION')
}
CONTACT_LIST_BUCKET = {
'bucket': 'local-contact-list',
'access_key_id': os.environ.get('AWS_ACCESS_KEY_ID'),
'secret_access_key': os.environ.get('AWS_SECRET_ACCESS_KEY'),
'region': os.environ.get('AWS_REGION')
}
LOGO_UPLOAD_BUCKET = {
'bucket': 'local-public-logos-tools',
'access_key_id': os.environ.get('AWS_ACCESS_KEY_ID'),
'secret_access_key': os.environ.get('AWS_SECRET_ACCESS_KEY'),
'region': os.environ.get('AWS_REGION')
}
CSV_UPLOAD_BUCKET = _default_s3_credentials('local-notifications-csv-upload')
CONTACT_LIST_BUCKET = _default_s3_credentials('local-contact-list')
LOGO_UPLOAD_BUCKET = _default_s3_credentials('local-public-logos-tools')
# credential overrides
DANGEROUS_SALT = 'dev-notify-salt'
@@ -129,6 +123,11 @@ class Test(Development):
ANTIVIRUS_ENABLED = True
LOGO_CDN_DOMAIN = 'static-logos.test.com'
# Buckets
CSV_UPLOAD_BUCKET = _default_s3_credentials('test-csv-upload')
CONTACT_LIST_BUCKET = _default_s3_credentials('test-contact-list')
LOGO_UPLOAD_BUCKET = _default_s3_credentials('test-logo-upload')
class Production(Config):
HEADER_COLOUR = '#005EA5' # $govuk-blue

View File

@@ -208,7 +208,7 @@ def test_upload_csv_file_shows_error_banner(
mock_upload.assert_called_once_with(
filedata='',
region='us-west-2',
bucket_name='local-contact-list',
bucket_name='test-contact-list',
file_location=f"service-{SERVICE_ONE_ID}-notify/{fake_uuid}.csv",
access_key=default_access_key,
secret_key=default_secret_key,

View File

@@ -4,7 +4,7 @@ from app.s3_client.s3_csv_client import set_metadata_on_csv_upload
def test_sets_metadata(client_request, mocker):
mocked_s3_object = Mock(bucket_name='local-notifications-csv-upload', key='service-1234-notify/5678.csv')
mocked_s3_object = Mock(bucket_name='test-csv-upload', key='service-1234-notify/5678.csv')
mocked_get_s3_object = mocker.patch(
'app.s3_client.s3_csv_client.get_csv_upload',
return_value=mocked_s3_object,
@@ -14,7 +14,7 @@ def test_sets_metadata(client_request, mocker):
mocked_get_s3_object.assert_called_once_with('1234', '5678')
mocked_s3_object.copy_from.assert_called_once_with(
CopySource='local-notifications-csv-upload/service-1234-notify/5678.csv',
CopySource='test-csv-upload/service-1234-notify/5678.csv',
Metadata={'baz': 'True', 'foo': 'bar'},
MetadataDirective='REPLACE',
ServerSideEncryption='AES256',