import pytest
from moto import mock_s3
@pytest.fixture(scope='module')
def s3():
with mock_s3():
os.environ['AWS_ACCESS_KEY_ID'] = 'test'
os.environ['AWS_SECRET_ACCESS_KEY'] = 'test'
os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'
s3 = boto3.resource('s3')
s3.create_bucket(Bucket='test_bucket')
yield s3
This code was working, but is now throwing an exception Cannot import name mock_s3 from moto. What am I doing wrong?
Simply replace your import of
mock_s3withfrom moto import mock_awsand usewith mock_aws():instead.Moto was recently bumped to version 5.0, and you were probably running 4.x before.
https://github.com/getmoto/moto/blob/master/CHANGELOG.md
If you check the change log, you will see that an important breaking change was made: