feat: DataBucketのテストコード追加
This commit is contained in:
parent
bf59acf152
commit
4d444e025e
@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from src.aws.s3 import ConfigBucket, S3Resource
|
||||
from src.aws.s3 import ConfigBucket, DataBucket, S3Resource
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@ -157,3 +157,61 @@ class TestConfigBucket:
|
||||
sut = ConfigBucket()
|
||||
|
||||
assert str(sut) == bucket_name
|
||||
|
||||
|
||||
class TestDataBucket:
|
||||
|
||||
def test_put_csv(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
任意のファイルをPUTできること
|
||||
Arranges:
|
||||
|
||||
Expects:
|
||||
PUTしたファイルが存在する
|
||||
"""
|
||||
monkeypatch.setattr('src.aws.s3.IMPORT_DATA_BUCKET', bucket_name)
|
||||
monkeypatch.setattr('src.aws.s3.CRM_IMPORT_DATA_FOLDER', 'crm/target')
|
||||
|
||||
sut = DataBucket()
|
||||
actual = sut.put_csv('test.csv', 'test,test,test')
|
||||
|
||||
actual = s3_client.get_object(Bucket=bucket_name, Key=f'crm/target/test.csv')
|
||||
assert actual['Body'].read().decode('utf-8') == 'test,test,test'
|
||||
|
||||
def test_put_csv_from(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
他のバケットから任意のファイルをコピーできること
|
||||
Arranges:
|
||||
|
||||
Expects:
|
||||
コピーしたファイルが存在する
|
||||
"""
|
||||
for_copy_bucket = 'for-copy-bucket'
|
||||
s3_client.create_bucket(Bucket=for_copy_bucket)
|
||||
s3_client.put_object(Bucket=bucket_name, Key='hogehoge/test.csv', Body=b'test,test,test')
|
||||
|
||||
monkeypatch.setattr('src.aws.s3.IMPORT_DATA_BUCKET', for_copy_bucket)
|
||||
monkeypatch.setattr('src.aws.s3.CRM_IMPORT_DATA_FOLDER', 'crm/target')
|
||||
|
||||
sut = DataBucket()
|
||||
sut.put_csv_from(bucket_name, 'hogehoge/test.csv')
|
||||
actual = s3_client.get_object(Bucket=for_copy_bucket, Key=f'crm/target/test.csv')
|
||||
|
||||
assert actual['Body'].read().decode('utf-8') == 'test,test,test'
|
||||
|
||||
def test_data_bucket_str(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||
"""
|
||||
Cases:
|
||||
設定ファイル配置バケットを文字列化したとき、バケット名が取得できること
|
||||
Arranges:
|
||||
|
||||
Expects:
|
||||
環境変数の設定ファイル配置バケット名と一致する
|
||||
"""
|
||||
monkeypatch.setattr('src.aws.s3.IMPORT_DATA_BUCKET', bucket_name)
|
||||
|
||||
sut = DataBucket()
|
||||
|
||||
assert str(sut) == bucket_name
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user