diff options
| author | lian-manonog <lian.manonog@gmail.com> | 2024-08-28 11:37:09 +0100 |
|---|---|---|
| committer | lian-manonog <lian.manonog@gmail.com> | 2024-08-28 11:37:09 +0100 |
| commit | 4651e2f951a4c6c2605ded7abeb90197e50d61c6 (patch) | |
| tree | 438f69e0aa4006937eb014dd38cde6c44481c99f /tests | |
| parent | 459702f2bdd3070923187ec0d4c76c85dbe0d235 (diff) | |
| parent | 3f24ec753902feecec4c17e2877e19853bde1bb2 (diff) | |
| download | de-project-bentley-4651e2f951a4c6c2605ded7abeb90197e50d61c6.tar.gz de-project-bentley-4651e2f951a4c6c2605ded7abeb90197e50d61c6.zip | |
Merge branch 'test/transform-lambda' of https://github.com/ajschofield/de-project-bentley into test/transform-lambda
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_transform_lambda.py | 73 |
1 files changed, 37 insertions, 36 deletions
diff --git a/tests/test_transform_lambda.py b/tests/test_transform_lambda.py index b4836c2..6cf3a09 100644 --- a/tests/test_transform_lambda.py +++ b/tests/test_transform_lambda.py @@ -1,7 +1,8 @@ from src.transform_lambda import ( read_from_s3_subfolder_to_df, list_existing_s3_files, - bucket_name, process_to_parquet_and_upload_to_s3 + bucket_name, + process_to_parquet_and_upload_to_s3, ) from moto import mock_aws import pytest @@ -33,28 +34,30 @@ def s3_client(aws_credentials): with mock_aws(): yield boto3.client("s3") + @pytest.fixture(scope="class") def mock_extract_bucket(s3_client): mock_extract_bucket = s3_client.create_bucket( - Bucket="dummy_extract_buc", - CreateBucketConfiguration={"LocationConstraint": "eu-west-2"}, - ) + Bucket="dummy_extract_buc", + CreateBucketConfiguration={"LocationConstraint": "eu-west-2"}, + ) return mock_extract_bucket - + + @pytest.fixture(scope="class") def mock_transform_bucket(s3_client): mock_transform_bucket = s3_client.create_bucket( - Bucket="dummy_transform_buc", - CreateBucketConfiguration={"LocationConstraint": "eu-west-2"}, - ) + Bucket="dummy_transform_buc", + CreateBucketConfiguration={"LocationConstraint": "eu-west-2"}, + ) return mock_transform_bucket - class TestReadFromS3: # @pytest.mark.skip(reason="The test is broken!") - def test_returns_dictionary_with_correct_value_pair(self, s3_client, mock_extract_bucket): - + def test_returns_dictionary_with_correct_value_pair( + self, s3_client, mock_extract_bucket + ): s3_client.upload_file( "tests/dummy_identical.csv", "dummy_extract_buc", @@ -80,9 +83,13 @@ class TestReadFromS3: assert result["Foods"].eq(expected_df, axis="columns").all(axis=None) # @pytest.mark.skip(reason="The test is broken!") - def test_returns_dictionary_of_dataframes_for_multiple_tables(self, s3_client, mock_extract_bucket): + def test_returns_dictionary_of_dataframes_for_multiple_tables( + self, s3_client, mock_extract_bucket + ): s3_client.upload_file( - "tests/dummy_2.csv", "dummy_extract_buc", "Cars/2024/08/21/Cars_14:03:56.csv" + "tests/dummy_2.csv", + "dummy_extract_buc", + "Cars/2024/08/21/Cars_14:03:56.csv", ) tables = ["Foods", "Cars"] result = read_from_s3_subfolder_to_df( @@ -143,30 +150,28 @@ class TestListExistingFiles: class TestBucketName: - def test_functions_retrieves__extractbucket(self, mock_extract_bucket, mock_transform_bucket,s3_client): - + def test_functions_retrieves__extractbucket( + self, mock_extract_bucket, mock_transform_bucket, s3_client + ): bucket = bucket_name("dummy_extract_buc", s3_client) assert bucket == "dummy_extract_buc" + def test_transform_bucket_name( + self, mock_extract_bucket, mock_transform_bucket, s3_client + ): + bucket2 = bucket_name("dummy_transform_buc", s3_client) + assert bucket2 == "dummy_transform_buc" - def test_transform_bucket_name(self, mock_extract_bucket, mock_transform_bucket, s3_client): - bucket2 = bucket_name('dummy_transform_buc', s3_client) - assert bucket2 == 'dummy_transform_buc' - - - def test_recieves_error_when_bucket_doesnt_exist(self, mock_extract_bucket, s3_client): - s3_client.delete_bucket(Bucket='dummy_extract_buc') + def test_recieves_error_when_bucket_doesnt_exist( + self, mock_extract_bucket, s3_client + ): + s3_client.delete_bucket(Bucket="dummy_extract_buc") with pytest.raises(ValueError): - bucket_name('dummy_extract_buc', s3_client) - - - - + bucket_name("dummy_extract_buc", s3_client) class TestProcessToParquetUploadS3: def test_func_uploads_to_s3(self, mock_transform_bucket, s3_client): - expected_cars_df = pd.DataFrame( np.array( [ @@ -177,14 +182,10 @@ class TestProcessToParquetUploadS3: ), columns=["Car_type", "Brand", "Colour"], ) - mock_dim_dict = {'car_data': expected_cars_df} - - response = process_to_parquet_and_upload_to_s3([], mock_dim_dict, {}, mock_transform_bucket, s3_client) + mock_dim_dict = {"car_data": expected_cars_df} + response = process_to_parquet_and_upload_to_s3( + [], mock_dim_dict, {}, mock_transform_bucket, s3_client + ) assert response == {"uploaded": ["car_data"], "not_uploaded": []} - - - - - |
