diff --git a/ecs/crm-datafetch/Pipfile.lock b/ecs/crm-datafetch/Pipfile.lock index 28eb7407..0e66c18b 100644 --- a/ecs/crm-datafetch/Pipfile.lock +++ b/ecs/crm-datafetch/Pipfile.lock @@ -21,25 +21,24 @@ "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346", "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==24.2.0" }, "boto3": { "hashes": [ - "sha256:21120d23cc37c0e80dc4f64434bc5664d2a5645dcd9bf8a8fa97ed5c82164ca0", - "sha256:ffe7bbb88ba81b5d54bc8fa0cfb2f3b7fe63a6cffa0f9207df2ef5c22a1c0587" + "sha256:c2f0837a259002489e59d1c30008791e3b3bb59e30e48c64e1d2d270147a4549", + "sha256:cbf197ce28f04bc1ffa1db0aa26a1903d9bfa57a490f70537932e84367cdd15b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.159" + "version": "==1.35.2" }, "botocore": { "hashes": [ - "sha256:7633062491457419a49f5860c014251ae85689f78266a3ce020c2c8688a76b97", - "sha256:dc28806eb21e3c8d690c422530dff8b4b242ac033cbe98f160a9d37796c09cb1" + "sha256:92b168d8be79055bb25754aa34d699866d8aa66abc69f8ce99b0c191bd9c6e70", + "sha256:96c8eb6f0baed623a1b57ca9f24cb21d5508872cf0dfebb55527a85b6dbc76ba" ], "markers": "python_version >= '3.8'", - "version": "==1.34.159" + "version": "==1.35.2" }, "certifi": { "hashes": [ @@ -248,7 +247,7 @@ "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5", "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==43.0.0" }, "idna": { @@ -271,7 +270,7 @@ "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==1.0.1" }, "lxml": { @@ -418,6 +417,14 @@ "markers": "python_version >= '3.6'", "version": "==5.3.0" }, + "more-itertools": { + "hashes": [ + "sha256:0f7d9f83a0a8dcfa8a2694a770590d98a67ea943e3d9f5298309a484758c4e27", + "sha256:fe0e63c4ab068eac62410ab05cccca2dc71ec44ba8ef29916a0090df061cf923" + ], + "markers": "python_version >= '3.8'", + "version": "==10.4.0" + }, "platformdirs": { "hashes": [ "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee", @@ -513,9 +520,16 @@ "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==9.0.0" }, + "typing-extensions": { + "hashes": [ + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" + ], + "markers": "python_version >= '3.8'", + "version": "==4.12.2" + }, "urllib3": { "hashes": [ "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3", @@ -529,7 +543,7 @@ "sha256:6754feb4c34a4b6d65fbc359252bf6654dcce3937bf1d95aae4402a60a8f5939", "sha256:72093acfdb1d8360ed400869b73fbf1882b95c4287f798084c42ee0c1ff0e425" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==4.2.1" } }, @@ -540,25 +554,23 @@ "sha256:a203fe0fcad7939987422140ab17a930f684763bf7335bdb6709991dd7ef6c2d" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==2.3.1" }, "boto3": { "hashes": [ - "sha256:21120d23cc37c0e80dc4f64434bc5664d2a5645dcd9bf8a8fa97ed5c82164ca0", - "sha256:ffe7bbb88ba81b5d54bc8fa0cfb2f3b7fe63a6cffa0f9207df2ef5c22a1c0587" + "sha256:c2f0837a259002489e59d1c30008791e3b3bb59e30e48c64e1d2d270147a4549", + "sha256:cbf197ce28f04bc1ffa1db0aa26a1903d9bfa57a490f70537932e84367cdd15b" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==1.34.159" + "version": "==1.35.2" }, "botocore": { "hashes": [ - "sha256:7633062491457419a49f5860c014251ae85689f78266a3ce020c2c8688a76b97", - "sha256:dc28806eb21e3c8d690c422530dff8b4b242ac033cbe98f160a9d37796c09cb1" + "sha256:92b168d8be79055bb25754aa34d699866d8aa66abc69f8ce99b0c191bd9c6e70", + "sha256:96c8eb6f0baed623a1b57ca9f24cb21d5508872cf0dfebb55527a85b6dbc76ba" ], "markers": "python_version >= '3.8'", - "version": "==1.34.159" + "version": "==1.35.2" }, "certifi": { "hashes": [ @@ -848,7 +860,7 @@ "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5", "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==43.0.0" }, "exceptiongroup": { @@ -865,7 +877,6 @@ "sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1'", "version": "==7.1.1" }, "idna": { @@ -897,7 +908,7 @@ "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" ], - "markers": "python_version >= '3.7'", + "markers": "python_full_version >= '3.7.0'", "version": "==1.0.1" }, "markupsafe": { @@ -976,12 +987,11 @@ }, "moto": { "hashes": [ - "sha256:10bd434bfda329639fe9529470c4c27938064c139984024e6a62513e50aff427", - "sha256:406095ba28da9e67e59bfc6b31b4a2627ca896d3e2c7eb82838fbe527e3c218a" + "sha256:984377a9c4536543fc09f49a1d5210c61c4a4f55c79719f7d9f8dcdd9bf55ea5", + "sha256:ddf8864f0d61af88fd07a4e5eac428c6bebf4fcd10023f8e756e65e9e7b7e4a5" ], "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==5.0.12" + "version": "==5.0.13" }, "packaging": { "hashes": [ @@ -1029,7 +1039,6 @@ "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.3.2" }, "pytest-cov": { @@ -1038,7 +1047,6 @@ "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==5.0.0" }, "pytest-html": { @@ -1047,7 +1055,6 @@ "sha256:c8152cea03bd4e9bee6d525573b67bbc6622967b72b9628dda0ea3e2a0b5dd71" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==4.1.1" }, "pytest-metadata": { diff --git a/ecs/crm-datafetch/tests/aws/test_s3.py b/ecs/crm-datafetch/tests/aws/test_s3.py index 29734b8b..aad83041 100644 --- a/ecs/crm-datafetch/tests/aws/test_s3.py +++ b/ecs/crm-datafetch/tests/aws/test_s3.py @@ -1,7 +1,8 @@ import os import pytest -from src.aws.s3 import BackupBucket, ConfigBucket, DataBucket, S3Resource + +from src.aws.s3 import BackupBucket, ConfigBucket, DataBucket, S3Client @pytest.fixture @@ -15,7 +16,7 @@ def s3_test(s3_client, bucket_name): yield -class TestS3Resource: +class TestS3Client: def test_get_object(self, s3_test, s3_client, bucket_name): """ @@ -31,7 +32,7 @@ class TestS3Resource: s3_client.put_object(Bucket=bucket_name, Key='hogehoge/test.txt', Body=b'aaaaaaaaaaaaaaa') # Act - sut = S3Resource(bucket_name) + sut = S3Client(bucket_name) actual = sut.get_object('hogehoge/test.txt') # Assert @@ -48,7 +49,7 @@ class TestS3Resource: """ # Arrange # Act - sut = S3Resource(bucket_name) + sut = S3Client(bucket_name) with pytest.raises(Exception): # Assert sut.get_object('hogehoge/test.txt') @@ -68,7 +69,7 @@ class TestS3Resource: with open(file_path, mode='w') as f: f.write('aaaaaaaaaaaaaaa') - sut = S3Resource(bucket_name) + sut = S3Client(bucket_name) sut.put_object('hogehoge/test.txt', file_path) actual = s3_client.get_object(Bucket=bucket_name, Key='hogehoge/test.txt') @@ -87,7 +88,7 @@ class TestS3Resource: """ # Arrange # Act - sut = S3Resource(bucket_name) + sut = S3Client(bucket_name) with pytest.raises(Exception): # Assert sut.put_object('hogehoge/test.txt', 'aaaaaaaaaaaaaaa') @@ -108,7 +109,7 @@ class TestS3Resource: s3_client.create_bucket(Bucket=for_copy_bucket) s3_client.put_object(Bucket=bucket_name, Key='hogehoge/test.txt', Body=b'aaaaaaaaaaaaaaa') - sut = S3Resource(bucket_name) + sut = S3Client(bucket_name) sut.copy(bucket_name, 'hogehoge/test.txt', for_copy_bucket, 'test.txt') actual = s3_client.get_object(Bucket=for_copy_bucket, Key='test.txt') @@ -125,7 +126,7 @@ class TestS3Resource: """ # Arrange # Act - sut = S3Resource(bucket_name) + sut = S3Client(bucket_name) with pytest.raises(Exception): # Assert sut.copy(bucket_name, 'hogehoge/test.txt', 'for_copy_bucket', 'test.txt') @@ -140,7 +141,7 @@ class TestS3Resource: - インスタンス生成時に例外が発生すること """ with pytest.raises(Exception) as e: - S3Resource() + S3Client() assert e.value.args[0] == "__init__() missing 1 required positional argument: 'bucket_name'" diff --git a/ecs/crm-datafetch/tests/conftest.py b/ecs/crm-datafetch/tests/conftest.py index b86b29d9..06920f6a 100644 --- a/ecs/crm-datafetch/tests/conftest.py +++ b/ecs/crm-datafetch/tests/conftest.py @@ -4,8 +4,7 @@ from datetime import datetime import boto3 import pytest -from moto import mock_s3 -from py.xml import html # type: ignore +from moto import mock_aws from . import docstring_parser @@ -21,7 +20,7 @@ def aws_credentials(): @pytest.fixture def s3_client(aws_credentials): - with mock_s3(): + with mock_aws(): conn = boto3.client("s3", region_name="us-east-1") yield conn @@ -35,18 +34,18 @@ def pytest_html_report_title(report): def pytest_html_results_table_header(cells): del cells[2:] - cells.insert(3, html.th("Cases")) - cells.insert(4, html.th("Arranges")) - cells.insert(5, html.th("Expects")) - cells.append(html.th("Time", class_="sortable time", col="time")) + cells.insert(3, '
{report.cases}{report.arranges}{report.expects}