Service and job id were incorrectly in bucket name.

This commit is contained in:
Adam Shimali
2016-02-04 12:06:06 +00:00
parent 2e4e354680
commit 90a17bc0a7
5 changed files with 33 additions and 6 deletions

View File

@@ -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

View File

@@ -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)
} }

View 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)

View File

@@ -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)

View File

@@ -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