diff --git a/.ds.baseline b/.ds.baseline index bf8b9631a..8b6703173 100644 --- a/.ds.baseline +++ b/.ds.baseline @@ -305,7 +305,7 @@ "filename": "tests/app/service/test_rest.py", "hashed_secret": "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", "is_verified": false, - "line_number": 1274, + "line_number": 1275, "is_secret": false } ], @@ -384,5 +384,5 @@ } ] }, - "generated_at": "2024-07-22T21:27:35Z" + "generated_at": "2024-08-01T17:38:39Z" } diff --git a/app/commands.py b/app/commands.py index 9e1a26081..fe59537fb 100644 --- a/app/commands.py +++ b/app/commands.py @@ -592,14 +592,15 @@ def process_row_from_job(job_id, job_row_number): @notify_command(name="download-csv-file-by-name") -@click.argument("csv_filename") +@click.option("-f", "--csv_filename", required=True, help="S3 file location") def download_csv_file_by_name(csv_filename): - # poetry run flask command download-csv-file-by-name - # cf run-task notify-api-production --command "flask command download-csv-file-by-name " + # poetry run flask command download-csv-file-by-name -f + # cf run-task notify-api-production --command "flask command download-csv-file-by-name -f " bucket_name = current_app.config["CSV_UPLOAD_BUCKET"]["bucket"] access_key = current_app.config["CSV_UPLOAD_BUCKET"]["access_key_id"] secret = current_app.config["CSV_UPLOAD_BUCKET"]["secret_access_key"] region = current_app.config["CSV_UPLOAD_BUCKET"]["region"] + s3.download_from_s3( bucket_name, csv_filename, "download.csv", access_key, secret, region ) diff --git a/tests/app/service/test_rest.py b/tests/app/service/test_rest.py index 8a97046e0..0cdae7de4 100644 --- a/tests/app/service/test_rest.py +++ b/tests/app/service/test_rest.py @@ -1770,9 +1770,6 @@ def test_get_all_notifications_for_service_in_order_with_post_request( assert response.status_code == 200 -@pytest.mark.skip( - reason="We can't search on recipient if recipient is not kept in the db" -) def test_get_all_notifications_for_service_filters_notifications_when_using_post_request( client, notify_db_session ): @@ -1808,7 +1805,6 @@ def test_get_all_notifications_for_service_filters_notifications_when_using_post "page": 1, "template_type": [TemplateType.SMS], "status": [NotificationStatus.CREATED, NotificationStatus.SENDING], - "to": "0855", } response = client.post( @@ -1818,7 +1814,7 @@ def test_get_all_notifications_for_service_filters_notifications_when_using_post ) resp = json.loads(response.get_data(as_text=True)) - assert len(resp["notifications"]) == 1 + assert len(resp["notifications"]) == 2 assert resp["notifications"][0]["to"] == "1" assert resp["notifications"][0]["status"] == returned_notification.status assert response.status_code == 200 diff --git a/tests/app/test_commands.py b/tests/app/test_commands.py index 817f2e4bf..46dd2b0c1 100644 --- a/tests/app/test_commands.py +++ b/tests/app/test_commands.py @@ -428,23 +428,22 @@ def test_promote_user_to_platform_admin( assert user.platform_admin is True -def test_download_csv_file_by_name(notify_api, sample_platform_admin): - assert sample_platform_admin.platform_admin is True - - result = notify_api.test_cli_runner().invoke( +def test_download_csv_file_by_name(notify_api, mocker): + mock_download = mocker.patch("app.commands.s3.download_from_s3") + notify_api.test_cli_runner().invoke( download_csv_file_by_name, [ + "-f", "NonExistentName", ], ) - - # if we get a 404, it means that the file is not in s3 (of course) - # but we are making the call to s3, etc. so that part is working - assert "404" in str(result) + mock_download.assert_called_once() def test_promote_user_to_platform_admin_no_result_found( - notify_db_session, notify_api, sample_user + notify_db_session, + notify_api, + sample_user, ): assert sample_user.platform_admin is False