1
0
mirror of synced 2026-01-07 18:06:03 -05:00
Files
airbyte/airbyte-integrations/connectors/source-s3/unit_tests/test_s3file.py
Cole Snodgrass 2e099acc52 update headers from 2022 -> 2023 (#22594)
* It's 2023!

* 2022 -> 2023

---------

Co-authored-by: evantahler <evan@airbyte.io>
2023-02-08 13:01:16 -08:00

47 lines
2.1 KiB
Python

#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
#
from typing import Mapping
from unittest.mock import MagicMock
import pytest
import smart_open
from airbyte_cdk import AirbyteLogger
from source_s3.s3file import S3File
LOGGER = AirbyteLogger()
class TestS3File:
@pytest.mark.parametrize( # passing in full provider to emulate real usage (dummy values are unused by func)
"provider, return_true",
[
({"storage": "S3", "bucket": "dummy", "aws_access_key_id": "id", "aws_secret_access_key": "key", "path_prefix": "dummy"}, True),
({"storage": "S3", "bucket": "dummy", "aws_access_key_id": None, "aws_secret_access_key": None, "path_prefix": "dummy"}, False),
({"storage": "S3", "bucket": "dummy", "path_prefix": "dummy"}, False),
({"storage": "S3", "bucket": "dummy", "aws_access_key_id": "id", "aws_secret_access_key": None, "path_prefix": "dummy"}, False),
(
{"storage": "S3", "bucket": "dummy", "aws_access_key_id": None, "aws_secret_access_key": "key", "path_prefix": "dummy"},
False,
),
({"storage": "S3", "bucket": "dummy", "aws_access_key_id": "id", "path_prefix": "dummy"}, False),
({"storage": "S3", "bucket": "dummy", "aws_secret_access_key": "key", "path_prefix": "dummy"}, False),
],
)
def test_use_aws_account(self, provider: Mapping[str, str], return_true: bool) -> None:
assert S3File.use_aws_account(provider) is return_true
@pytest.mark.parametrize( # passing in full provider to emulate real usage (dummy values are unused by func)
"provider",
[
({"storage": "S3", "bucket": "dummy", "aws_access_key_id": "id", "aws_secret_access_key": "key", "path_prefix": "dummy"}),
({"storage": "S3", "bucket": "dummy", "aws_access_key_id": None, "aws_secret_access_key": None, "path_prefix": "dummy"}),
],
)
def test_s3_file_contextmanager(self, provider):
smart_open.open = MagicMock()
with S3File(file_info=MagicMock(), provider=provider).open("rb") as s3_file:
assert s3_file