diff options
| author | Alex <git@ajschof.me> | 2024-08-20 12:12:52 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-20 12:12:52 +0100 |
| commit | 7f01f8a66d57d389c58c6e09de7ed0c914e298ce (patch) | |
| tree | 0a9484b4c5084ac87de4f1e1a8500a53849e9b39 /tests | |
| parent | f5b927bf5fd1bc751b996d25c36a7875d5201b29 (diff) | |
| parent | 0870dc49ddbd6024dddb289909487a15c26a3383 (diff) | |
| download | de-project-bentley-7f01f8a66d57d389c58c6e09de7ed0c914e298ce.tar.gz de-project-bentley-7f01f8a66d57d389c58c6e09de7ed0c914e298ce.zip | |
Merge pull request #72 from ajschofield/feature/test_extract_bucket_helper_function
PR: Extract bucket tests completed
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_extract_lambda.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/test_extract_lambda.py b/tests/test_extract_lambda.py index 3d15927..548ce67 100644 --- a/tests/test_extract_lambda.py +++ b/tests/test_extract_lambda.py @@ -15,6 +15,7 @@ from src.extract_lambda import ( lambda_handler, process_and_upload_tables, retrieve_secrets, + extract_bucket, ) @@ -146,6 +147,27 @@ class TestLambdaHandler: mock_process_and_upload_tables.assert_not_called() +class TestExtractBucket: + def test_extract_bucket_returns_bucket_name(self, s3_client, s3_mock_bucket): + result = extract_bucket(s3_client) + assert result == "extract_bucket" + + def test_bucket_returns_first_bucket(self, s3_client): + bucket1 = s3_client.create_bucket( + Bucket="bucket1", + CreateBucketConfiguration={"LocationConstraint": "eu-west-2"}, + ) + result = extract_bucket(s3_client) + assert result == "extract_bucket" + + def test_returns_index_error_if_no_buckets(self, s3_client): + s3_client.delete_bucket(Bucket="extract_bucket") + s3_client.delete_bucket(Bucket="bucket1") + + with pytest.raises(IndexError, match="list index out of range"): + extract_bucket(s3_client) + + class TestListExistingS3Files: def test_error_if_no_bucket(self, s3_client, caplog): logger = logging.getLogger() @@ -165,7 +187,6 @@ class TestListExistingS3Files: class TestConnectToDatabase: - # had mock_config in param def test_connect_to_database(mock_conn, mock_config): with patch("src.extract_lambda.Connection", autospec=True) as mock_conn: connect_to_database() @@ -187,7 +208,7 @@ class TestConnectToDatabase: class TestProcessAndUploadTables: - def test_error_process_and_upload_tables(mock_conn, s3_client, caplog): + def test_error_process_and_upload_tables(self, mock_conn, s3_client, caplog): caplog.set_level(logging.INFO) # Mock return values for database queries |
