mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 02:42:26 -05:00
Service and job id were incorrectly in bucket name.
This commit is contained in:
@@ -7,7 +7,6 @@ def s3upload(upload_id, service_id, filedata, region):
|
|||||||
bucket_name = 'service-{}-notify'.format(service_id)
|
bucket_name = 'service-{}-notify'.format(service_id)
|
||||||
contents = '\n'.join(filedata['data'])
|
contents = '\n'.join(filedata['data'])
|
||||||
|
|
||||||
bucket = s3.Bucket(bucket_name)
|
|
||||||
exists = True
|
exists = True
|
||||||
try:
|
try:
|
||||||
s3.meta.client.head_bucket(Bucket=bucket_name)
|
s3.meta.client.head_bucket(Bucket=bucket_name)
|
||||||
@@ -20,13 +19,15 @@ def s3upload(upload_id, service_id, filedata, region):
|
|||||||
s3.create_bucket(Bucket=bucket_name,
|
s3.create_bucket(Bucket=bucket_name,
|
||||||
CreateBucketConfiguration={'LocationConstraint': region})
|
CreateBucketConfiguration={'LocationConstraint': region})
|
||||||
|
|
||||||
key = s3.Object(bucket_name, upload_id)
|
upload_file_name = "{}.csv".format(upload_id)
|
||||||
|
key = s3.Object(bucket_name, upload_file_name)
|
||||||
key.put(Body=contents, ServerSideEncryption='AES256')
|
key.put(Body=contents, ServerSideEncryption='AES256')
|
||||||
|
|
||||||
|
|
||||||
def s3download(service_id, upload_id):
|
def s3download(service_id, upload_id):
|
||||||
s3 = resource('s3')
|
s3 = resource('s3')
|
||||||
bucket_name = 'service-{}-notify'.format(service_id)
|
bucket_name = 'service-{}-notify'.format(service_id)
|
||||||
key = s3.Object(bucket_name, upload_id)
|
upload_file_name = "{}.csv".format(upload_id)
|
||||||
|
key = s3.Object(bucket_name, upload_file_name)
|
||||||
contents = key.get()['Body'].read().decode('utf-8')
|
contents = key.get()['Body'].read().decode('utf-8')
|
||||||
return contents
|
return contents
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class JobApiClient(BaseAPIClient):
|
|||||||
"service": service_id,
|
"service": service_id,
|
||||||
"template": template_id,
|
"template": template_id,
|
||||||
"original_file_name": original_file_name,
|
"original_file_name": original_file_name,
|
||||||
"bucket_name": "service-{}-{}-notify".format(service_id, job_id),
|
"bucket_name": "service-{}-notify".format(service_id),
|
||||||
"file_name": "{}.csv".format(job_id)
|
"file_name": "{}.csv".format(job_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
27
tests/app/main/notify_client/test_job_client.py
Normal file
27
tests/app/main/notify_client/test_job_client.py
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
from app.notify_client.job_api_client import JobApiClient
|
||||||
|
|
||||||
|
|
||||||
|
def test_client_creates_job_data_correctly(mocker):
|
||||||
|
import uuid
|
||||||
|
job_id = str(uuid.uuid4())
|
||||||
|
service_id = str(uuid.uuid4())
|
||||||
|
template_id = 1
|
||||||
|
original_file_name = 'test.csv'
|
||||||
|
|
||||||
|
expected_data = {
|
||||||
|
"id": job_id,
|
||||||
|
"service": service_id,
|
||||||
|
"template": template_id,
|
||||||
|
"original_file_name": original_file_name,
|
||||||
|
"bucket_name": "service-{}-notify".format(service_id),
|
||||||
|
"file_name": "{}.csv".format(job_id)
|
||||||
|
}
|
||||||
|
|
||||||
|
expected_url = '/service/{}/job'.format(service_id)
|
||||||
|
|
||||||
|
client = JobApiClient()
|
||||||
|
mock_post = mocker.patch('app.notify_client.job_api_client.JobApiClient.post')
|
||||||
|
|
||||||
|
client.create_job(job_id, service_id, template_id, original_file_name)
|
||||||
|
|
||||||
|
mock_post.assert_called_once_with(url=expected_url, data=expected_data)
|
||||||
@@ -184,4 +184,3 @@ def test_create_job_should_call_api(app_,
|
|||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
mock_create_job.assert_called_with(job_id, service_id, template_id, original_file_name)
|
mock_create_job.assert_called_with(job_id, service_id, template_id, original_file_name)
|
||||||
assert job_data['bucket_name'] == "service-{}-{}-notify".format(service_id, job_id)
|
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ def mock_create_job(mocker, job_data):
|
|||||||
job_data['id'] = job_id
|
job_data['id'] = job_id
|
||||||
job_data['service'] = service_id
|
job_data['service'] = service_id
|
||||||
job_data['template'] = template_id
|
job_data['template'] = template_id
|
||||||
job_data['bucket_name'] = 'service-{}-{}-notify'.format(service_id, job_id)
|
job_data['bucket_name'] = 'service-{}-notify'.format(job_id)
|
||||||
job_data['original_file_name'] = file_name
|
job_data['original_file_name'] = file_name
|
||||||
job_data['file_name'] = '{}.csv'.format(job_id)
|
job_data['file_name'] = '{}.csv'.format(job_id)
|
||||||
return job_data
|
return job_data
|
||||||
|
|||||||
Reference in New Issue
Block a user