def test_file_history_url(database, monkeypatch): sub = SubmissionFactory() database.session.add(sub) database.session.commit() # set up certify history so it works cert_hist = CertifyHistoryFactory(submission=sub) database.session.add(cert_hist) database.session.commit() file_hist = CertifiedFilesHistoryFactory(certify_history_id=cert_hist.certify_history_id, submission_id=sub.submission_id, filename="/path/to/file_d2.csv", warning_filename="/path/to/warning_file_cross.csv", narrative=None, file_type_id=None) database.session.add(file_hist) database.session.commit() s3_url_handler = Mock() s3_url_handler.return_value.get_signed_url.return_value = 'some/url/here.csv' monkeypatch.setattr(fileHandler, 'S3Handler', s3_url_handler) # checking for local response to non-warning file json_response = fileHandler.file_history_url(sub, file_hist.certified_files_history_id, False, True) url = json.loads(json_response.get_data().decode('utf-8'))["url"] assert url == "/path/to/file_d2.csv" # local response to warning file json_response = fileHandler.file_history_url(sub, file_hist.certified_files_history_id, True, True) url = json.loads(json_response.get_data().decode('utf-8'))["url"] assert url == "/path/to/warning_file_cross.csv" # generic test to make sure it's reaching the s3 handler properly json_response = fileHandler.file_history_url(sub, file_hist.certified_files_history_id, False, False) url = json.loads(json_response.get_data().decode('utf-8'))["url"] assert url == 'some/url/here.csv'
def get_certified_file(submission, certified_files_history_id, is_warning): """ Get the signed URL for the specified file history """ return file_history_url(submission, certified_files_history_id, is_warning, is_local)
def get_submitted_published_file(published_files_history_id): """ Get the signed URL for the specified submitted and published file """ return file_history_url(published_files_history_id, False, is_local)
def get_certified_file(submission, published_files_history_id, **kwargs): """ Get the signed URL for the specified file history """ is_warning = kwargs.get('is_warning') return file_history_url(published_files_history_id, is_warning, is_local, submission)