From f3bb705a31ab9d94dc856c2de0da4b7b73a57fae Mon Sep 17 00:00:00 2001 From: Ellie Date: Fri, 23 Aug 2024 12:38:25 +0100 Subject: add get transform bucket test --- tests/test_load_lambda.py | 48 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) (limited to 'tests/test_load_lambda.py') diff --git a/tests/test_load_lambda.py b/tests/test_load_lambda.py index d9ea918..2392f10 100644 --- a/tests/test_load_lambda.py +++ b/tests/test_load_lambda.py @@ -1,8 +1,48 @@ import pandas as pd import pyarrow.parquet as pq from io import BytesIO -from src.load_lambda import convert_parquet_files_to_dfs +from moto import mock_aws +import boto3 +import os +import pytest +from src.load_lambda import lambda_handler, connect_to_db_and_return_engine, get_transform_bucket, convert_parquet_files_to_dfs, upload_dfs_to_database -class TestConvertParquetToDFs: - def test_convert_parquet_to_dfs_returns_df(): - \ No newline at end of file +@pytest.fixture(scope="class") +def aws_credentials(): + os.environ["AWS_ACCESS_KEY_ID"] = "testing" + os.environ["AWS_SECRET_ACCESS_KEY"] = "testing" + os.environ["AWS_SECURIT_TOKEN"] = "testing" + os.environ["AWS_SESSION_TOKEN"] = "testing" + os.environ["AWS_DEFAULT_REGION"] = "eu-west-2" + + +@pytest.fixture(scope="class") +def s3_client(aws_credentials): + with mock_aws(): + yield boto3.client("s3") + +@pytest.fixture(scope="function") +def s3_mock_bucket(s3_client): + bucket = s3_client.create_bucket( + Bucket="transform_bucket", + CreateBucketConfiguration={"LocationConstraint": "eu-west-2"}, + ) + return bucket + + +class TestLambdaHandler: + pass + +class TestConnectToDBAndReturnEngine: + pass + +class TestGetTransformBucket: + def test_get_transform_bucket_returns_string(self, s3_client, s3_mock_bucket): + result = get_transform_bucket(s3_client) + assert result == "transform_bucket" + +class TestConvertParquetToDfs: + pass + +class TestUploadDfsToDatabase: + pass \ No newline at end of file -- cgit v1.2.3