mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Upload other files to S3 when get_other_files is True 🟥
This commit is contained in:
parent
9c38f45c98
commit
098f60ecfd
3 changed files with 34 additions and 1 deletions
|
|
@ -21,6 +21,7 @@ class FileTypeEnum(enum.Enum):
|
|||
IMPROVEMENT_OPTION_EVALUATION = "improvement_option_evaluation"
|
||||
MEDIUM_TERM_IMPROVEMENT_PLAN = "medium_term_improvement_plan"
|
||||
RETROFIT_DESIGN_DOC = "retrofit_design_doc"
|
||||
OTHER = "other"
|
||||
|
||||
|
||||
class FileSourceEnum(enum.Enum):
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class PashubService:
|
|||
if active_client is not self._pashub_client:
|
||||
raise
|
||||
active_client = self._get_coordination_client()
|
||||
downloaded = active_client.get_evidence_files_by_job_id(
|
||||
downloaded: DownloadedFiles = active_client.get_evidence_files_by_job_id(
|
||||
job_id, include_other=request.get_other_files
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -402,6 +402,38 @@ def test_run_deletes_other_temp_files_when_get_other_files_true() -> None:
|
|||
mock_remove.assert_any_call("/tmp/other.pdf")
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# run(): get_other_files=True → other files uploaded to S3
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def test_run_uploads_other_files_to_s3_when_get_other_files_true() -> None:
|
||||
# Arrange
|
||||
mock_client = MagicMock(spec=PashubClient)
|
||||
mock_client.get_uprn_by_job_id.return_value = None
|
||||
mock_client.get_evidence_files_by_job_id.return_value = make_downloaded(
|
||||
core=["/tmp/SiteNote_001.pdf"],
|
||||
other=["/tmp/unknown_file.pdf"],
|
||||
)
|
||||
|
||||
service = make_service(pashub_client=mock_client, s3_bucket="my-bucket")
|
||||
|
||||
# Act
|
||||
with (
|
||||
patch("backend.pashub_fetcher.pashub_service.upload_file_to_s3") as mock_s3,
|
||||
patch("backend.pashub_fetcher.pashub_service.db_session"),
|
||||
patch("backend.pashub_fetcher.pashub_service.os.remove"),
|
||||
):
|
||||
service.run(make_request(uprn="12345", get_other_files=True))
|
||||
|
||||
# Assert
|
||||
mock_s3.assert_any_call(
|
||||
"/tmp/unknown_file.pdf",
|
||||
"my-bucket",
|
||||
"documents/uprn/12345/unknown_file.pdf",
|
||||
)
|
||||
|
||||
|
||||
def test_run_warns_and_continues_when_site_notes_parsing_fails() -> None:
|
||||
mock_client = MagicMock(spec=PashubClient)
|
||||
mock_client.get_uprn_by_job_id.return_value = None
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue