"""Tests for sqs connector functionality.""" import boto3 from moto import mock_aws from project_manager import config from project_manager.connector import s3 boto3.setup_default_session() @mock_aws def test_get_s3_tokenized_url_success(): """Test get tokenized s3 url success.""" test_bucket, file_path = config.S3_LCE_BUCKET_PATH.split('/', maxsplit=1) test_key_name = 'test.csv' resource = boto3.resource('s3') client = boto3.client('s3') resource.create_bucket(Bucket=test_bucket) client.put_object( Bucket=test_bucket, Key='{path}/{key}'.format(path=file_path, key=test_key_name), Body='body') result = s3.get_s3_file_url(test_key_name) assert result.status == 200 @mock_aws def test_get_s3_tokenized_url_no_such_bucket(): """Test get tokenized s3 url fail bucket doesn't exist.""" test_key_name = 'test.csv' result = s3.get_s3_file_url(test_key_name) assert result.status == 404 @mock_aws def test_get_s3_tokenized_url_no_file_in_bucket(): """Test get tokenized s3 url file doesn't exist.""" test_bucket, file_path = config.S3_LCE_BUCKET_PATH.split('/', maxsplit=1) test_key_name = 'test.csv' resource = boto3.resource('s3') resource.create_bucket(Bucket=test_bucket) result = s3.get_s3_file_url(test_key_name) assert result.status == 404