mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 10:21:14 -05:00
add threadpoolexecutor test
This commit is contained in:
@@ -209,7 +209,7 @@
|
|||||||
"filename": "tests/app/aws/test_s3.py",
|
"filename": "tests/app/aws/test_s3.py",
|
||||||
"hashed_secret": "67a74306b06d0c01624fe0d0249a570f4d093747",
|
"hashed_secret": "67a74306b06d0c01624fe0d0249a570f4d093747",
|
||||||
"is_verified": false,
|
"is_verified": false,
|
||||||
"line_number": 34,
|
"line_number": 35,
|
||||||
"is_secret": false
|
"is_secret": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -384,5 +384,5 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"generated_at": "2024-10-23T15:35:38Z"
|
"generated_at": "2024-10-23T20:52:43Z"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from app.aws.s3 import (
|
|||||||
get_personalisation_from_s3,
|
get_personalisation_from_s3,
|
||||||
get_phone_number_from_s3,
|
get_phone_number_from_s3,
|
||||||
get_s3_file,
|
get_s3_file,
|
||||||
|
get_s3_files,
|
||||||
list_s3_objects,
|
list_s3_objects,
|
||||||
read_s3_file,
|
read_s3_file,
|
||||||
remove_csv_object,
|
remove_csv_object,
|
||||||
@@ -347,3 +348,42 @@ def test_file_exists_false(notify_api, mocker):
|
|||||||
)
|
)
|
||||||
|
|
||||||
get_s3_mock.assert_called_once()
|
get_s3_mock.assert_called_once()
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_s3_files_success(notify_api, mocker):
|
||||||
|
mock_current_app = mocker.patch("app.aws.s3.current_app")
|
||||||
|
mock_current_app.config = {"CSV_UPLOAD_BUCKET": {"bucket": "test-bucket"}}
|
||||||
|
mock_thread_pool_executor = mocker.patch("app.aws.s3.ThreadPoolExecutor")
|
||||||
|
mock_read_s3_file = mocker.patch("app.aws.s3.read_s3_file")
|
||||||
|
mock_list_s3_objects = mocker.patch("app.aws.s3.list_s3_objects")
|
||||||
|
mock_get_s3_resource = mocker.patch("app.aws.s3.get_s3_resource")
|
||||||
|
mock_list_s3_objects.return_value = ["file1.csv", "file2.csv"]
|
||||||
|
mock_s3_resource = MagicMock()
|
||||||
|
mock_get_s3_resource.return_value = mock_s3_resource
|
||||||
|
mock_executor = MagicMock()
|
||||||
|
|
||||||
|
def mock_map(func, iterable):
|
||||||
|
for item in iterable:
|
||||||
|
func(item)
|
||||||
|
|
||||||
|
mock_executor.map.side_effect = mock_map
|
||||||
|
mock_thread_pool_executor.return_value.__enter__.return_value = mock_executor
|
||||||
|
|
||||||
|
get_s3_files()
|
||||||
|
|
||||||
|
# mock_current_app.config.__getitem__.assert_called_once_with("CSV_UPLOAD_BUCKET")
|
||||||
|
mock_list_s3_objects.assert_called_once()
|
||||||
|
mock_thread_pool_executor.assert_called_once()
|
||||||
|
|
||||||
|
mock_executor.map.assert_called_once()
|
||||||
|
|
||||||
|
calls = [
|
||||||
|
(("test-bucket", "file1.csv", mock_s3_resource),),
|
||||||
|
(("test-bucket", "file2.csv", mock_s3_resource),),
|
||||||
|
]
|
||||||
|
|
||||||
|
mock_read_s3_file.assert_has_calls(calls, any_order=True)
|
||||||
|
|
||||||
|
# mock_current_app.info.assert_any_call("job_cache length before regen: 0 #notify-admin-1200")
|
||||||
|
|
||||||
|
# mock_current_app.info.assert_any_call("job_cache length after regen: 0 #notify-admin-1200")
|
||||||
|
|||||||
Reference in New Issue
Block a user