mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-10 01:25:34 +00:00
fix real connection on boto3 stub, adding not set parameters manually
Set `assert_hostname` and `cert_reqs` real connection attributes with default values.
This commit is contained in:
@@ -8,10 +8,10 @@ import botocore # NOQA
|
|||||||
import vcr # NOQA
|
import vcr # NOQA
|
||||||
|
|
||||||
ses = boto3.Session(
|
ses = boto3.Session(
|
||||||
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
|
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID', "default"),
|
||||||
aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
|
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY', "default"),
|
||||||
aws_session_token=None,
|
aws_session_token=None,
|
||||||
region_name=os.environ['AWS_DEFAULT_REGION'],
|
region_name=os.environ.get('AWS_DEFAULT_REGION', "default"),
|
||||||
# botocore_session=None,
|
# botocore_session=None,
|
||||||
# profile_name=None
|
# profile_name=None
|
||||||
)
|
)
|
||||||
@@ -87,9 +87,9 @@ def test_boto_medium_difficulty(tmpdir):
|
|||||||
def test_boto_hardcore_mode(tmpdir):
|
def test_boto_hardcore_mode(tmpdir):
|
||||||
with vcr.use_cassette(str(tmpdir.join('boto3-hardcore.yml'))):
|
with vcr.use_cassette(str(tmpdir.join('boto3-hardcore.yml'))):
|
||||||
ses = boto3.Session(
|
ses = boto3.Session(
|
||||||
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
|
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID'),
|
||||||
aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
|
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY'),
|
||||||
region_name=os.environ['AWS_DEFAULT_REGION'],
|
region_name=os.environ.get('AWS_DEFAULT_REGION'),
|
||||||
)
|
)
|
||||||
|
|
||||||
iam_client = ses.client('iam')
|
iam_client = ses.client('iam')
|
||||||
@@ -98,10 +98,10 @@ def test_boto_hardcore_mode(tmpdir):
|
|||||||
|
|
||||||
with vcr.use_cassette(str(tmpdir.join('boto3-hardcore.yml'))) as cass:
|
with vcr.use_cassette(str(tmpdir.join('boto3-hardcore.yml'))) as cass:
|
||||||
ses = boto3.Session(
|
ses = boto3.Session(
|
||||||
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
|
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID'),
|
||||||
aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
|
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY'),
|
||||||
aws_session_token=None,
|
aws_session_token=None,
|
||||||
region_name=os.environ['AWS_DEFAULT_REGION'],
|
region_name=os.environ.get('AWS_DEFAULT_REGION'),
|
||||||
)
|
)
|
||||||
|
|
||||||
iam_client = ses.client('iam')
|
iam_client = ses.client('iam')
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
"""Stubs for boto3"""
|
"""Stubs for boto3"""
|
||||||
|
import six
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# boto using awsrequest
|
# boto using awsrequest
|
||||||
@@ -23,3 +24,21 @@ class VCRRequestsHTTPConnection(VCRHTTPConnection, HTTPConnection):
|
|||||||
|
|
||||||
class VCRRequestsHTTPSConnection(VCRHTTPSConnection, VerifiedHTTPSConnection):
|
class VCRRequestsHTTPSConnection(VCRHTTPSConnection, VerifiedHTTPSConnection):
|
||||||
_baseclass = VerifiedHTTPSConnection
|
_baseclass = VerifiedHTTPSConnection
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
if six.PY3:
|
||||||
|
kwargs.pop('strict', None) # apparently this is gone in py3
|
||||||
|
|
||||||
|
# need to temporarily reset here because the real connection
|
||||||
|
# inherits from the thing that we are mocking out. Take out
|
||||||
|
# the reset if you want to see what I mean :)
|
||||||
|
from vcr.patch import force_reset
|
||||||
|
with force_reset():
|
||||||
|
self.real_connection = self._baseclass(*args, **kwargs)
|
||||||
|
# Make sure to set those attributes as it seems `AWSHTTPConnection` does not
|
||||||
|
# set them, making the connection to fail !
|
||||||
|
self.real_connection.assert_hostname = kwargs.get("assert_hostname", False)
|
||||||
|
self.real_connection.cert_reqs = kwargs.get("cert_reqs", 'CERT_NONE')
|
||||||
|
|
||||||
|
self._sock = None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user