feat: Backupバケットのテスト追加
This commit is contained in:
parent
a1613087df
commit
45d3d3aae1
@ -1,5 +1,5 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from src.aws.s3 import ConfigBucket, DataBucket, S3Resource
|
from src.aws.s3 import BackupBucket, ConfigBucket, DataBucket, S3Resource
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
@ -168,7 +168,7 @@ class TestDataBucket:
|
|||||||
def test_put_csv(self, s3_test, s3_client, bucket_name, monkeypatch):
|
def test_put_csv(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
"""
|
"""
|
||||||
Cases:
|
Cases:
|
||||||
- 任意のファイルをPUTできること
|
- CSVファイルをPUTできること
|
||||||
Arranges:
|
Arranges:
|
||||||
- S3をモック化する
|
- S3をモック化する
|
||||||
- 環境変数をテスト用の値に置き換える
|
- 環境変数をテスト用の値に置き換える
|
||||||
@ -179,7 +179,7 @@ class TestDataBucket:
|
|||||||
monkeypatch.setattr('src.aws.s3.CRM_IMPORT_DATA_FOLDER', 'crm/target')
|
monkeypatch.setattr('src.aws.s3.CRM_IMPORT_DATA_FOLDER', 'crm/target')
|
||||||
|
|
||||||
sut = DataBucket()
|
sut = DataBucket()
|
||||||
actual = sut.put_csv('test.csv', 'test,test,test')
|
sut.put_csv('test.csv', 'test,test,test')
|
||||||
|
|
||||||
actual = s3_client.get_object(Bucket=bucket_name, Key=f'crm/target/test.csv')
|
actual = s3_client.get_object(Bucket=bucket_name, Key=f'crm/target/test.csv')
|
||||||
assert actual['Body'].read().decode('utf-8') == 'test,test,test'
|
assert actual['Body'].read().decode('utf-8') == 'test,test,test'
|
||||||
@ -187,7 +187,7 @@ class TestDataBucket:
|
|||||||
def test_put_csv_from(self, s3_test, s3_client, bucket_name, monkeypatch):
|
def test_put_csv_from(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
"""
|
"""
|
||||||
Cases:
|
Cases:
|
||||||
- 他のバケットから任意のファイルをコピーできること
|
- 他のバケットからCSVファイルをコピーできること
|
||||||
Arranges:
|
Arranges:
|
||||||
- S3をモック化する
|
- S3をモック化する
|
||||||
- コピー先バケットを作成する
|
- コピー先バケットを作成する
|
||||||
@ -212,14 +212,89 @@ class TestDataBucket:
|
|||||||
def test_data_bucket_str(self, s3_test, s3_client, bucket_name, monkeypatch):
|
def test_data_bucket_str(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
"""
|
"""
|
||||||
Cases:
|
Cases:
|
||||||
- 設定ファイル配置バケットを文字列化したとき、バケット名が取得できること
|
- データ登録バケットを文字列化したとき、バケット名が取得できること
|
||||||
Arranges:
|
Arranges:
|
||||||
- 環境変数をテスト用の値に置き換える
|
- 環境変数をテスト用の値に置き換える
|
||||||
Expects:
|
Expects:
|
||||||
- 環境変数の設定ファイル配置バケット名と一致する
|
- 環境変数のデータ登録バケット名と一致する
|
||||||
"""
|
"""
|
||||||
monkeypatch.setattr('src.aws.s3.IMPORT_DATA_BUCKET', bucket_name)
|
monkeypatch.setattr('src.aws.s3.IMPORT_DATA_BUCKET', bucket_name)
|
||||||
|
|
||||||
sut = DataBucket()
|
sut = DataBucket()
|
||||||
|
|
||||||
assert str(sut) == bucket_name
|
assert str(sut) == bucket_name
|
||||||
|
|
||||||
|
|
||||||
|
class TestBackupBucket:
|
||||||
|
|
||||||
|
def test_put_csv(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
- CSVファイルをPUTできること
|
||||||
|
Arranges:
|
||||||
|
- S3をモック化する
|
||||||
|
- 環境変数をテスト用の値に置き換える
|
||||||
|
Expects:
|
||||||
|
- PUTしたファイルが存在する
|
||||||
|
"""
|
||||||
|
monkeypatch.setattr('src.aws.s3.CRM_BACKUP_BUCKET', bucket_name)
|
||||||
|
monkeypatch.setattr('src.aws.s3.CRM_IMPORT_DATA_BACKUP_FOLDER', 'data_import')
|
||||||
|
|
||||||
|
sut = BackupBucket()
|
||||||
|
sut.put_csv('test.csv', 'test,test,test')
|
||||||
|
|
||||||
|
actual = s3_client.get_object(Bucket=bucket_name, Key=f'data_import/test.csv')
|
||||||
|
assert actual['Body'].read().decode('utf-8') == 'test,test,test'
|
||||||
|
|
||||||
|
def test_put_response_json(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
- JSONファイルをPUTできること
|
||||||
|
Arranges:
|
||||||
|
- S3をモック化する
|
||||||
|
- 環境変数をテスト用の値に置き換える
|
||||||
|
Expects:
|
||||||
|
- PUTしたファイルが存在する
|
||||||
|
"""
|
||||||
|
monkeypatch.setattr('src.aws.s3.CRM_BACKUP_BUCKET', bucket_name)
|
||||||
|
monkeypatch.setattr('src.aws.s3.RESPONSE_JSON_BACKUP_FOLDER', 'response_json')
|
||||||
|
|
||||||
|
sut = BackupBucket()
|
||||||
|
sut.put_response_json('test.json', {"test": "test"})
|
||||||
|
|
||||||
|
actual = s3_client.get_object(Bucket=bucket_name, Key=f'response_json/test.json')
|
||||||
|
assert actual['Body'].read().decode('utf-8') == '{"test": "test"}'
|
||||||
|
|
||||||
|
def test_put_result_json(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
- JSONファイルをPUTできること
|
||||||
|
Arranges:
|
||||||
|
- S3をモック化する
|
||||||
|
- 環境変数をテスト用の値に置き換える
|
||||||
|
Expects:
|
||||||
|
- PUTしたファイルが存在する
|
||||||
|
"""
|
||||||
|
monkeypatch.setattr('src.aws.s3.CRM_BACKUP_BUCKET', bucket_name)
|
||||||
|
monkeypatch.setattr('src.aws.s3.PROCESS_RESULT_FOLDER', 'data_import')
|
||||||
|
|
||||||
|
sut = BackupBucket()
|
||||||
|
sut.put_result_json('result.json', {"test": "test"})
|
||||||
|
|
||||||
|
actual = s3_client.get_object(Bucket=bucket_name, Key=f'data_import/result.json')
|
||||||
|
assert actual['Body'].read().decode('utf-8') == '{"test": "test"}'
|
||||||
|
|
||||||
|
def test_backup_bucket_str(self, s3_test, s3_client, bucket_name, monkeypatch):
|
||||||
|
"""
|
||||||
|
Cases:
|
||||||
|
- CRMデータバックアップバケットを文字列化したとき、バケット名が取得できること
|
||||||
|
Arranges:
|
||||||
|
- 環境変数をテスト用の値に置き換える
|
||||||
|
Expects:
|
||||||
|
- 環境変数のCRMデータバックアップバケット名と一致する
|
||||||
|
"""
|
||||||
|
monkeypatch.setattr('src.aws.s3.CRM_BACKUP_BUCKET', bucket_name)
|
||||||
|
|
||||||
|
sut = BackupBucket()
|
||||||
|
|
||||||
|
assert str(sut) == bucket_name
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user